UNPKG

address-client

Version:

地址管理前台组件

269 lines (232 loc) 8.25 kB
/** * 地址模块安全 API 封装,替代前端拼 SQL 的 $resetpost / HttpReset 调用。 */ function post (vm, logic, data, options) { const opts = Object.assign({ resolveMsg: null, rejectMsg: null }, options || {}) return vm.$resetpost('rs/logic/' + logic, data, opts) } function normalizePcdParams (params) { if (!params || typeof params === 'string') return {} const data = {} if (params.filialeId != null && params.filialeId !== '') data.f_filialeid = params.filialeId if (params.orgId != null && params.orgId !== '') data.f_orgid = params.orgId if (params.id != null && params.id !== '') data.id = params.id if (params.includeSharedOrg) data.includeSharedOrg = true return data } function normalizeStreetParams (params) { const data = normalizePcdParams(params) if (params.pcdId != null && params.pcdId !== '') data.f_pcd_id = params.pcdId return data } function normalizeAreaParams (params) { const data = normalizeStreetParams(params) if (params.streetId != null && params.streetId !== '') data.f_street_id = params.streetId return data } function normalizeResidentialParams (params) { const data = {} if (params.orgId != null && params.orgId !== '') data.f_orgid = params.orgId if (params.filialeId != null && params.filialeId !== '') data.f_filialeid = params.filialeId if (params.isCity != null && params.isCity !== '') data.f_iscity = params.isCity if (params.includeSharedOrg) data.includeSharedOrg = true if (params.useFilialeId) data.useFilialeId = true return data } function mapPcdRows (rows) { return (rows || []).map((row) => ({ label: row.f_pcd, value: row.id, data: row, id: row.id })) } function mapStreetRows (rows) { return (rows || []).map((row) => ({ label: row.f_street, value: row.id, data: row, id: row.id })) } function mapAreaRows (rows, labelFn) { return (rows || []).map((row) => ({ label: labelFn ? labelFn(row) : ('[' + row.f_street + ']' + row.f_residential_area), value: row.id, data: row, id: row.id })) } function mapResidentialRows (rows) { return (rows || []).map((row) => ({ label: row.f_residential_area, value: row.id, data: row, id: row.id })) } export function listPcdOptions (vm, params, options) { return post(vm, 'address_listPcdOptions', normalizePcdParams(params), options) } export function listStreetOptions (vm, params, options) { return post(vm, 'address_listStreetOptions', normalizeStreetParams(params), options) } export function listAreaOptions (vm, params, options) { return post(vm, 'address_listAreaOptions', normalizeAreaParams(params), options) } export function listResidential (vm, params, options) { return post(vm, 'address_listResidential', normalizeResidentialParams(params), options) } export function checkStreetNumber (vm, params, options) { return post(vm, 'address_checkStreetNumber', { value: params.value || params.f_street_number, f_orgid: params.orgId || params.f_orgid || vm.$login.f.orgid, excludeId: params.excludeId != null ? params.excludeId : params.id }, options) } export function checkPcdNumber (vm, params, options) { return post(vm, 'address_checkPcdNumber', { value: params.value || params.f_pcd_number, f_orgid: params.orgId || params.f_orgid || vm.$login.f.orgid, excludeId: params.excludeId != null ? params.excludeId : params.id }, options) } export function checkAreaIdByOrg (vm, params, options) { return post(vm, 'address_checkAreaIdByOrg', { f_area_id: params.f_area_id || params.value, f_orgid: params.orgId || params.f_orgid || vm.$login.f.orgid, excludeId: params.excludeId != null ? params.excludeId : params.id }, options) } export function checkCommunityCode (vm, params, options) { return post(vm, 'address_checkCommunityCode', { value: params.value || params.f_community_code, excludeId: params.excludeId != null ? params.excludeId : params.id }, options) } export function checkStreetManageNumber (vm, params, options) { return post(vm, 'address_checkStreetManageNumber', { value: params.value || params.f_street_manage_number, excludeId: params.excludeId != null ? params.excludeId : params.id }, options) } export function checkAreaName (vm, params, options) { return post(vm, 'address_checkAreaName', { f_residential_area: params.residentialArea || params.f_residential_area, f_street: params.street || params.f_street, excludeId: params.excludeId != null ? params.excludeId : params.id }, options) } export function getMeterTypeByBrand (vm, meterBrand, options) { return post(vm, 'address_getMeterTypeByBrand', { f_meter_brand: meterBrand }, options) } export function canDeleteUserAddress (vm, id, options) { return post(vm, 'address_canDeleteUserAddress', { id: id }, options) } export function canDeleteArea (vm, id, options) { return post(vm, 'address_canDeleteArea', { id: id }, options) } export function canDeleteStreet (vm, id, options) { return post(vm, 'address_canDeleteStreet', { id: id }, options) } export function canDeletePcd (vm, id, options) { return post(vm, 'address_canDeletePcd', { id: id }, options) } export function canDeleteStreetManage (vm, id, options) { return post(vm, 'address_canDeleteStreetManage', { id: id }, options) } export function canDeleteCommunity (vm, id, options) { return post(vm, 'address_canDeleteCommunity', { id: id }, options) } export function listCommunityOptions (vm, params, options) { return post(vm, 'address_listCommunityOptions', normalizePcdParams(params), options) } export function listCheckBookOptions (vm, params, options) { return post(vm, 'address_listCheckBookOptions', { f_orgid: params.orgId || params.f_orgid || vm.$login.f.orgid }, options) } export function listGasbrandByOrg (vm, orgId, options) { return post(vm, 'address_listGasbrandByOrg', { f_orgid: orgId || vm.$login.f.orgid }, options) } export function listChinaDivisions (vm, options) { return post(vm, 'address_listChinaDivisions', {}, options) } export function listBuildingOptions (vm, params, options) { const data = {} if (params.filialeId != null) data.f_filialeid = params.filialeId if (params.residentialAreaId != null) data.f_residential_area_id = params.residentialAreaId return post(vm, 'address_listBuildingOptions', data, options) } export function listStreetManageOptions (vm, params, options) { return post(vm, 'address_listStreetManageOptions', normalizePcdParams(params || {}), options) } export function mapCommunityRows (rows) { return (rows || []).map((row) => ({ label: row.f_community_name, value: row.id, data: row, id: row.id })) } export function mapBuildingRows (rows, emptyLabel) { const result = [] if (emptyLabel && (!rows || rows.length === 0)) { result.push({ label: '无', value: ' ' }) } ;(rows || []).forEach((row) => { result.push({ label: row.f_building, value: row.id, data: row, id: row.id }) }) return result } export function mapStreetManageRows (rows) { return (rows || []).map((row) => ({ label: row.f_street_manage_name, value: row.id, data: row, id: row.id })) } export default { normalizePcdParams, normalizeStreetParams, normalizeAreaParams, normalizeResidentialParams, mapPcdRows, mapStreetRows, mapAreaRows, mapResidentialRows, listPcdOptions, listStreetOptions, listAreaOptions, listResidential, checkStreetNumber, checkPcdNumber, checkAreaIdByOrg, checkCommunityCode, checkStreetManageNumber, checkAreaName, getMeterTypeByBrand, canDeleteUserAddress, canDeleteArea, canDeleteStreet, canDeletePcd, canDeleteStreetManage, canDeleteCommunity, listCommunityOptions, listCheckBookOptions, listGasbrandByOrg, listChinaDivisions, listBuildingOptions, listStreetManageOptions, mapCommunityRows, mapBuildingRows, mapStreetManageRows }