teddyhuang пре 5 година
родитељ
комит
c17e4659d5
2 измењених фајлова са 64 додато и 28 уклоњено
  1. +26
    -23
      app/src/components/AccountManage.vue
  2. +38
    -5
      src/main/java/com/moze/rms/utils/ExcelExpoter.java

+ 26
- 23
app/src/components/AccountManage.vue Прегледај датотеку

@@ -58,12 +58,14 @@
</v-card-title>
<v-card-text>
<v-container>
<v-text-field v-model="insertItem.id" outlined rounded label="員工編號" />
<v-text-field v-model="insertItem.username" outlined rounded label="姓名" />
<v-select v-model="insertItem.department" outlined rounded :items="departments" label="部門"/>
<v-text-field v-model="insertItem.account" outlined rounded label="帳號" />
<v-text-field v-model="insertItem.pwd" outlined rounded label="密碼" />
<v-select v-model="insertItem.level" outlined rounded label="權限" :items="levelSelectItem" />
<v-text-field v-model="insertItem.id" outlined rounded label="員工編號"/>
<v-text-field v-model="insertItem.username" outlined rounded label="姓名"/>
<v-select v-model="insertItem.department" outlined rounded :items="departments"
label="部門"/>
<v-text-field v-model="insertItem.account" outlined rounded label="帳號"/>
<v-text-field v-model="insertItem.pwd" outlined rounded label="密碼"/>
<v-select v-model="insertItem.level" outlined rounded label="權限"
:items="levelSelectItem"/>
</v-container>
</v-card-text>
<v-card-actions>
@@ -123,12 +125,12 @@
</v-card-title>
<v-card-text>
<v-container>
<v-text-field v-model="modifyItem.id" outlined rounded label="員工編號" />
<v-text-field v-model="modifyItem.username" outlined rounded label="姓名" />
<v-select v-model="modifyItem.department" outlined rounded :items="departments" label="部門"/>
<v-text-field v-model="modifyItem.account" outlined rounded label="帳號" />
<v-text-field v-model="modifyItem.pwd" outlined rounded label="密碼" />
<v-select v-model="modifyItem.level" outlined rounded label="權限" :items="levelSelectItem" />
<v-text-field v-model="modifyItem.id" disabled outlined rounded label="員工編號"/>
<v-text-field v-model="modifyItem.username" outlined rounded label="姓名"/>
<v-select v-model="modifyItem.department" outlined rounded :items="departments" label="部門"/>
<v-text-field v-model="modifyItem.account" disabled outlined rounded label="帳號"/>
<v-text-field v-model="modifyItem.pwd" outlined rounded label="密碼"/>
<v-select v-model="modifyItem.level" outlined rounded label="權限" :items="levelSelectItem"/>
</v-container>
</v-card-text>
<v-card-actions>
@@ -143,7 +145,7 @@
<v-btn
color="blue darken-1"
text
@click="checkIdAndAccountRepeat(modifyItem, '修改')"
@click="modifyOne"
>
修改
</v-btn>
@@ -179,12 +181,12 @@
id: "",
},
modifyItem: {
account: "",
department: "",
level: "",
pwd: "",
username: "",
id: "",
account: "",
department: "",
level: "",
pwd: "",
username: "",
id: "",
},
progress: false,
levelSelectItem: [{'text': '超級管理員', 'value': '0'},
@@ -203,10 +205,8 @@
};
this.getDepartments();
},
computed: {
},
watch: {
},
computed: {},
watch: {},
methods: {
openDialogModify(item) {
console.log(item.department);
@@ -255,6 +255,9 @@
modifyOne() {
this.$axios.put(`/account/account`, this.modifyItem).then(() => {
this.getUsers();
Object.keys(this.modifyItem).forEach((key) => {
this.modifyItem[key] = '';
});
this.close();
}
);


+ 38
- 5
src/main/java/com/moze/rms/utils/ExcelExpoter.java Прегледај датотеку

@@ -9,6 +9,8 @@ import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.RegionUtil;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@@ -205,6 +207,15 @@ public class ExcelExpoter {
pageRowNo = 0; //新建了工作表,重置工作表的行號為0
// -----------定義表頭-----------
nRow = sheet.createRow(pageRowNo++);
HSSFCellStyle titleStyle = (HSSFCellStyle) wb.createCellStyle();
titleStyle.setAlignment(HorizontalAlignment.CENTER);
Cell cell_tem_title = nRow.createCell(0);
cell_tem_title.setCellStyle(titleStyle);
cell_tem_title.setCellValue("資訊資產清冊 " + sheetName + "類");
CellRangeAddress cra =new CellRangeAddress(0, 0, 0, titleKeyList.size() - 1);
sheet.addMergedRegion(cra);
rowNo++;
nRow = sheet.createRow(pageRowNo++);
HSSFCellStyle headerStyle = (HSSFCellStyle) wb.createCellStyle();
headerStyle.setFillForegroundColor(HSSFColor.HSSFColorPredefined.DARK_BLUE.getIndex());
headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
@@ -215,11 +226,15 @@ public class ExcelExpoter {
headerStyle.setBorderLeft(BorderStyle.THIN);
headerStyle.setBorderTop(BorderStyle.THIN);
headerStyle.setBorderRight(BorderStyle.THIN);
headerStyle.setVerticalAlignment(VerticalAlignment.TOP);
// 列數 titleKeyList.size()
for (int i = 0; i < titleKeyList.size(); i++) {
Cell cell_tem = nRow.createCell(i);
cell_tem.setCellValue(titleMap.get(titleKeyList.get(i)));
cell_tem.setCellStyle(headerStyle);
if (i != 0) {
sheet.setColumnWidth(i, 4500);
}
}
rowNo++;
nRow = sheet.createRow(pageRowNo++);
@@ -233,13 +248,15 @@ public class ExcelExpoter {
descriptStyle.setBorderLeft(BorderStyle.THIN);
descriptStyle.setBorderTop(BorderStyle.THIN);
descriptStyle.setBorderRight(BorderStyle.THIN);
descriptStyle.setVerticalAlignment(VerticalAlignment.TOP);
descriptStyle.setWrapText(true);
for (int i = 0; i < descriptMap.size(); i++) {
Cell cell_tem = nRow.createCell(i);
cell_tem.setCellValue(descriptMap.get(titleKeyList.get(i)));
cell_tem.setCellStyle(descriptStyle);
}
rowNo++;
sheet.createFreezePane(0, 2);
sheet.createFreezePane(0, 3);
// ---------------------------
}
rowNo++;
@@ -272,7 +289,8 @@ public class ExcelExpoter {
String xlsFile_name = "SeverList.xls"; //輸出xls檔名稱
//記憶體中只建立100個物件
Workbook wb = new HSSFWorkbook(); //關鍵語句
Iterator<Map.Entry<String, List<Map<String, Object>>>> iterator = src_lists.entrySet().iterator();
// Iterator<Map.Entry<String, List<Map<String, Object>>>> iterator = src_lists.entrySet().iterator();
Iterator<Map.Entry<String, String>> iterator = sheetNames.entrySet().iterator();
while (iterator.hasNext()) {
Sheet sheet = null; //工作表物件
Row nRow = null; //行物件
@@ -282,9 +300,9 @@ public class ExcelExpoter {
int pageRowNo = 0; //頁行號


Map.Entry<String, List<Map<String, Object>>> next = iterator.next();
Map.Entry<String, String> next = iterator.next();
String key = next.getKey();
List<Map<String, Object>> src_list = next.getValue();
List<Map<String, Object>> src_list = src_lists.get(key);

HSSFCellStyle dataStyle = (HSSFCellStyle) wb.createCellStyle();
dataStyle.setBorderBottom(BorderStyle.THIN);
@@ -302,6 +320,15 @@ public class ExcelExpoter {
pageRowNo = 0; //新建了工作表,重置工作表的行號為0
// -----------定義表頭-----------
nRow = sheet.createRow(pageRowNo++);
HSSFCellStyle titleStyle = (HSSFCellStyle) wb.createCellStyle();
titleStyle.setAlignment(HorizontalAlignment.CENTER);
Cell cell_tem_title = nRow.createCell(0);
cell_tem_title.setCellStyle(titleStyle);
cell_tem_title.setCellValue("資訊資產清冊 " + sheetNames.get(key) + "類");
CellRangeAddress cra =new CellRangeAddress(0, 0, 0, titleKeyLists.get(key).size() - 1);
sheet.addMergedRegion(cra);
rowNo++;
nRow = sheet.createRow(pageRowNo++);
HSSFCellStyle headerStyle = (HSSFCellStyle) wb.createCellStyle();
headerStyle.setFillForegroundColor(HSSFColor.HSSFColorPredefined.DARK_BLUE.getIndex());
headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
@@ -312,11 +339,15 @@ public class ExcelExpoter {
headerStyle.setBorderLeft(BorderStyle.THIN);
headerStyle.setBorderTop(BorderStyle.THIN);
headerStyle.setBorderRight(BorderStyle.THIN);
headerStyle.setVerticalAlignment(VerticalAlignment.TOP);
// 列數 titleKeyList.size()
for (int i = 0; i < titleKeyLists.get(key).size(); i++) {
Cell cell_tem = nRow.createCell(i);
cell_tem.setCellValue(titleMaps.get(key).get(titleKeyLists.get(key).get(i)));
cell_tem.setCellStyle(headerStyle);
if (i != 0) {
sheet.setColumnWidth(i, 4500);
}
}
rowNo++;
nRow = sheet.createRow(pageRowNo++);
@@ -330,13 +361,15 @@ public class ExcelExpoter {
descriptStyle.setBorderLeft(BorderStyle.THIN);
descriptStyle.setBorderTop(BorderStyle.THIN);
descriptStyle.setBorderRight(BorderStyle.THIN);
descriptStyle.setVerticalAlignment(VerticalAlignment.TOP);
descriptStyle.setWrapText(true);
for (int i = 0; i < descriptMaps.get(key).size(); i++) {
Cell cell_tem = nRow.createCell(i);
cell_tem.setCellValue(descriptMaps.get(key).get(titleKeyLists.get(key).get(i)));
cell_tem.setCellStyle(descriptStyle);
}
rowNo++;
sheet.createFreezePane(0, 2);
sheet.createFreezePane(0, 3);
// ---------------------------
}
rowNo++;


Loading…
Откажи
Сачувај