address-client
Version:
地址管理前台组件
269 lines (232 loc) • 8.25 kB
JavaScript
/**
* 地址模块安全 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
}