\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n View Report\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {{scope.row.pname}}\r\n
\r\n \r\n {{scope.row.aname}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{column.firstname}}\r\n
\r\n \r\n
\r\n {{column.lastname}}\r\n
\r\n \r\n \r\n
\r\n \r\n {{ isuser(scope.row, column) }}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n\r\n\r\n","import { render } from \"./roverhead.vue?vue&type=template&id=f349befc\"\nimport script from \"./roverhead.vue?vue&type=script&lang=js\"\nexport * from \"./roverhead.vue?vue&type=script&lang=js\"\n\nimport \"./roverhead.vue?vue&type=style&index=0&id=f349befc&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{ item.name }}
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Back\r\n Save\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\" :data=\"a.row.timesheets\" row-key=\"id\">\r\n \r\n \r\n \r\n \r\n \r\n {{ t1.row.u.firstname + \" \" + t1.row.u.lastname\r\n }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{ qt.row.quote == null ? \"-\" : qt.row.quote }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ displayhours(du.row.actualduration) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ \"\" }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ displayhours(du.row.baseduration) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{ getauthname(u.row) }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ dateget(da.row.ph.editedon) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ qt.row.estimatehour == null ? \"-\" : displayestimatehours(qt.row.estimatehour) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ displayhours(sdu.row.actualduration) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ getDifferencehours(du.row.actualduration,du.row.estimatehour,du.row) }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ displayhours(sdu.row.cleaningdurationA) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ displayhours(sdu.row.basedurationA) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ \"-\" }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ \"-\" }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ \"-\" }}\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ n.row.a.header }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ displayestimatehours(n.row.estimatedurationtotalAh ) }}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ displayhours(du.row.actualduration) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ getDifferencehours(du.row.actualduration,du.row.estimatedurationtotalAh,du.row) }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ displayhours(du.row.cleaningdurationAh) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ displayhours(du.row.basedurationAh) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ \"-\" }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ \"-\" }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ \"-\" }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ displayestimatehours(qt.row.estimatedurationtotalPr ) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ displayhours(du.row.actualduration) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ getDifferencehours(du.row.actualduration,du.row.estimatedurationtotalPr,du.row) }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ displayhours(du.row.cleaningdurationPr) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ displayhours(du.row.basedurationPr) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ \"-\" }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ \"-\" }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ \"-\" }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ pro.row.proj.name }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ displayestimatehours(pro.row.estimatedurationtotalP) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ displayhours(du.row.proj.actualduration) }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ getDifferencehours(du.row.proj.actualduration,du.row.estimatedurationtotalP,du.row) }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{ displayhours(du.row.cleaningdurationP) }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{ displayhours(du.row.basedurationP) }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ \"-\" }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ \"-\" }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ \"-\" }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n","import { render } from \"./projecthours.vue?vue&type=template&id=2026e896\"\nimport script from \"./projecthours.vue?vue&type=script&lang=js\"\nexport * from \"./projecthours.vue?vue&type=script&lang=js\"\n\nimport \"./projecthours.vue?vue&type=style&index=0&id=2026e896&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n {{timeformatter(scope.row)}}\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n {{ scope.row.pp.name == null ? \"Single Bill\" : scope.row.pp.name}}\r\n
\r\n \r\n {{ scope.row.a.name }}\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n\r\n","import { render } from \"./userlastentry.vue?vue&type=template&id=260d94ed\"\nimport script from \"./userlastentry.vue?vue&type=script&lang=js\"\nexport * from \"./userlastentry.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n Back\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ scope.row.p.displayname }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n","import { render } from \"./role.vue?vue&type=template&id=7ccbab80\"\nimport script from \"./role.vue?vue&type=script&lang=js\"\nexport * from \"./role.vue?vue&type=script&lang=js\"\n\nimport \"./role.vue?vue&type=style&index=0&id=7ccbab80&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n \r\n Back\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n TTA\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n","import { render } from \"./userpermission.vue?vue&type=template&id=30bd55f7\"\nimport script from \"./userpermission.vue?vue&type=script&lang=js\"\nexport * from \"./userpermission.vue?vue&type=script&lang=js\"\n\nimport \"./userpermission.vue?vue&type=style&index=0&id=30bd55f7&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","
\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n Save\r\n \r\n \r\n \r\n
\r\n\r\n\r\n","import { render } from \"./changepassword.vue?vue&type=template&id=60878ac4\"\nimport script from \"./changepassword.vue?vue&type=script&lang=js\"\nexport * from \"./changepassword.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n 0\">\r\n {{ scope.row.o.rate.toFixed(2) }}\r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n 0\">\r\n {{ scope.row.o.overhead.toFixed(2) }}\r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","import { render } from \"./operativecost.vue?vue&type=template&id=5a88e29e\"\nimport script from \"./operativecost.vue?vue&type=script&lang=js\"\nexport * from \"./operativecost.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{ scope.row.pname }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ getdata(scope.row, column) }}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n","import { render } from \"./projectsummary.vue?vue&type=template&id=626450fb\"\nimport script from \"./projectsummary.vue?vue&type=script&lang=js\"\nexport * from \"./projectsummary.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n View Report\r\n \r\n \r\n \r\n \r\n Export\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {{scope.row.pname}}\r\n
\r\n \r\n {{scope.row.aname}}\r\n
\r\n \r\n \r\n \r\n \r\n {{'Total'}}\r\n \r\n
\r\n {{getalltotal}}\r\n
\r\n \r\n
\r\n {{gatotalrow(scope.row)}} \r\n \r\n \r\n
\r\n \r\n \r\n {{column.firstname}}\r\n
\r\n \r\n
\r\n {{column.lastname}}\r\n
\r\n \r\n
\r\n \r\n {{gettotalcell(column)}}\r\n \r\n \r\n {{ isuser(scope.row, column) }}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n\r\n\r\n","import { render } from \"./overheadsummary.vue?vue&type=template&id=5adde83c\"\nimport script from \"./overheadsummary.vue?vue&type=script&lang=js\"\nexport * from \"./overheadsummary.vue?vue&type=script&lang=js\"\n\nimport \"./overheadsummary.vue?vue&type=style&index=0&id=5adde83c&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {{scope.row.u.firstname}}{{\" \"}}{{scope.row.u.lastname}}\r\n \r\n \r\n \r\n \r\n {{getcalculation(scope.row.pd.calculationon,'code')}} \r\n \r\n \r\n \r\n \r\n \r\n {{\"Hours\"}}\r\n
\r\n \r\n
\r\n
\r\n {{\"Logged\"}}\r\n
\r\n \r\n
\r\n {{gettduration(scope.row.t.duration)}}\r\n \r\n \r\n
\r\n \r\n \r\n {{\"Signed\"}}\r\n
\r\n \r\n
\r\n {{\"Off By\"}}\r\n
\r\n \r\n
\r\n {{\"-\"}}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {{scope.row.crate.code}}\r\n \r\n \r\n \r\n \r\n {{scope.row.o.rate == 0 ? '' : scope.row.o.rate.toFixed(2)}}\r\n \r\n \r\n \r\n \r\n {{gettotalcost(scope.row)}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {{scope.row.provider.name}}\r\n \r\n \r\n \r\n \r\n {{scope.row.cpayment.code}}\r\n \r\n \r\n \r\n \r\n \r\n {{getpaymentrate(scope.row) }}\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{totalpaymentrate(scope.row)}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{\"GBP Cost\"}}\r\n
\r\n \r\n
\r\n {{\"(Inc Fees)\"}}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{\"Paid\"}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {{editdetail.u.firstname}} {{editdetail.u.lastname}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{editdetail.crate.code}}\r\n
\r\n \r\n \r\n \r\n \r\n {{editdetail.o.rate}}\r\n
\r\n \r\n \r\n \r\n {{ getdateformat(editdetail.o.rateon) }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.name }}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Save\r\n Cancel\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n","import { render } from \"./internationalpayments.vue?vue&type=template&id=66ae305c&scoped=true\"\nimport script from \"./internationalpayments.vue?vue&type=script&lang=js\"\nexport * from \"./internationalpayments.vue?vue&type=script&lang=js\"\n\nimport \"./internationalpayments.vue?vue&type=style&index=0&id=66ae305c&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-66ae305c\"]])\n\nexport default __exports__","\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n {{scope.row.p.name}}
\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","import { render } from \"./salesquotation.vue?vue&type=template&id=6ae4d391\"\nimport script from \"./salesquotation.vue?vue&type=script&lang=js\"\nexport * from \"./salesquotation.vue?vue&type=script&lang=js\"\n\nimport \"./salesquotation.vue?vue&type=style&index=0&id=6ae4d391&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n {{scope.row.p.name}}
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n","import { render } from \"./salesinvoice.vue?vue&type=template&id=f584b6ec\"\nimport script from \"./salesinvoice.vue?vue&type=script&lang=js\"\nexport * from \"./salesinvoice.vue?vue&type=script&lang=js\"\n\nimport \"./salesinvoice.vue?vue&type=style&index=0&id=f584b6ec&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n \r\n
\r\n \r\n\r\n \r\n Update\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n {{ scope.row.updatequery }}
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n {{getCheckMethod(scope.row)}}\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n 0\"\r\n @click=\"deleteRow(scope.row)\">\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n Recycle\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n","import { render } from \"./updatedatabasestructure.vue?vue&type=template&id=06b954b4\"\nimport script from \"./updatedatabasestructure.vue?vue&type=script&lang=js\"\nexport * from \"./updatedatabasestructure.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n {{ scope.row.l.message }}\r\n
\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n {{ scope.row.l.callsite }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ scope.row.l.stacktrace }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n","import { render } from \"./errorlog.vue?vue&type=template&id=27a144cf\"\nimport script from \"./errorlog.vue?vue&type=script&lang=js\"\nexport * from \"./errorlog.vue?vue&type=script&lang=js\"\n\nimport \"./errorlog.vue?vue&type=style&index=0&id=27a144cf&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n {{ scope.row.o.firstname }} {{ scope.row.o.lastname }}\r\n
\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n 0\">\r\n {{ scope.row.osi.subtotal.toFixed(2) }}\r\n
\r\n \r\n \r\n\r\n \r\n \r\n 0\">\r\n {{ scope.row.osi.expensecost.toFixed(2) }}\r\n
\r\n \r\n \r\n\r\n \r\n \r\n 0\">\r\n {{ scope.row.osi.grosstotal.toFixed(2) }}\r\n
\r\n \r\n \r\n\r\n \r\n \r\n 0\">\r\n {{ scope.row.osi.deduction.toFixed(2) }}\r\n
\r\n \r\n \r\n\r\n \r\n \r\n 0\">\r\n {{ scope.row.osi.netinvoice.toFixed(2) }}\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ c.row.creator.firstname }} {{ c.row.creator.lastname }}\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Edit Template\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n Back\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n {{ item.fullname }}
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n FAO.{{detailform.cd.name }}\r\n \r\n \r\n\r\n \r\n \r\n {{ detailform.cd.addressline1 }},\r\n {{ detailform.cd.addressline2 }},\r\n {{ detailform.cd.addressline3 }},\r\n {{ detailform.cd.addressline4 }}\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n From:{{ selecteduser.fullname }}\r\n \r\n {{ detailform.osi.addressline1 }}\r\n {{ detailform.osi.addressline2 }}\r\n {{ detailform.osi.addressline3 }}\r\n {{ detailform.osi.addressline4 }}\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n Invoice Number:\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n Period:{{ display.start }} till {{ display.end }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Invoice Date:{{ display.invoicedate }}\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n {{ scope.row.p.name }}\r\n 0\"> - {{ scope.row.pp.name }}\r\n - Single Bill\r\n
\r\n \r\n {{ scope.row.p.name }} - {{ scope.row.a.name }}\r\n
\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n 0\">\r\n {{ scope.row.op.rate.toFixed(2) }}\r\n
\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n 0\">\r\n {{ scope.row.i.total.toFixed(2) }}\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n {{ detailform.osi.subtotalstr }}
\r\n\r\n \r\n \r\n
\r\n\r\n \r\n {{ detailform.osi.grosstotalstr }}\r\n
\r\n\r\n \r\n \r\n
\r\n\r\n \r\n \r\n {{ detailform.osi.netinvoicestr }}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n Payment Date: 0\">{{ detailform.pd.createdon }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Transaction Reference:{{ detailform.pd.transactionreference }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Payment:{{ detailform.pd.GBPcost }}\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Signoff by:\r\n 0 && detailform.osi.issignoff == true && detailform.osi.signoff.id > 0\">\r\n {{ detailform.osi.signoff.firstname }} {{ lastsignoff }}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n 0\">\r\n \r\n \r\n \r\n 0\">\r\n Reload\r\n \r\n\r\n \r\n \r\n Invoice PDF\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n","import { render } from \"./outsourceinvoice.vue?vue&type=template&id=f2ca5900\"\nimport script from \"./outsourceinvoice.vue?vue&type=script&lang=js\"\nexport * from \"./outsourceinvoice.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Add Year\r\n Save\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n
{{\"Year\"}}
\r\n
{{\"Projected Inflation\"}}
\r\n
{{\"Name\"}}
\r\n
\r\n \r\n\r\n \r\n {{ scope.row.user.firstname + \" \" + scope.row.user.lastname }}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{\"Rate\"}}
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n","import { render } from \"./feerates.vue?vue&type=template&id=77f86248\"\nimport script from \"./feerates.vue?vue&type=script&lang=js\"\nexport * from \"./feerates.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {{ item.displayname.split('>')[0] }}
\r\n \r\n\r\n \r\n \r\n {{ item.name }}
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n N\r\n \r\n \r\n \r\n \r\n \r\n R\r\n \r\n \r\n \r\n \r\n \r\n R+E\r\n \r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n
\r\n\r\n\r\n","import { render } from \"./newrole.vue?vue&type=template&id=2045c267\"\nimport script from \"./newrole.vue?vue&type=script&lang=js\"\nexport * from \"./newrole.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n","import { render } from \"./pages.vue?vue&type=template&id=287bc72a\"\nimport script from \"./pages.vue?vue&type=script&lang=js\"\nexport * from \"./pages.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n","import { render } from \"./accesssignoff.vue?vue&type=template&id=4463847b\"\nimport script from \"./accesssignoff.vue?vue&type=script&lang=js\"\nexport * from \"./accesssignoff.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n 0\">Set Boxes Position\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Save\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n Back\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n Info Button's:\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n { return addAttachment(event, gditem, index); }\"\r\n :on-change=\"() => { return editedchanged(gditem); }\"\r\n accept=\".png,.jpg,.jpeg,.gif,.mp4,.mp3\">\r\n \r\n Drop file here or click to upload
\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {{ f.originalname }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n \r\n {{ svi.name }}\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n New Feature No. \r\n Training No. \r\n Information button \r\n Delete\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n External Link\r\n \r\n \r\n Download\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","\r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n","import { render } from \"./Editor.vue?vue&type=template&id=ed271928\"\nimport script from \"./Editor.vue?vue&type=script&lang=js\"\nexport * from \"./Editor.vue?vue&type=script&lang=js\"\n\nimport \"./Editor.vue?vue&type=style&index=0&id=ed271928&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./trainingpopup.vue?vue&type=template&id=2ae4bc5a&scoped=true\"\nimport script from \"./trainingpopup.vue?vue&type=script&lang=js\"\nexport * from \"./trainingpopup.vue?vue&type=script&lang=js\"\n\nimport \"./trainingpopup.vue?vue&type=style&index=0&id=2ae4bc5a&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2ae4bc5a\"]])\n\nexport default __exports__","\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n Save\r\n Back\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n {{ dateformat(scope.row.date) }}\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n Version:\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n TT Update Date:\r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n Notes:\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","import { render } from \"./updateversions.vue?vue&type=template&id=11efb672\"\nimport script from \"./updateversions.vue?vue&type=script&lang=js\"\nexport * from \"./updateversions.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n Cancel\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.displayname }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ item.name }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ item.firstname }} {{ item.lastname }}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Percentage\r\n Hours\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Show Live Hours\r\n \r\n \r\n
\r\n
\r\n Actual Hours : {{\r\n totalhours.actualhours }}\r\n \r\n
\r\n
\r\n Estimated Hours : {{\r\n totalhours.estimatedhours }}\r\n \r\n
\r\n
\r\n Percentage : {{ getPercentage }}\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n { return addAttachment(event); }\"\r\n accept=\".png,.jpg,.jpeg,.gif,.mp4,.mp3\">\r\n \r\n Drop file here or click to upload
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{\r\n form.file.originalname }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {{ form.mediacontent.name }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n","\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n External Link\r\n \r\n \r\n Download\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n","import { render } from \"./showmedia.vue?vue&type=template&id=4bc19b36\"\nimport script from \"./showmedia.vue?vue&type=script&lang=js\"\nexport * from \"./showmedia.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./directionlibrary.vue?vue&type=template&id=477a846e\"\nimport script from \"./directionlibrary.vue?vue&type=script&lang=js\"\nexport * from \"./directionlibrary.vue?vue&type=script&lang=js\"\n\nimport \"./directionlibrary.vue?vue&type=style&index=0&id=477a846e&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createWebHistory, createRouter } from \"vue-router\";\r\nimport axios from \"axios\";\r\nimport store from \"../store/store\";\r\nimport { eventbus } from \"../eventbus\";\r\n\r\nimport HomePage from \"@/components/Home.vue\";\r\nimport login from \"@/components/login.vue\";\r\nimport logout from \"@/components/logout.vue\";\r\nimport projectedit from \"@/components/projectedit.vue\";\r\nimport project from \"@/components/project.vue\";\r\nimport overhead from \"@/components/project.vue\";\r\nimport action from \"@/components/action.vue\";\r\nimport actionedit from \"@/components/actionedit.vue\";\r\nimport subactionedit from \"@/components/subactionedit.vue\";\r\nimport timesheet from \"@/components/timesheet.vue\";\r\nimport reports from \"@/components/reports.vue\";\r\nimport rmanage from \"@/components/rmanage.vue\";\r\nimport roverhead from \"@/components/roverhead.vue\";\r\nimport projecthours from \"@/components/projecthours.vue\";\r\nimport userlastentry from \"@/components/userlastentry.vue\";\r\nimport role from \"@/components/role.vue\";\r\nimport userpermission from \"@/components/userpermission.vue\"\r\nimport changepassword from \"@/components/changepassword.vue\"\r\nimport operativecost from \"@/components/operativecost.vue\";\r\nimport projectsummary from \"@/components/projectsummary.vue\";\r\nimport overheadsummary from \"@/components/overheadsummary.vue\"\r\nimport personalsummary from \"@/components/overheadsummary.vue\"\r\nimport internationalpayments from \"@/components/internationalpayments.vue\"\r\nimport salesquotation from \"@/components/salesquotation.vue\";\r\nimport salesinvoice from \"@/components/salesinvoice.vue\";\r\n// import { toDisplayString } from \"@vue/shared\";\r\nimport updatedatabasestructure from \"@/components/updatedatabasestructure\";\r\nimport errorlog from \"@/components/errorlog\";\r\nimport outsourceinvoice from \"@/components/outsourceinvoice\";\r\nimport feerates from \"@/components/feerates.vue\";\r\nimport newrole from \"@/components/newrole.vue\";\r\nimport pages from \"@/components/pages.vue\";\r\nimport accesssignoff from \"@/components/accesssignoff.vue\";\r\nimport trainingpopup from \"@/components/trainingpopup.vue\";\r\nimport updateversions from \"@/components/updateversions.vue\";\r\nimport directionlibrary from \"@/components/directionlibrary.vue\";\r\n\r\nconst routes = [\r\n { index:1, path: \"/\", component: HomePage, name: \"home\", },\r\n { index: 2, path: \"/timesheet\", component: timesheet,name:\"TimeEntry\"},\r\n\r\n { index: 3, path: \"/project\", component: project,name:\"Project\" },\r\n { index: 4, path: \"/projectedit\", component: projectedit,name:\"Project Edit\" },\r\n\r\n { index: 5, path: \"/projectaction\", component: action, name:\"Project Actions\"},\r\n { index: 6, path: \"/projectactionedit\", component: actionedit,name:\"Project Action Edit\" },\r\n { index: 7, path: \"/projectsubactionedit\", component: subactionedit ,name:\"ProjectSubActionEdit\"},\r\n\r\n { index: 8, path: \"/overhead\", component: overhead,name:\"Overhead\"},\r\n { index: 9, path: \"/overheadedit\", component: projectedit,name:\"Overhead Edit\"},\r\n\r\n { index: 10, path: \"/overheadaction\", component: action,name:\"Overhead Actions\"},\r\n { index: 11, path: \"/overheadactionedit\", component: actionedit,name:\"Overhead Action Edit\"},\r\n { index: 12, path: \"/overheadsubactionedit\", component: subactionedit,name:\"Overhead SubAction Edit\"},\r\n\r\n { index: 13, path: \"/reports\", component: reports, name:\"Individual Search\"},\r\n { index: 14, path: \"/rmanage\", component: rmanage,name:\"Multiple Searches\"},\r\n { index: 15, path: \"/roverhead\", component: roverhead,name:\"Overheads - Full\"},\r\n { index: 16, path: \"/projecthours\", component: projecthours,name:\"Project Hours\"},\r\n\r\n { index: 17, path: \"/userlastentry\", component: userlastentry,name:\"User Last Entry\"},\r\n\r\n \r\n { index: 18, path: \"/logout\", component: logout,name:\"logout\" },\r\n { index: 19, path: \"/login\", component: login ,name:\"login\"},\r\n { index: 20, path: \"/role\", component: role ,name:\"Role\"},\r\n { index: 21, path: \"/userpermission\", component: userpermission ,name:\"Access Permissions\"},\r\n { index: 22, path: \"/changepassword\", component: changepassword ,name:\"changepassword\"},\r\n { index: 23, path: \"/updatedatabasestructure\", component: updatedatabasestructure ,name:\"updatedatabasestructure\"},\r\n { index: 24, path: \"/errorlog\", component: errorlog ,name:\"errorlog\"},\r\n { index: 25, path: \"/operativecost\", component: operativecost ,name:\"Operative Cost\"},\r\n { index: 26, path: \"/projectsummary\", component: projectsummary, name:\"Project Summary\"},\r\n { index: 27, path: \"/overheadsummary\", component: overheadsummary ,name:\"Overheads - TSA\"},\r\n { index: 27, path: \"/personalsummary\", component: personalsummary ,name:\"Personal Summary\"},\r\n { index: 28, path: \"/internationalpayments\", component: internationalpayments ,name:\"International Payments\"}, \r\n { index: 29, path: \"/salesquotation\", component: salesquotation, name:\"Sales - Quotation Form\"},\r\n { index: 30, path: \"/salesinvoice\", component: salesinvoice, name:\"Sales - Invoicing Form\"},\r\n { index: 31, path: \"/outsourceinvoice\", component: outsourceinvoice, name:\"Outsource Invoice\"},\r\n { index: 32, path: \"/feerates\", component: feerates, name:\"Fee Table\"},\r\n { index: 33, path: \"/newrole\", component: newrole, name:\"New Role\"},\r\n { index: 34, path: \"/pages\", component: pages, name:\"Pages\"},\r\n { index: 35, path: \"/accesssignoff\", component: accesssignoff, name:\"Access - Sign Off\"},\r\n { index: 36, path: \"/trainingpopup\", component: trainingpopup, name:\"Training Popup\"},\r\n { index: 37, path: '/updateversions', component: updateversions, name: 'Time Tracking Versions' },\r\n { index: 38, path: '/directionlibrary', component: directionlibrary, name: 'Direction Library' },\r\n];\r\n\r\n\r\nconst router = createRouter({\r\n history: createWebHistory(),\r\n routes,\r\n});\r\n\r\n\r\n// function requireAuth(to, from, next) {\r\n// const { $cookies } = router.app.config.globalProperties;\r\n// next();\r\n// }\r\n// router.beforeEach = requireAuth;\r\n\r\nrouter.beforeEach((to, from, next) =>{\r\n store.state.currentdirection = {};\r\n const accessrouter = (rout) => {\r\n if (rout.name == \"home\" || rout.name == \"login\" || rout.name == \"logout\" || rout.name == \"changepassword\" || rout.name == \"TimeEntry\") {\r\n return true;\r\n }\r\n return false;\r\n }\r\n if(to.name == undefined){\r\n to.name = to.fullPath\r\n }\r\n var token = localStorage.getItem(\"token\");\r\n \r\n if (token != null) {\r\n axios.defaults.headers.common[\"Authorization\"] = \"Bearer \" + token;\r\n if (store.state.user.id == undefined) {\r\n axios.post(\"account/getuserdetails\")\r\n .then(response => {\r\n \r\n store.state.user = response.data;\r\n var user = store.state.user;\r\n eventbus.$emit(\"setuser\", user);\r\n axios.defaults.headers.common[\"Authorization\"] = response.headers.authorization;\r\n\r\n var role = user.userrole.rolepermissionpages.find(x => x.p.name === to.name && x.rp.permission != 0); \r\n let setusergotit = { currentpage: role, currentroute: to, pagecellname: null };\r\n eventbus.$emit(\"userguidegotit\", setusergotit);\r\n eventbus.$emit(\"connectWebSocket\"); \r\n if (accessrouter(to)) {\r\n store.state.role = { p: {}, rp: { permission:2 }};\r\n return next();\r\n }\r\n store.state.role = null;\r\n if (user.superadmin == true) {\r\n store.state.role = { p: {}, rp: { permission:2 }};\r\n return next();\r\n }\r\n if (role) {\r\n store.state.role = role;\r\n if (role.p.status > 0) {\r\n eventbus.$emit(\"pagestatus\", role);\r\n }\r\n return next();\r\n }\r\n else {\r\n return router.push({name: 'home',path:'/'});\r\n }\r\n })\r\n .catch(() => {\r\n eventbus.$emit(\"logout\", null);\r\n });\r\n }\r\n else {\r\n var user = store.state.user;\r\n var rout = user.userrole.rolepermissionpages.find(x => x.p.name === to.name && x.rp.permission != 0);\r\n let setusergotit = { currentpage: rout, currentroute: to, pagecellname: null };\r\n eventbus.$emit(\"userguidegotit\", setusergotit);\r\n \r\n if (accessrouter(to)) {\r\n store.state.role = { p: {}, rp: { permission:2 }};\r\n return next();\r\n }\r\n store.state.role = null;\r\n if (user.superadmin == true) {\r\n store.state.role = { p: {}, rp: { permission:2 }};\r\n return next();\r\n }\r\n eventbus.$emit(\"connectWebSocket\");\r\n if (rout) {\r\n store.state.role = rout;\r\n if (rout.p.status > 0) {\r\n eventbus.$emit(\"pagestatus\", rout);\r\n }\r\n return next();\r\n }\r\n else {\r\n return router.push({name: 'home',path:'/'});\r\n }\r\n \r\n }\r\n }\r\n else {\r\n if (to.path !== \"/login\") {\r\n next(\"/login\");\r\n }\r\n else {\r\n next();\r\n }\r\n }\r\n});\r\n\r\nexport default router;","// import globalMixin from '../mixins';\r\n\r\nclass direction {\r\n options= {\r\n body: \"this is a test Notifiaction\",\r\n icon: \"images/icons/icon-144x144.png\",\r\n vibrate: [100, 50, 100],\r\n showNotification:true,\r\n data: {\r\n dateOfArrival: Date.now()\r\n },\r\n actions: [\r\n {\r\n action: \"/timesheet\", title: \"Update Now\",\r\n icon: \"images/icons/schedule.png\"\r\n },\r\n {\r\n action: \"close\", title: \"Ignore\",\r\n icon: \"images/icons/circle.png\"\r\n },\r\n ]\r\n }\r\n connectWebSocket() {\r\n if(this.socket == null){\r\n // Replace with your WebSocket server URL\r\n const socketURL = `wss://${location.hostname}/ws?userid=${this.component.$store.state.user.id}`;\r\n this.socket = new WebSocket(socketURL);\r\n\r\n this.socket.onopen = () => {\r\n // console.log(event);\r\n // this.messages.push(\"Connected to WebSocket server\");\r\n };\r\n\r\n this.socket.onmessage = (event) => {\r\n // this.messages.push(JSON.parse(event.data));\r\n // console.log(this.component.$store.state.user);\r\n var dd = JSON.parse(event.data);\r\n dd.forEach(e => {\r\n if(e.userids != undefined){\r\n debugger\r\n var isfind = e.userids.indexOf(this.component.$store.state.user.id);\r\n if(isfind != -1){\r\n this.showNotification(e,\"direction\");\r\n }\r\n }\r\n });\r\n };\r\n\r\n this.socket.onclose = (event) => {\r\n console.log(event);\r\n if(this.messages){\r\n this.messages.push(\"Connection closed\");\r\n }\r\n };\r\n }\r\n }\r\n getnotificationpermission(){\r\n \r\n if (Notification.permission === \"granted\") {\r\n // this.showNotification();\r\n return true;\r\n } else if (Notification.permission !== \"granted\") {\r\n Notification.requestPermission().then(permission => {\r\n if (permission === \"granted\") {\r\n // this.showNotification();\r\n // callback();\r\n return true;\r\n }\r\n });\r\n }\r\n }\r\n getdirectionspopupbyid(data){\r\n this.component.axios.post(\"Direction/getdirectionspopupbyid\",{id:data.directionid})\r\n .then((response) => {\r\n // console.log(response);\r\n const form = response.data;\r\n var option = {\r\n uniqueid:form.id,\r\n isedit:true,\r\n visible: true,\r\n boxtype:\"Small 2 Part Pop up\",\r\n content:form.message,\r\n mediacontent:{\r\n name: form.mediacontent == null || form.mediacontent.name == null ? \"\" : form.mediacontent.name,\r\n link: form.mediacontent == null || form.mediacontent.link == null ? \"\" : form.mediacontent.link,\r\n },\r\n offercloseoption:\"error\",\r\n link:form.link,\r\n heading:form.directionname,\r\n directiondegree:\"\",\r\n }\r\n option.position = {};\r\n // this.component.$store.state.directionsdialogue = [];\r\n // this.component.$store.state.directionsdialogue = [option];\r\n // this.component.$store.state.currentdirectionindex = 0;\r\n this.component.$store.state.currentdirection = option;\r\n \r\n })\r\n .catch((err) => {\r\n this.apierror(err);\r\n });\r\n }\r\n setBadge(count) {\r\n if (navigator.setAppBadge) {\r\n navigator.setAppBadge(count);\r\n } else if (navigator.setExperimentalAppBadge) {\r\n navigator.setExperimentalAppBadge(count);\r\n } else if (window.ExperimentalBadge) {\r\n window.ExperimentalBadge.set(count);\r\n }\r\n }\r\n clearBadge() {\r\n if (navigator.clearAppBadge) {\r\n navigator.clearAppBadge();\r\n } else if (navigator.clearExperimentalAppBadge) {\r\n navigator.clearExperimentalAppBadge();\r\n } else if (window.ExperimentalBadge) {\r\n window.ExperimentalBadge.clear();\r\n }\r\n }\r\n pushManager(data,newoption){\r\n newoption.body = data.directionname;\r\n debugger\r\n // var newoption = {};\r\n // if(options == undefined){\r\n // newoption = this.options;\r\n // }else{\r\n // newoption = options;\r\n // }\r\n if(this.serviceWorker == undefined){\r\n navigator.serviceWorker.register(\"/sw.js\")\r\n .then((reg) => {\r\n debugger\r\n this.serviceWorker = reg;\r\n // this.onnotificationclick();\r\n reg.showNotification(\"TSA Time Tracking\", newoption).then(()=>{\r\n // reg.onnotificationclose = (event) => {\r\n // debugger\r\n // console.log(\"On notification close: \", event.notification.tag);\r\n // }; \r\n reg.getNotifications(newoption).then(notifications => {\r\n // do something with your notifications\r\n debugger\r\n if(notifications){\r\n var newcount = notifications.length <= 0 ? 1 : notifications.length \r\n navigator.setAppBadge(newcount);\r\n }\r\n // this.setBadge(notifications.length);\r\n });\r\n })\r\n \r\n // navigator.setAppBadge(this.component.$store.state.messagecount);\r\n // this.component.$store.state.messagecount ++;\r\n // this.setBadge(this.component.$store.state.messagecount);\r\n });\r\n }else{\r\n this.serviceWorker.showNotification(\"TSA Time Tracking\", newoption).then(()=>{\r\n this.serviceWorker.getNotifications(newoption).then(notifications => {\r\n // do something with your notifications\r\n debugger\r\n if(notifications){\r\n var newcount = notifications.length <= 0 ? 1 : notifications.length \r\n navigator.setAppBadge(newcount);\r\n }\r\n // this.setBadge(notifications.length);\r\n });\r\n });\r\n // this.serviceWorker.onnotificationclose = (event) => {\r\n // debugger\r\n // console.log(\"On notification close: \", event.notification.tag);\r\n // }; \r\n \r\n }\r\n }\r\n showNotificationuinsgjs(data){\r\n debugger\r\n if(this.getnotificationpermission() == true){\r\n const notification = new Notification(\"TSA Time Tracking\", {\r\n body: data.directionname,\r\n dir:'rtl',\r\n icon:'logo.png',\r\n });\r\n notification.addEventListener(\"close\", (event) => {\r\n debugger\r\n console.log(event);\r\n });\r\n notification.onclose = ((data)=>{\r\n debugger\r\n console.log(data);\r\n console.log(\"onclose\");\r\n })\r\n notification.onshow = (data) => {\r\n debugger\r\n console.log(data);\r\n console.log(\"onshow\");\r\n };\r\n notification.onerror = (data) => {\r\n debugger\r\n console.log(data);\r\n console.log(\"onerror\");\r\n };\r\n notification.onclick = (ds) => {\r\n console.log(ds);\r\n console.log(\"onclick\");\r\n // parent.focus();\r\n // this.FormData.message = this.metadata.content;\r\n if(data.directionid != undefined){\r\n this.getdirectionspopupbyid(data);\r\n this.component.$router.push({ name: data.pagename});\r\n }\r\n // var option = {\r\n // uniqueid:1,\r\n // isedit:true,\r\n // visible: true,\r\n // boxtype:\"Small 2 Part Pop up\",\r\n // content:\"sdfdsfsdf\",\r\n // mediacontent:{\r\n // name: \"\",\r\n // link: \"\"\r\n // },\r\n // offercloseoption:\"error\",\r\n // link:\"\",\r\n // heading:\"Test dirction\",\r\n // directiondegree:\"\",\r\n // }\r\n // option.position = {};\r\n // this.component.$store.state.directionsdialogue = [];\r\n // this.component.$store.state.directionsdialogue = [option];\r\n // this.component.$store.state.currentdirectionindex = 0;\r\n // this.component.$store.state.currentdirection = option;\r\n // this.component.$router.push({ name: data.pagename});\r\n };\r\n }\r\n } \r\n showNotification(data,type) {\r\n debugger\r\n var newoption = {};\r\n // this.options.body = data.directionname;\r\n if(type == \"direction\"){\r\n newoption = JSON.parse(JSON.stringify(this.options));\r\n newoption.actions[0].title = \"Show Direction\"\r\n newoption.actions[0].action = data.path == undefined ? \"/timesheet\" : data.path \r\n }else{\r\n newoption = this.options;\r\n }\r\n // this.showNotificationuinsgjs(data);\r\n this.pushManager(data,newoption);\r\n }\r\n setcomponent(prop) {\r\n this.component = prop;\r\n // console.log(this);\r\n }\r\n // constructor() {\r\n // }\r\n}\r\nexport default direction;","class commonutils {\r\n disableFutureDates(time) {\r\n return time.getTime() > Date.now();\r\n }\r\n \r\n\r\n /* Sorts an array of strings, an array of integers, or an array of objects (based on a specified property)\r\n in ascending or descending order. */\r\n sortArray(arr, prop, ascending = true) {\r\n const self = this;\r\n arr.sort(function (a, b) {\r\n const propValueA = prop ? self.getProperty(a, prop) : a;\r\n const propValueB = prop ? self.getProperty(b, prop) : b;\r\n \r\n let comparison = 0;\r\n \r\n if (propValueA > propValueB) {\r\n comparison = 1;\r\n } else if (propValueA < propValueB) {\r\n comparison = -1;\r\n }\r\n \r\n return ascending ? comparison : -comparison;\r\n });\r\n return arr;\r\n }\r\n\r\n async savepagelayout(row) {\r\n debugger\r\n try {\r\n const response = await this.component.axios.post(\"account/savepagelayout\", row.ugv);\r\n this.component.$store.state.user.usergridviews = response.data;\r\n let ret = response.data.find(x => x.p.name === row.p.name);\r\n return ret;\r\n\r\n } catch (error) {\r\n this.component.eventbus.$emit(\"error\", error);\r\n }\r\n }\r\n \r\n getProperty(obj, prop) {\r\n if (typeof prop === 'string') {\r\n const props = prop.split('.');\r\n let value = obj;\r\n \r\n for (const nestedProp of props) {\r\n value = value ? value[nestedProp] : undefined;\r\n \r\n if (value === undefined || value === null) {\r\n value = '';\r\n break;\r\n }\r\n }\r\n \r\n return value;\r\n } \r\n else {\r\n return '';\r\n }\r\n }\r\n\r\n getusergridrow(currentpage) {\r\n debugger\r\n let ret = this.component.$store.state.user.usergridviews.find(x => x.p.name === currentpage.name);\r\n if (ret.ugv.rowperpage <= 0) {\r\n ret.ugv.rowperpage = 20; //Default pages 20\r\n }\r\n return ret;\r\n }\r\n\r\n setcomponent(prop) {\r\n debugger\r\n this.component = prop;\r\n }\r\n }\r\n \r\n export default commonutils;","import { createApp } from 'vue';\r\nimport { eventbus } from './eventbus';\r\nimport ElementPlus from 'element-plus';\r\nimport ElementTiptapPlugin from 'element-tiptap-vue3-fixed';\r\nimport 'element-tiptap-vue3-fixed/lib/style.css';\r\nimport 'element-plus/dist/index.css'\r\nimport 'element-plus/theme-chalk/index.css'\r\nimport * as ElementPlusIconsVue from '@element-plus/icons-vue'\r\n// import locale from 'element-plus/lib/locale/lang/en'\r\nimport axios from 'axios';\r\nimport VueAxios from 'vue-axios';\r\nimport mixin from '../src/mixins';\r\nimport App from './App.vue';\r\nimport router from './router/routers';\r\nimport './css/site.css';\r\nimport store from \"./store/store\";\r\nimport Vuex from 'vuex';\r\nimport \"./css/site.css\";\r\nimport '@neos21/bootstrap3-glyphicons/dist/css/bootstrap3-glyphicons.min.css';\r\nimport direction from \"./classes/direction\"\r\nimport commonutils from \"./classes/commonutils\"\r\n\r\nconst app = createApp(App)\r\nfor (const [key, component] of Object.entries(ElementPlusIconsVue)) {\r\n app.component(key, component)\r\n}\r\napp.config.globalProperties.$direction = new direction(this);\r\napp.config.globalProperties.$commonutils = new commonutils();\r\n// createApp(App)\r\napp.use(router)\r\n.use(ElementPlus ,{ size: 'small', zIndex: 3000 })\r\n.use(ElementTiptapPlugin)\r\n.use(VueAxios, axios)\r\n.use(eventbus)\r\n.use(store)\r\n.use(Vuex)\r\n.mixin(mixin)\r\n.mount('#app')\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"120\":\"c0ce440c\",\"188\":\"d36f641f\",\"856\":\"3ae2710e\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = function(module) {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: function() {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"ClientApp:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkClientApp\"] = self[\"webpackChunkClientApp\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(1721); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","emitter","mitt","$on","on","$emit","emit","eventbus","data","loadingobj","loadingvisible","computed","editpermission","this","$store","state","role","rp","permission","methods","post","url","parm","axios","then","response","catch","err","apierror","get","getPages","$http","pages","searchuser","query","done","user","JSON","parse","getcurrency","currencies","getproviderandcurrency","providers","currencys","searchproject","projects","getprojectbytypeid","getdirectionbyuserid","userid","forEach","undefined","userids","isfind","indexOf","$router","options","routes","urentrouter","find","x","name","pagename","path","$route","$direction","getdirectionspopupbyid","showNotification","error","json","$message","showClose","message","type","style","$alert","dangerouslyUseHTMLString","alerterror","showloading","setTimeout","$loading","lock","text","background","hideloading","close","tsupdatereminder","time","Date","toLocaleString","timeZone","split","hms","h","parseInt","m","isnotificationtime","currentuser","hour","view","filter","value","defaultfilter","istimetrackeradmin","directionname","count","Notification","requestPermission","length","alert","push","users","griddata","dialogTableVisible","notifyme","notification","icon","body","onclick","window","open","measureTextWidth","str","fontSize","widths","avg","c","charCodeAt","reduce","cur","acc","buildFormData","formData","parentKey","File","append","key","jsonToFormData","FormData","class","_createElementVNode","_createElementBlock","_hoisted_1","_hoisted_2","_hoisted_3","_createVNode","_component_nav_menu","_hoisted_4","_createBlock","_component_router_view","_ctx","index","currentdirection","_component_directionsdialogue","myoption","_component_el_dialog","$data","installDialogVisible","$event","title","width","footer","_withCtx","_hoisted_6","_component_el_button","onClick","_cache","$options","install","_hoisted_5","_component_el_row","_component_el_col","span","_component_el_menu","mode","_component_el_menu_item","_component_router_link","to","canread","_component_el_sub_menu","_component_el_tooltip","content","placement","args","getGuidancedata","modalAppendToBody","_component_el_table","border","_component_el_table_column","property","label","_component_customgraphicdialogue","guidancedialogue","validuser","controls","_Transition","$props","visible","ref","draggable","isdraggble","onMouseover","_Fragment","_renderList","guidancedatalist","gditem","currentindex","isedited","_toDisplayString","popupname","_normalizeStyle","directiondegree","size","circle","innerHTML","content2","mediacontents","svi","substring","lastIndexOf","toLowerCase","_hoisted_7","_component_el_image","link","src","openImage","_component_el_icon","_component_FullScreen","_hoisted_9","_hoisted_10","_hoisted_12","changepage","_normalizeClass","hasPreviousContent","disabled","_hoisted_13","_component_el_select","positiontype","onChange","changePositionType","placeholder","boxpositions","item","_component_el_option","_component_el_input","positionX","positionY","saveGuidanceBoxPositionData","_hoisted_14","dlgClose","usergotitguidance","hasNextContent","props","Boolean","pageid","Number","guidancepagelist","guidancesubpagelist","pagecellname","pagelist","ugrdatalist","currentpositiontype","boxdisplaytype","newfeaturedialgoue","editedialgoue","set","setboxpositionbyxandy","setBoxPositionByType","$refs","whiteBackground_popup","left","top","getboxpositionbyid","chickvalues","document","getElementById","topPos","getBoundingClientRect","self","$nextTick","dd","getboxposition","right","bottom","pos","returnposition","position","windowWidth","innerWidth","windowHeight","innerHeight","y","getUserGuidanceReminder","currentrouter","p","sort","a","b","trainingnumber","metadata","ugritem","guidanceid","status","isset","pagecell","cellname","findIndex","slide","row","guidancedata","formdata","height","offsetWidth","offsetHeight","popup_drag_start","event","getComputedStyle","target","newstr","getPropertyValue","clientX","clientY","dataTransfer","setData","popup_drag_over","preventDefault","popup_drop","offset","getData","makeDraggable","dm","addEventListener","heightCount","verticalcenter","imageUrl","imageElement","Image","onload","containerElement","createElement","display","justifyContent","alignItems","backgroundColor","zIndex","fullScreenImageElement","maxWidth","maxHeight","objectFit","closeIconElement","classList","add","appendChild","closeFullscreen","removeChild","watch","created","mounted","para","currentpage","currentroute","params","showguidancedialog","openediteddialogue","pageitem","__exports__","collapsed","token","showerror","errormessage","errortitle","ismenu","superadmin","userrole","rolepermissionpages","getUser","defaults","headers","common","authorization","myparam","setrouteparam","assign","setusergotit","handleCommand","command","components","customgraphicdialogue","zoom","setcomponent","connectWebSocket","localStorage","setItem","removeItem","roledetail","statusmsg","uniqueid","heading","mediacontent","_hoisted_8","_hoisted_11","href","_hoisted_15","offercloseoption","Correctclick","sectionname","String","boxtype","isedit","dragstart","setpostion","Ignoreclick","drag_start","drag_over","drop","dropid","querySelector","unmounted","deferredPrompt","NavMenu","directionsdialogue","prompt","getSubscription","reg","pushManager","sub","subscribe","userVisibleOnly","applicationServerKey","fillSubscribeFields","console","subscription","endpoint","p256dh","arrayBufferToBase64","getKey","auth","buffer","binary","bytes","Uint8Array","len","byteLength","i","fromCharCode","btoa","requestNotificationAccess","clearBadge","navigator","clearAppBadge","clearExperimentalAppBadge","ExperimentalBadge","clear","serviceWorker","register","render","store","createStore","actionview","counter","descriptiondata","project","projectname","partname","projectpart","tablecellindicies","overhead1","overhead2","overhead3","pagesizes","messagecount","adduser","firstname","line2","line3","line4","line5","line1","confirm","details","isupdatehidden","userreminder","lastsaved","date","dt","moment","format","changeversion","refresh","user2","for","loginname","password","onKeyup","_withKeys","login","msg","ElMessage","routerdata","_component_el_checkbox","isarchive","form","active","saveproject","plain","cancel","justify","totaltime","deleteproject","archivetoproject","projectparts","prop","default","scope","Search","align","addnewpart","$index","timesheetcount","deletenewpart","importgooglesheet","dialogImportrowsVisible","center","onBeforeClose","importrows","eh","timeget","billinghour","managementhour","headname","dialogImportVisible","gapi","spreadsheetid","googlesheetname","getimportsheet","closeimportdialog","importrow","tableData","routername","selectpartid","toString","tt","extractSpreadsheetIdFromUrl","join","obj","pr","prview","importgooglesheetapi","spreadsheetIdPattern","matches","match","canimpoert","typeid","projectid","validate","getimportedspreadsheet","getprojectdata","splice","projectpartselect","callback","j","msgname","check","checkdisplaypage","clearable","_component_el_pagination","layout","total","pagesize","onCurrentChange","currentPage","pageno","_component_el_switch","Dfilter","tabledata","order","onSortChange","sortchange","sortable","checkdisplay","editrow","deleterow","table","column","changearchive","log","$confirm","confirmButtonText","cancelButtonText","sortcol","sortorder","displayheader","isactivityarea","addrow","includes","operation","routewatch","sortobj","modedisplay","_component_el_form","ProOrOve","_component_el_form_item","personal","PorOarray","_component_el_autocomplete","overheadname","searchoverhead","onSelect","selectoverhead","isactivity","save","go","sav","_hoisted_16","addsarow","_hoisted_17","sa","fixed","editsarow","overheads","myvalidate","actionid","actionname","currenttime","gutter","plusdate","_component_caret_left","_component_el_date_picker","editable","datechange","$commonutils","disableFutureDates","_component_caret_right","detailform","arraySpanMethod","cansort","edited","t","selectproject","filterable","remote","remoteMethodproject","projectoptions","header","showprojectsvalue","getinvoiceprojectlist","showprojectslist","getsubaction","projectactions","projectpartid","projectpartchange","pp","editedchanges","subactionid","subactionselect","projectsubactions","s","_component_el_time_select","startname","start","step","end","starttimechange","startminute","_hoisted_18","comments","autosize","minRows","maxRows","_hoisted_19","_hoisted_20","finishname","endtimechange","_hoisted_21","getendtime","_hoisted_22","_hoisted_23","_hoisted_24","savesheet","timesheetsaving","_hoisted_25","_hoisted_26","loading","defaultentry","ispage","clickedit","showtime","currentdate","cdate","subtract","isFutureDate","isAfter","canedit","durations","Math","floor","duration","totalDurations","slice","prev","asMilliseconds","previousfinishtime","previousstartminute","previousduration","scomment","addtimesheet","projectpartname","istime","minute","stepfive","timestart","replace","stepten","timefinish","newtime","s1","newtimefinish","newrow","getaction","acs","pps","gettimetotal","startTime","endTime","diff","asMinutes","findproject","ElMessageBox","warning","isTime","er","Promise","Warningbox","suc","val","isFinite","columnIndex","canprint","month1","getmonth","startdatachange","enddatachange","isproject","projectparid","partoptions","getsubactions","actionptions","changesubactions","subactionptions","selecteduser","searchuserforreport","selectuser","usernamech","fullname","getreports","getsummary","summary","showhtmltable","visibletabledata","Disableinfinitescroll","tablewidths","employee","rowspan","u","lastname","dateget","getdayduration","dayhours","getusername","activity","action","description","_hoisted_27","_hoisted_28","finish","_hoisted_29","getallduration","_hoisted_30","gettduration","infiniteloading","_hoisted_31","handleInfiniteScroll","_hoisted_32","_hoisted_33","_component_CustomTable","tableHeaders","reportheaders","printarray","showTableTitle","summaryheaders","headerRow","rowIndex","ignoreemptyheaders","colIndex","colspan","minWidth","textAlign","isHtmlRow","htmlContent","getTableHeaders","_renderSlot","$slots","Array","innerArray","foundItem","trim","rows","theaders","element","isheaderignore","getheaders","getHeaderLabel","getFlatColumns","flatColumns","unshift","resolveColumnData","rowData","formatValue","getColumnValue","isArray","stringify","keyPath","selectprojectobj","userslist","paraname","isdate","isduration","startlength","endlength","scrollDebounce","scrollThreshold","CustomTable","directives","ElTableInfiniteScroll","h1","m1","newdate","getFullYear","getMonth","firstDay","lastDay","getTime","now","getactivitys","isfindpro","clearInfiniteScrollData","printtotal","printindex","newdata","actions","finishtime","username","d","sortArray","shift","tdata","checkprintheaderanddata","Getreportstousers","accesslevel","afterprint","realPrint","setprint","level1header","level2header","tdataitems","individualsearchtable","$el","scrollTop","stopAutoScroll","debounce","func","delay","timeoutId","clearTimeout","startAutoScroll","intervalId","setInterval","clearInterval","tableHeight","handleTableScroll","clientHeight","scrollHeight","arr","ascending","propValueA","getProperty","propValueB","comparison","nestedProp","removeEventListener","searchdata","valuechanged","ispro","parts","isove","getactionsbypartid","subactions","deleteRow","addRow","searchview","viewreport","disableinfinitescroll","formatter","dateformatter","timeformatter","endminute","getfinishtime","pname","ptypeid","prname","aname","sname","sum","viewarr","batchSize","searchtext","cd","setDate","firstdate","setMonth","itm","colname","getactions","tableheaderstyle","foundproject","foundpart","xpp","viewmanagereport","vu","v","getallprojectsandoverheads","existpage","accessproject","table1height","table1","table2","getreportFun","show","tableRowClassName","tablecellStyles","onHeaderClick","handleWidthChange","isuser","col","colindicies","currentTarget","cellIndex","toggleIndexInArray","ti","iswidthchange","columninfoarr","colindex","colInfoIndex","columnindex","cololdwidth","realWidth","children","childCol","oldwidth","some","proj","startdate","disablefuturedate","enddate","showPH","saveprojecthours","isaddedfilter","getprojectcomputed","cellStylewhiteborder","tableRowClassprojectName","tableRowClassPartName","tableRowClassactionheaderName","actionsview","ah","cellStyleblackborder","tableRowClassactionName","pactions","timesheets","t1","qt","quote","du","displayhours","actualduration","precision","ph","cleaningminutedisplay","cleaningtime","baseduration","com","stempchang","comment","getauthname","da","editedon","estimatehour","displayestimatehours","sdu","rowcolor","getDifferencehours","cleaningdurationA","basedurationA","n","estimatedurationtotalAh","cleaningdurationAh","basedurationAh","estimatedurationtotalPr","cleaningdurationPr","basedurationPr","pro","estimatedurationtotalP","cleaningdurationP","basedurationP","author","actual","estimate","actualh","estimateh","difference","estimateMoment","actualMoment","hours","asHours","minutes","formattedDifference","prtotal","basedurationtotalP","cleaningdurationtotalP","parttotal","basedurationtotalPr","cleaningdurationtotalPr","av","actiontotalH","basedurationtotalAh","cleaningdurationtotalAh","actiontotal","basedurationtotalA","cleaningdurationtotalA","estimatedurationtotalA","timsheettotal","convertinttominute","totaldurationint","isnunornot","cleanhour","cleaningminute","decimaltotimeconvert","tdu","basedurationtotal","f","l","isNaN","parseFloat","cleaningH","min","absoluteValue","abs","round","setdefaultmonth","today","day","getDate","month","year","lastonemonth","columnname","authorid","splitvalue","totalminute","phs","drv","uesrsselectlist","hoursselectlist","cellValue","columnwidth","maxwidth","roleaddedit","addrole","roles","handleEdit","deleterole","cellClassName","openpermissiondialog","displayname","manepermission","selectallpr","checkpage","showdialog","beforedialogclose","confirmprojectpermission","accessible","changed","getroles","comparer","otherArray","current","other","page","setdefaultpermission","cls","validatepermission","oldselected","setprojectidforpermission","selectedproject","beforeRouteLeave","from","next","answer","onbeforeunload","widthsobj","_component_InfoFilled","reportsto","reportstoid","reporttochange","getuserlist","roleid","rolechange","showdata","showsection","showrole","getreportname","getrolename","WarningMSG","showcancelbutton","archanged","fwidth","fname","lwidth","lname","lowidth","loname","pswidth","psname","rtwidth","rtname","rwidth","rname","reportto","fnamesize","lnamesize","lonamesize","psnamesize","rtnamesize","rnamesize","confirmpassword","isvalid","$bus","rate","toFixed","overhead","savingcost","resetform","isdisable","usernamechange","_component_el_input_number","checkcurrency","ratecurrencyid","currencychange","remoteMethodcurrencies","currencyoptions","editcurrency","addcurrency","rateon","overheadcurrencyid","overheadon","currencydialog","savecurrency","currency","currencyaddedchange","country","symbol","_row","_column","operativecost","newmonth","toLocaleDateString","currencyedited","myvalidatecurrency","validateoperativecost","changedcost","tableHeaderColor","gotoprojecthourspage","findactual","findBase","months","getdata","basepersent","entries","convertminutetohour","daterange","pid","totalcleaningminutes","cm","baseminute","hh","trunc","basedividebyestimate","td","basehours","basemin","findmonths","loop","userselectlist","hourselectlist","Exportreport","resizable","getalltotal","gatotalrow","gettotalcell","allhours","allnet","allgross","responseType","blob","fileName","URL","createObjectURL","download","click","level","net","gross","op","totalnetgross","getnetcost","getgrosscost","ratec","rateo","net2","exchangerate","net1","getcollandrowtime","coltotalarr","newuser","paymentedit","saveall","changrmonth","hourscheck","providersearchid","Intl","NumberFormat","GBPcosttotal","paidsearchid","gettabledata","headercellstyle","getcalculation","pd","calculationon","crate","gettotalcost","isinvoicereceived","provider","cpayment","getpaymentrate","paymentcurrencyrate","totalpaymentrate","getPaymentDetailEdit","transactionreference","strGDP","onBlur","bpblur","onFocus","bpfocus","ispaid","model","editdetail","paymentnote","onkeypress","bankaccount","onkeyprace","sortcode","_hoisted_34","iban","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","getdateformat","_hoisted_40","paymentcurrencyid","_hoisted_41","providerid","_hoisted_42","_hoisted_43","editprovider","addprovider","_hoisted_44","savepaymentdetail","providerdilg","closedig","saveprovider","_hoisted_45","InvoiceUserId","InvoiceUserData","dialogInvoiceVisible","documentElement","getPLMonth","setgbpcosttotal","fdata","ismatch","GBPcost","toral1","minimumFractionDigits","d1","charCode","savearr","createdon","strcheck","validatepaymentdetail","postdata","operativecostid","isduplicat","rdata","res","getheight","stripe","savingquotation","mcehprojectname","getMCEHProjectList","handleSelect","suffix","closeproject","quotationdate","feequotationstr","currencyblur","currencyfocus","editedchange","addClass","feequotation","basecoststr","basecost","projectedmarginstr","projectedmargin","averagebasecoststr","averagebasecost","averageprojectedmarginstr","averageprojectedmargin","basepercentage","avaragepercentage","feeoptionsstr","feeoptions","EHProjectlist","sq","totalbasemargin","basepr","totalaveragemargin","apr","averagepr","mcehprojectid","calculateprojectmargin","querystring","classstr","newclass","searchprojects","idth","si","checklistcompleted","isinvoiced","savinginvoice","invoicevaluestr","invoicevalue","basemarginstr","basemargin","averagecoststr","averagecost","averagemarginstr","averagemargin","averagepercentage","totalhours","actualhourlyratestr","totalhours2","basehourlyratestr","winhours","losehours","gifthours","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","quotationsubmittedstr","quotationsubmitted","_hoisted_50","basewinstr","basewin","_hoisted_51","baselosestr","_hoisted_52","basechargestr","basecharge","_hoisted_53","basegiftstr","_hoisted_54","basequotationvariationstr","basequotationvariation","_hoisted_55","basegainlossstr","basegainloss","_hoisted_56","_hoisted_57","averagewinstr","averagewin","_hoisted_58","averagelosestr","_hoisted_59","_hoisted_60","averagegiftstr","_hoisted_61","averagequotationvariationstr","averagequotationvariation","_hoisted_62","averagegainlossstr","averagegainloss","_hoisted_63","_hoisted_64","_hoisted_65","_hoisted_66","_hoisted_67","lastedited","_hoisted_68","_hoisted_69","_hoisted_70","averagechargestr","averagecharge","modifiedon","currencygbp","quotesubmitted","ahrate","actualhourlyrate","bhrate","basehourlyrate","actualoverallocated","actualunderallocated","baselose","actualgiftedhours","basegift","bqvariation","bqvvalue","bglvalue","baselhourlyrate","baseoverallocated","baseunderallocated","averagelose","basegiftedhours","averagegift","aqvariation","aqvvalue","aglvalue","repeat","_component_el_card","update","updatequery","cellValueRenderer","getCheckMethod","_component_el_button_group","runRow","recycle","checkmethod","querynumber","checkquery","updatedon","effect","callsite","stacktrace","color","pagedetail","addinvoice","monthformatter","osi","subtotal","expensecost","grosstotal","deduction","netinvoice","creator","viewinvoice","getuseraddress","saveinvoice","iseditable","cancelinvoice","userchange","search","changemonth","_component_el_descriptions","_component_el_descriptions_item","addressline1","addressline2","addressline3","addressline4","invoicenumber","invoicedate","expensecomment","deductioncomment","subtotalstr","changedexpense","grosstotalstr","changededuction","netinvoicestr","issignoff","signoff","lastsignoff","reloadinvoice","downloadpdf","addresstemplate","savesupplierdetail","supplier","detailchanged","currentChange","getinvoice","invoiceperiod","signoffon","setdateformate","durationstr","convertstringtoint","calculateinvoice","address","setaddress","period","calculateexpense","reduces","allexpense","invoicevalidate","validateuserdetail","filename","doc","jsPDF","html","addcolumn","saveFeeData","fv","feeyears","projectedinflationrate","focusOut","focusIn","getindex","feerates","editedchange2","feeid","iscount","feeyearid","rowkey","raterow","getFeeData","fy","object","feedata","feerate","fr","newobj","usersid","multiple","userchanged","permissionchanged","issave","selectoption","ttss","isfin","isuseruse","getRolePermissionData","rl","el","tts","founditem","rpr","rpi","permissionname","foundrolepermission","saveroledata","rv","foundunsavedrow","r","roleitem","va","getUsersList","savepagestatus","saveAccessSignoff","column1width","aso","signatoryuserid","onVisibleChange","userchanges","users1","timemadebyusersid","timemadeuserchanges","users2","getUsers","getoverheadandallproject","getallactions","findprojectactions","getAccessSignoff","as","su","col1width","accesssignofftimemadeusers","timemadebyuserid","asodata","uniquedata","errmsg","isduplicate","ischildduplicate","every","childobj","ismatchedtimemadeuserid","accesssignoffid","usertype","u1item","u2item","alloption","matchedasotu","foundemptyrow","setpositioninpage","getGuidanceData","saveGuidaneData","addNewItem","pagecellid","pagecells","rotatearrowicon","_component_editor","_component_el_color_picker","_component_el_upload","drag","addAttachment","on-change","editedchanged","accept","_component_upload_filled","files","_component_document","beforeuploadpreview","originalname","deleteAttachment","_component_close","previewsnip","version","formatversion","informationnumber","deleteItem","selectedmedia","mediadialogClose","_component_el_link","underline","externalurl","downloadmedia","deleteMedia","isImage","isVideo","isAudio","beforemedia","beforepreviewclose","_component_el_tiptap","extensions","Doc","Text","Paragraph","Bold","Underline","Italic","TextAlign","FontSize","Heading","codeView","Strike","BulletList","OrderedList","Link","HorizontalRule","HardBreak","History","FormatClear","Color","Highlight","SelectAll","Gapcursor","Commands","configure","suggestion","items","getSuggestionItems","renderItems","isvalidversion","checkingname","Editor","media","extention","isValidFormat","test","duplicates","trainingNumbers","informationNumbers","guidanceData","number","warnmessage","duplicate","onprogress","onUploadProgress","progress","uploadprogress","loaded","isemptycontent","lastindex","file","ext","existextension","validext","rename","renamefile","revokeObjectURL","findpage","routename","editversion","addversion","versions","dateformat","editversionbyid","onSizeChange","rowperpages","small","copyrow","maxlength","remoteMethodpage","projectoverheadid","canpartshow","directionactionstemp","remoteMethodaction","selectuserrole","remoteMethodUsersRole","userroles","directionuserstemp","remoteMethodUsers","directionalgorithm","_component_el_radio_group","algorithmtype","_component_el_radio","checknumber","operations","gettotalhours","actualhours","_component_el_tag","estimatedhours","getPercentage","showpreview","_component_show_media","onDeleteMedia","canshowmedia","beforemediaClose","selectedmediaClose","istype","CloseMedia","showbeforemedia","$forceUpdate","showselectedmedia","openmedia","operationcount","messages","socket","showmedia","array","pattern","addfile","maxsize","sendMessage","readyState","WebSocket","OPEN","send","validsave","setarraydirection","directionactions","arrayuser","directionusers","newsave","$prompt","inputValue","promptdata","validtotal","gettotal","async","usergridrow","ugv","rowperpage","savepagelayout","app","gridrow","getusergridrow","component","HomePage","timesheet","projectedit","actionedit","subactionedit","reports","rmanage","roverhead","projecthours","userlastentry","logout","userpermission","changepassword","updatedatabasestructure","errorlog","projectsummary","overheadsummary","personalsummary","internationalpayments","salesquotation","salesinvoice","outsourceinvoice","newrole","accesssignoff","trainingpopup","updateversions","directionlibrary","router","createRouter","history","createWebHistory","beforeEach","accessrouter","rout","fullPath","getItem","direction","constructor","_defineProperty","vibrate","dateOfArrival","socketURL","location","hostname","onopen","onmessage","onclose","getnotificationpermission","directionid","option","setBadge","setAppBadge","setExperimentalAppBadge","newoption","getNotifications","notifications","newcount","showNotificationuinsgjs","dir","onshow","onerror","ds","commonutils","usergridviews","ret","createApp","App","ElementPlusIconsVue","config","globalProperties","use","ElementPlus","ElementTiptapPlugin","VueAxios","Vuex","mixin","mount","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","call","amdO","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","__proto__","ns","create","def","getOwnPropertyNames","definition","defineProperty","enumerable","chunkId","all","promises","miniCssF","g","globalThis","Function","hmd","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","timeout","nc","setAttribute","onScriptComplete","doneFns","parentNode","bind","head","Symbol","toStringTag","nmd","paths","installedChunks","installedChunkData","promise","reject","loadingEnded","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}