![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/html/keeview_app/html/theme/mobile/ |
Upload File : |
"use strict"; theme.formPartnerViewMaps = function(params){ theme.formPartnerViewMaps = function(params){ var dic = {}; var partnerDataLinkDic = {}; for (var i = 0; i < params.idListView.length; i++){ partnerDataLinkDic[params.idListView[i]] = []; dic[params.idListView[i]] = true; } var loadPartnerFunc = new Promise(function(rs, rj){ data_module.cacheContent_partners.psearch({ searchFunc: function(record){ if (extraParams.dic[record.id]) return { id: record.id, gps: record.gps, name: record.name }; return null; }, extraParams: { dic: dic }, callbackfunc: function(values){ rs(values); } }); }); var loadPartnerClassLinksFunc = new Promise(function(rs, rj){ data_module.cacheContent_partner_class_links.psearch({ searchFunc: function(record){ if (extraParams.dic[record.partnerid]) return record; return null; }, extraParams: { dic: dic }, callbackfunc: function(values){ for (var i = 0; i < values.length; i++){ partnerDataLinkDic[values[i].partnerid].push(values[i].classid); } rs(); } }); }); ModalElement.show_loading(); Promise.all([loadPartnerFunc, loadPartnerClassLinksFunc]).then(function(values){ ModalElement.close(-1); var points = []; var res, k, className, color; for (var i = 0; i < values[0].length; i++){ res = contentModule.getGPSByString(values[0][i].gps); if (!res) continue; className = ""; partnerDataLinkDic[values[0][i].id].forEach(function(classid){ var cData = data_module.getContent("partner_class", classid); if (cData){ color = cData.color; if (className.length > 0) className += ", "; className += cData.name; } }); points.push({ id: values[0][i].id, color: color, lat: res.lat, lng: res.lng, info: { content: values[0][i].name + "<br>" + className } }); } var viewer = absol.buildDom({ tag: 'locationview', style: { height: '600px', width: "100%", maxWidth: "100vw", maxHeight: "100vh" }, props: { points: points, showPolylineRoute: false } }); var header = absol.buildDom({ tag: 'mheaderbar', props: { actionIcon: DOMElement.i({ attrs: { className: "material-icons" }, text: "arrow_back_ios" }), title: LanguageModule.text("txt_maps") }, on: { action: function(){ params.frameList.removeLast(); window.backLayoutFunc.pop(); } } }); var singlePage = absol.buildDom({ tag: 'tabframe', child:[ header, DOMElement.div({ attrs: { className: "card-mobile-content" }, children: [ viewer ] }) ] }); params.frameList.addChild(singlePage); singlePage.requestActive(); window.backLayoutFunc.push({ func: function(){ params.frameList.removeLast(); window.backLayoutFunc.pop(); } }); }); }; }; theme.fromPartnerEditExtraData = function(params){ var commands = [{ icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "save" }), cmd: function(){ params.func.save().then(function(){ params.frameList.removeLast(); window.backLayoutFunc.pop(); }); } }]; var header = absol.buildDom({ tag: 'mheaderbar', props: { actionIcon: DOMElement.i({ attrs: { className: "material-icons" }, text: "arrow_back_ios" }), title: params.title, commands: commands }, on: { action: function(){ params.func.cancel().then(function(){ params.frameList.removeLast(); window.backLayoutFunc.pop(); }); }, command: function(event){ event.commandItem.cmd(); } } }); var singlePage = absol.buildDom({ tag: 'tabframe', child:[ header, DOMElement.div({ attrs: { className: "card-mobile-content" }, children: [params.formContainer] }) ] }); params.frameList.addChild(singlePage); singlePage.requestActive(); window.backLayoutFunc.push({ func: function(){ params.frameList.removeLast(); window.backLayoutFunc.pop(); } }); }; theme.formPartnerShow = function(host, params){ var scrollInto = function(value){ if (sectionList[value]) sectionList[value].scrollIntoView(); }; var drawPartnerView = function(){ var viewPartner = DOMElement.div({ attrs: { style: { paddingTop: "var(--control-verticle-distance-2)" } } }); host.drawPartnerViewFunc(viewPartner); var childs = [ { class: 'm-mk-section-header-name', child: { text: LanguageModule.text("txt_general_information") }, } ]; childs.push({ class: 'm-mk-section-header-right', child: [ DOMElement.a({ attrs: { onclick: function(){ params.func.editPartner(); } }, text: LanguageModule.text("txt_edit") }) ] }); var res = absol.buildDom({ attr: { "data-sectionid": "general_information" }, child: [ absol.buildDom({ class: ["m-mk-section-header", "first"], child: childs }), viewPartner ] }); return res; }; var drawContactList = function(){ host.viewContact = DOMElement.div({ attrs: { style: { paddingTop: "var(--control-verticle-distance-2)" } } }); var childs = [ { class: 'm-mk-section-header-name', child: { text: LanguageModule.text("txt_contact") }, } ]; childs.push({ class: 'm-mk-section-header-right', child: [ DOMElement.a({ attrs: { onclick: function(){ params.func.addContact(); } }, text: LanguageModule.text("txt_add") }) ] }); host.drawContactListFunc(); var res = absol.buildDom({ attr: { "data-sectionid": "contact" }, child: [ absol.buildDom({ class: 'm-mk-section-header', child: childs }), host.viewContact ] }); return res; }; var drawCheckin = function(){ var viewCheckin = DOMElement.div({ attrs: { style: { paddingTop: "var(--control-verticle-distance-2)" } } }); host.drawCheckinFunc(viewCheckin); var childs = [ { class: 'm-mk-section-header-name', child: { text: LanguageModule.text("txt_check_in") }, } ]; if (data_module.employeeOfMe.length > 0) childs.push({ class: 'm-mk-section-header-right', child: [ DOMElement.a({ attrs: { onclick: function(){ hr.partner.checkin(host, host.partnerid, host.dataPartnerEdit.gps).then(function(){ host.drawCheckinFunc(viewCheckin); }); } }, text: LanguageModule.text("txt_add") }) ] }); var res = absol.buildDom({ attr: { "data-sectionid": "checkin" }, child: [ absol.buildDom({ class: 'm-mk-section-header', child: childs }), viewCheckin ] }); return res; }; host.drawPartnerExtraDataSingle = function(partner_class_data){ quickmenuItems.push( { text: LanguageModule.text("txt_data_extra") + " (" + partner_class_data.name + ")", extendClasses: "bsc-quickmenu", cmd: function(){ scrollInto("data_extra_" + partner_class_data.id); } } ); var viewElt = DOMElement.div({ attrs: { style: { paddingTop: "var(--control-verticle-distance-2)" } }, children: [absol.buildDom({ tag: "spinnerico", style: { width: "100px", height: "100px" } })] }); var drawViewFunc = function(){ hr.partner.loadExtraDataByTypeid(host, host.partnerid, partner_class_data.type_extra).then(function(value){ DOMElement.removeAllChildren(viewElt); contentModule.makeOutputFormData({ typeid: partner_class_data.type_extra, formid: partner_class_data.mobile_output_form_extra, formContainer: viewElt, initialValue: value.data, typelists: data_module.typelists.items, variableType: "user" }).then(function(getValue){}); }); }; drawViewFunc(); var childs = [ { class: 'm-mk-section-header-name', child: { text: LanguageModule.text("txt_data_extra") + " (" + partner_class_data.name + ")" }, } ]; childs.push({ class: 'm-mk-section-header-right', child: [ DOMElement.a({ attrs: { onclick: function(){ params.func.editExtraDataFunc(partner_class_data); } }, text: LanguageModule.text("txt_edit") }) ] }); var res = absol.buildDom({ attr: { "data-sectionid": "data_extra_" + partner_class_data.id }, child: [ absol.buildDom({ class: 'm-mk-section-header', child: childs }), viewElt ] }); DOMElement.removeAllChildren(host.dataextra_ctn_boxes[partner_class_data.id]); host.dataextra_ctn_boxes[partner_class_data.id].appendChild(res); }; host.drawPartnerExtraDataFunc = function(){ quickmenuItems = [ { text: LanguageModule.text("txt_general_information"), icon: DOMElement.i({ attrs: { className: "mdi mdi-information-outline" } }), extendClasses: "bsc-quickmenu", cmd: function(){ scrollInto("general_information"); } } ]; DOMElement.removeAllChildren(host.extra_dataCtn); host.dataextra_ctn_boxes = {}; for (var i = 0; i < host.dataPartnerEdit.class.length; i++){ var partner_class_data = data_module.getContent("partner_class", host.dataPartnerEdit.class[i]); if (!partner_class_data){ console.log("Lỗi: ", host.dataPartnerEdit.class[i]); continue; } if (partner_class_data.type_extra != 0){ host.dataextra_ctn_boxes[partner_class_data.id] = DOMElement.div({}); host.extra_dataCtn.appendChild(host.dataextra_ctn_boxes[partner_class_data.id]); host.drawPartnerExtraDataSingle(partner_class_data); } } quickmenuItems.push( { text: LanguageModule.text("txt_contact"), extendClasses: "bsc-quickmenu", icon: DOMElement.i({ attrs: { className: "mdi mdi-card-account-phone-outline" } }), cmd: function(){ scrollInto("contact"); } }, { text: LanguageModule.text("txt_check_in"), extendClasses: "bsc-quickmenu", icon: DOMElement.i({ attrs: { className: "mdi mdi-store-marker-outline" } }), cmd: function(){ scrollInto("checkin"); } }, { text: LanguageModule.text("txt_to_do"), extendClasses: "bsc-quickmenu", icon: DOMElement.span({ attrs: { className: "mdi mdi-clock-time-eight-outline" } }), cmd: function(){ scrollInto("to_do"); } } ); header.quickmenu = { props: { extendClasses: 'cd-context-menu', items: quickmenuItems }, onSelect: function (x) { x.cmd(); } }; sectionList = {}; absol.$("div", data_ctn, function(elt){ var id = elt.getAttribute("data-sectionid"); if (!id) return; sectionList[id] = elt; }); }; host.nameViewCtn = DOMElement.div({}); var data_ctn = DOMElement.div({}); data_ctn.appendChild(drawPartnerView()); host.extra_dataCtn = DOMElement.div({}); data_ctn.appendChild(host.extra_dataCtn); data_ctn.appendChild(drawContactList()); data_ctn.appendChild(drawCheckin()); var activitiesCtn = absol.buildDom({ attr: { "data-sectionid": "to_do" } }); data_ctn.appendChild(activitiesCtn); var quickmenuItems = []; var sectionList; var header = absol.buildDom({ tag: 'mheaderbar', props: { actionIcon: DOMElement.i({ attrs: { className: "material-icons" }, text: "arrow_back_ios" }), title: host.nameViewCtn }, on: { action: function(){ host.frameList.removeLast(); window.backLayoutFunc.pop(); } } }); var singlePage = absol.buildDom({ tag: 'tabframe', child:[ header, DOMElement.div({ attrs: { className: "card-mobile-content" }, children: [data_ctn] }) ] }); host.drawPartnerExtraDataFunc(); host.frameList.addChild(singlePage); singlePage.requestActive(); window.backLayoutFunc.push({ func: function(){ host.frameList.removeLast(); window.backLayoutFunc.pop(); } }); contentModule.activitiesInformation({ workSelected: "both", tableName: "partner", instanceid: host.partnerid, addActivitiesSelected: "normal", frameList: host.frameList }).then(function(result){ var activities = result.getActivitiesContent(); activitiesCtn.appendChild(activities); }); }; theme.fromPartnerEdit = function(params){ var commands = [{ icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "save" }), cmd: function(){ params.func.save().then(function(){ params.frameList.removeLast(); window.backLayoutFunc.pop(); }); } }]; var header = absol.buildDom({ tag: 'mheaderbar', props: { actionIcon: DOMElement.i({ attrs: { className: "material-icons" }, text: "arrow_back_ios" }), title: params.title, commands: commands }, on: { action: function(){ params.func.cancel().then(function(){ params.frameList.removeLast(); window.backLayoutFunc.pop(); }); }, command: function(event){ event.commandItem.cmd(); } } }); var singlePage = absol.buildDom({ tag: 'tabframe', child:[ header, DOMElement.div({ attrs: { className: "card-mobile-content" }, children: [params.formContainer] }) ] }); params.frameList.addChild(singlePage); singlePage.requestActive(); window.backLayoutFunc.push({ func: function(){ params.frameList.removeLast(); window.backLayoutFunc.pop(); } }); }; theme.formPartnerInit = function (params){ var filterFunc = function(){ theme.modalFormMobile({ title: LanguageModule.text("txt_filter"), bodycontent: DOMElement.div({ children: [ DOMElement.div({ attrs: { className: "card-mobile-label-form-edit-first" }, text: LanguageModule.text("txt_partner_class") }), partner_class_select, DOMElement.div({ attrs: { className: "card-mobile-label-form-edit" }, text: LanguageModule.text("txt_nationcity") }), nation_cities_select ] }) }); }; var itemsList = contentModule.getNationCityDualSelectMenu(params); itemsList.forEach(function(nItem){ nItem.items.unshift({value: 0, text: LanguageModule.text("txt_all_city")}); }); itemsList.unshift({ value: 0, text: LanguageModule.text("txt_all_nation"), items: [{value: 0, text: LanguageModule.text("txt_all_city")}] }); var nation_cities_select = absol.buildDom({ tag: "dualselectmenu", props: { items: itemsList, value: [0, 0], enableSearch: true }, on: { change: function(){ params.func.filter_change_func(); } } }); var partner_class_select = absol.buildDom({ tag: "mselectmenu", style: { display: "block", width: "100%" }, props: { items: contentModule.getPartnerClassFilterList(params), enableSearch: true }, on: { change: function(){ params.func.filter_change_func(); } } }); var commands = []; commands.push({ icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "filter_alt" }), cmd: function(){ filterFunc(); } }); commands.push({ icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "search" }), cmd: function(){ header.searchMode(true); } }); var inputsearchbox = absol.buildDom({ tag: 'searchcrosstextinput', style: { width: "var(--searchbox-width)" }, props:{ placeholder: LanguageModule.text("txt_search") }, on: { stoptyping: function(){ params.func.filter_change_func(); } } }); var quickmenuItems = []; if (params.cmdbutton.add !== undefined){ quickmenuItems.push({ text: LanguageModule.text("txt_add"), extendClasses: "bsc-quickmenu", icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "add" }), cmd: params.cmdbutton.add }); } quickmenuItems.push({ text: LanguageModule.text("txt_view_maps"), extendClasses: "bsc-quickmenu", icon: DOMElement.i({ attrs: { className: "material-icons" }, text: "visibility" }), cmd: function(){ params.cmdbutton.view_maps(); } }); var header = absol.buildDom({ tag: 'headerbarwithsearch', props: { actionIcon: DOMElement.i({ attrs: { className: "material-icons" }, text: "arrow_back_ios" }), title: LanguageModule.text("txt_partner"), commands: commands, quickmenu: { props: { extendClasses: 'cd-context-menu', items: quickmenuItems }, onSelect: function (x) { x.cmd(); } } }, data:{ searchInput: inputsearchbox }, on: { action: params.cmdbutton.close, command: function(event){ event.commandItem.cmd(); } } }); var singlePage = absol.buildDom({ tag: 'tabframe', child:[ header, DOMElement.div({ attrs: { className: "card-mobile-content" }, children: [params.data_container] }) ] }); singlePage.nation_cities_select = nation_cities_select; singlePage.partner_class_select = partner_class_select; singlePage.inputsearchbox = inputsearchbox; return singlePage; }; ModuleManagerClass.register({ name: "Partner_view", prerequisites: ["ModalElement"] });