|
@@ -1,83 +1,122 @@
|
|
|
export const initDoor = (data, initialUnitList) => {
|
|
|
- const { floor, unit } = initialUnitList;
|
|
|
- const { buildingNumber, unitNumber, floorsNumber, householdsPerFloor } = data;
|
|
|
- const letter = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
|
|
|
- const getDoor = (k) => {
|
|
|
- const arr = [];
|
|
|
- for (let l = 0; l < householdsPerFloor; l++) {
|
|
|
- const roomNumber = (l + 1) >= 10 ? `${k}${l + 1}` : `${k}0${l + 1}`
|
|
|
- arr.push({
|
|
|
- roomNumber,
|
|
|
+ const { floor, unit } = initialUnitList;
|
|
|
+ const { buildingNumber, unitNumber, floorsNumber, householdsPerFloor } = data;
|
|
|
+ const letter = [
|
|
|
+ 'A',
|
|
|
+ 'B',
|
|
|
+ 'C',
|
|
|
+ 'D',
|
|
|
+ 'E',
|
|
|
+ 'F',
|
|
|
+ 'G',
|
|
|
+ 'H',
|
|
|
+ 'I',
|
|
|
+ 'J',
|
|
|
+ 'K',
|
|
|
+ 'L',
|
|
|
+ 'M',
|
|
|
+ 'N',
|
|
|
+ 'O',
|
|
|
+ 'P',
|
|
|
+ 'Q',
|
|
|
+ 'R',
|
|
|
+ 'S',
|
|
|
+ 'T',
|
|
|
+ 'U',
|
|
|
+ 'V',
|
|
|
+ 'W',
|
|
|
+ 'X',
|
|
|
+ 'Y',
|
|
|
+ 'Z'
|
|
|
+ ];
|
|
|
+ const getDoor = (k) => {
|
|
|
+ const arr = [];
|
|
|
+ for (let l = 0; l < householdsPerFloor; l++) {
|
|
|
+ const roomNumber = l + 1 >= 10 ? `${k}${l + 1}` : `${k}0${l + 1}`;
|
|
|
+ arr.push({
|
|
|
+ roomNumber
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return arr;
|
|
|
+ };
|
|
|
+ const getFoolr = () => {
|
|
|
+ const arr = [];
|
|
|
+ for (let k = 0; k < floorsNumber; k++) {
|
|
|
+ arr.push({
|
|
|
+ floorNumber: k + 1,
|
|
|
|
|
|
- })
|
|
|
- }
|
|
|
- return arr;
|
|
|
- }
|
|
|
- const getFoolr = () => {
|
|
|
- const arr = [];
|
|
|
- for (let k = 0; k < floorsNumber; k++) {
|
|
|
- arr.push({
|
|
|
- floorNumber: k + 1,
|
|
|
+ roomList: getDoor(k + 1)
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return arr;
|
|
|
+ };
|
|
|
+ const regExp1 = /^[0-9]+$/;
|
|
|
+ const getUnit = () => {
|
|
|
+ const start =
|
|
|
+ unit.type == 'Number' ? (!regExp1.test(Number(unit.start)) ? 1 : unit.start) : !letter.includes(unit.start) ? 'A' : unit.start;
|
|
|
+ const arr = [];
|
|
|
+ if (unitNumber == '') {
|
|
|
+ arr.push({
|
|
|
+ unitName: '',
|
|
|
+ unitFloorList: getFoolr()
|
|
|
+ });
|
|
|
|
|
|
- roomList: getDoor(k + 1)
|
|
|
- })
|
|
|
- }
|
|
|
- return arr;
|
|
|
- }
|
|
|
- const regExp1 = /^[0-9]+$/;
|
|
|
- const getUnit = () => {
|
|
|
- const start = unit.type == 'Number' ? !regExp1.test(Number(unit.start)) ? 1 : unit.start : !letter.includes(unit.start) ? 'A' : unit.start;
|
|
|
- const arr = [];
|
|
|
- for (let j = 0; j < unitNumber; j++) {
|
|
|
- arr.push({
|
|
|
- unitName: (unit.type == 'Number' ? j + (Number(start) || 1) : letter[start && letter.indexOf(start) + j || j] || `未命名${j + 1}`) + '单元',
|
|
|
- unitFloorList: getFoolr()
|
|
|
- })
|
|
|
- }
|
|
|
- return arr;
|
|
|
- }
|
|
|
- //楼栋下有几栋,每栋有几单元,每个单元有几层,每层下有几户
|
|
|
- // const initArray = () => {
|
|
|
- // const start = floor.type == 'Number' ? !regExp1.test(Number(floor.start)) ? 1 : floor.start : !letter.includes(floor.start) ? 'A' : floor.start;
|
|
|
- // const doorArray = [];
|
|
|
- // for(let i = 0; i < buildingNumber; i++) {
|
|
|
- // doorArray.push({
|
|
|
- // name: floor.type == 'Number' ? i + (Number(start) || 1) : letter[start && letter.indexOf(start) + i || i] || `未命名${i + 1}`,
|
|
|
- // code: 'build',
|
|
|
- // children: getUnit()
|
|
|
- // })
|
|
|
- // }
|
|
|
- // return doorArray;
|
|
|
- // }
|
|
|
- return {
|
|
|
- // initDoor: initArray(),
|
|
|
- // initDoor: getUnit(),
|
|
|
- generateUnit: getUnit(),
|
|
|
- generateFloor: getFoolr(),
|
|
|
- generateDoor: (k) => getDoor(k),
|
|
|
- }
|
|
|
-}
|
|
|
+ return arr;
|
|
|
+ } else {
|
|
|
+ for (let j = 0; j < unitNumber; j++) {
|
|
|
+ arr.push({
|
|
|
+ unitName:
|
|
|
+ (unit.type == 'Number'
|
|
|
+ ? j + (Number(start) || 1)
|
|
|
+ : letter[(start && letter.indexOf(start) + j) || j] || `未命名${j + 1}`) + '单元',
|
|
|
+ unitFloorList: getFoolr()
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return arr;
|
|
|
+ }
|
|
|
+ };
|
|
|
+ //楼栋下有几栋,每栋有几单元,每个单元有几层,每层下有几户
|
|
|
+ // const initArray = () => {
|
|
|
+ // const start = floor.type == 'Number' ? !regExp1.test(Number(floor.start)) ? 1 : floor.start : !letter.includes(floor.start) ? 'A' : floor.start;
|
|
|
+ // const doorArray = [];
|
|
|
+ // for(let i = 0; i < buildingNumber; i++) {
|
|
|
+ // doorArray.push({
|
|
|
+ // name: floor.type == 'Number' ? i + (Number(start) || 1) : letter[start && letter.indexOf(start) + i || i] || `未命名${i + 1}`,
|
|
|
+ // code: 'build',
|
|
|
+ // children: getUnit()
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ // return doorArray;
|
|
|
+ // }
|
|
|
+ return {
|
|
|
+ // initDoor: initArray(),
|
|
|
+ // initDoor: getUnit(),
|
|
|
+ generateUnit: getUnit(),
|
|
|
+ generateFloor: getFoolr(),
|
|
|
+ generateDoor: (k) => getDoor(k)
|
|
|
+ };
|
|
|
+};
|
|
|
|
|
|
export const calcDoor = (data, checkedUnit) => {
|
|
|
- let number1 = 1,
|
|
|
- number2 = 0,
|
|
|
- number3 = 0,
|
|
|
- number4 = 0;
|
|
|
- _.each(data, (v1) => {
|
|
|
- if (checkedUnit) {
|
|
|
- number2++;
|
|
|
- }
|
|
|
- _.each(v1.unitFloorList, (v2) => {
|
|
|
- number3++;
|
|
|
- _.each(v2.roomList, (v3) => {
|
|
|
- number4++;
|
|
|
- })
|
|
|
- })
|
|
|
- })
|
|
|
- return {
|
|
|
- buildNumber: number1,
|
|
|
- unitNumber: number2,
|
|
|
- floorNumber: number3,
|
|
|
- doorNumber: number4
|
|
|
- }
|
|
|
-}
|
|
|
+ let number1 = 1,
|
|
|
+ number2 = 0,
|
|
|
+ number3 = 0,
|
|
|
+ number4 = 0;
|
|
|
+ _.each(data, (v1) => {
|
|
|
+ if (checkedUnit) {
|
|
|
+ number2++;
|
|
|
+ }
|
|
|
+ _.each(v1.unitFloorList, (v2) => {
|
|
|
+ number3++;
|
|
|
+ _.each(v2.roomList, (v3) => {
|
|
|
+ number4++;
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+ return {
|
|
|
+ buildNumber: number1,
|
|
|
+ unitNumber: number2,
|
|
|
+ floorNumber: number3,
|
|
|
+ doorNumber: number4
|
|
|
+ };
|
|
|
+};
|