teddyhuang пре 5 година
родитељ
комит
39ad019256
11 измењених фајлова са 109 додато и 45 уклоњено
  1. +3
    -0
      app/src/components/AccountManage.vue
  2. +49
    -26
      app/src/components/AssetGroup.vue
  3. +3
    -0
      app/src/components/Home.vue
  4. +5
    -4
      app/src/components/Inventory.vue
  5. +22
    -13
      app/src/components/TypeManage.vue
  6. +3
    -1
      src/main/java/com/moze/rms/controller/AssertGroupController.java
  7. +1
    -0
      src/main/java/com/moze/rms/controller/InventoryController.java
  8. +3
    -0
      src/main/java/com/moze/rms/controller/TypeController.java
  9. +2
    -1
      src/main/java/com/moze/rms/dao/AssertDAO.java
  10. +6
    -0
      src/main/java/com/moze/rms/dao/InventoryDAO.java
  11. +12
    -0
      src/main/java/com/moze/rms/dao/TypeDAO.java

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

@@ -254,6 +254,7 @@
delete this.insertItem.tablename; delete this.insertItem.tablename;
this.getUsers(); this.getUsers();
this.close(); this.close();
alert('已新增');
} }
); );
}, },
@@ -263,7 +264,9 @@
Object.keys(this.modifyItem).forEach((key) => { Object.keys(this.modifyItem).forEach((key) => {
this.modifyItem[key] = ''; this.modifyItem[key] = '';
}); });
alert('已修改');
this.close(); this.close();

} }
); );
}, },


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

@@ -252,7 +252,7 @@
<v-text-field <v-text-field
v-if="header.text !== '' && header.value !== 'isselect' && isBooleanCol.indexOf(header.value) < 0 && header.value !== 'descript2'" v-if="header.text !== '' && header.value !== 'isselect' && isBooleanCol.indexOf(header.value) < 0 && header.value !== 'descript2'"
:label='header.text' :label='header.text'
:value="insertColItem[header.value]"
v-model="insertColItem[header.value]"
hint='必填' hint='必填'
v-on:input='oninput(insertColItem, header.value, $event)' v-on:input='oninput(insertColItem, header.value, $event)'
/> />
@@ -260,6 +260,7 @@
<v-select <v-select
v-if="header.value === 'isselect' && isBooleanCol.indexOf(header.value) < 0" v-if="header.value === 'isselect' && isBooleanCol.indexOf(header.value) < 0"
:label='header.text' hint='必填' :label='header.text' hint='必填'
v-model="insertColItem[header.value]"
v-on:input='oninput(insertColItem, header.value, $event)' v-on:input='oninput(insertColItem, header.value, $event)'
:items="selectColItem.isselect" :items="selectColItem.isselect"
:item-text="selectColItem.isselect.text" :item-text="selectColItem.isselect.text"
@@ -269,13 +270,14 @@
<v-select <v-select
v-if="header.value && isBooleanCol.indexOf(header.value) >= 0" v-if="header.value && isBooleanCol.indexOf(header.value) >= 0"
:label='header.text' hint='必填' :label='header.text' hint='必填'
v-model="insertColItem[header.value]"
v-on:input='oninput(insertColItem, header.value, $event)' v-on:input='oninput(insertColItem, header.value, $event)'
:items="selectColItem.boolean" :items="selectColItem.boolean"
:item-text="selectColItem.boolean.text" :item-text="selectColItem.boolean.text"
:item-value="selectColItem.boolean.value" :item-value="selectColItem.boolean.value"
/> />
<v-btn <v-btn
v-if="header.value === 'isselect' && insertColItem.isselect === 'true'"
v-if="insertColItem.colname !== 'type' && header.value === 'isselect' && insertColItem.isselect === 'true'"
@click='dialogInsertSelectItem = true' @click='dialogInsertSelectItem = true'
> >
編輯選項 編輯選項
@@ -283,6 +285,7 @@
<!--欄位說明欄位--> <!--欄位說明欄位-->
<v-textarea v-if="header.text === '欄位說明'" <v-textarea v-if="header.text === '欄位說明'"
:label='header.text' hint='必填' :label='header.text' hint='必填'
v-model="insertColItem[header.value]"
v-on:input='oninput(insertColItem, header.value, $event)' v-on:input='oninput(insertColItem, header.value, $event)'
auto-grow auto-grow
rows="1" /> rows="1" />
@@ -412,12 +415,12 @@
:item-text="selectColItem.boolean.text" :item-text="selectColItem.boolean.text"
:item-value="selectColItem.boolean.value" :item-value="selectColItem.boolean.value"
/> />
<!-- <v-btn-->
<!-- v-if="header.value === 'isselect' && modifyColItem.isselect === 'true'"-->
<!-- @click='dialogModifySelectItem = true'-->
<!-- >-->
<!-- 編輯選項-->
<!-- </v-btn>-->
<v-btn
v-if="modifyColItem.colname !== 'type' && header.value === 'isselect' && modifyColItem.isselect === 'true'"
@click='dialogModifySelectItem = true'
>
編輯選項
</v-btn>
<!--欄位說明欄位--> <!--欄位說明欄位-->
<v-textarea v-if="header.text === '欄位說明'" <v-textarea v-if="header.text === '欄位說明'"
:label='header.text' hint='必填' :label='header.text' hint='必填'
@@ -542,7 +545,7 @@
'tablename': '', 'tablename': '',
'descript': '', 'descript': '',
'colname': '', 'colname': '',
'level': null,
// 'level': null,
// 'type': '', // 'type': '',
'index': '', 'index': '',
'isselect': '', 'isselect': '',
@@ -604,7 +607,7 @@
this.getCols(); this.getCols();
}, },
dialogModifySelectItem() { dialogModifySelectItem() {
this.modifySelectItems = [];
}, },
modifySelectItems() { modifySelectItems() {
console.log(this.modifySelectItems[0]); console.log(this.modifySelectItems[0]);
@@ -617,7 +620,7 @@
this.getModifySelectItems(); this.getModifySelectItems();
} }
this.oldIndex = this.modifyColItem.index; this.oldIndex = this.modifyColItem.index;
}
},
}, },
methods: { methods: {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
@@ -652,7 +655,7 @@
} }
}, },
pushModifySelectItem() { pushModifySelectItem() {
if (this.modifySelectItems.indexOf(this.modifySelectItem) >= 0 || this.modifySelectItem === '' || this.modifyTypeSelectItem === '') {
if (this.modifySelectItems.indexOf(this.modifySelectItem) >= 0 || this.modifySelectItem === '') {
alert('選項不得重複或為空'); alert('選項不得重複或為空');
} else { } else {
if (this.modifyColItem.colname === 'type') { if (this.modifyColItem.colname === 'type') {
@@ -702,9 +705,12 @@
insertCol() { insertCol() {
this.insertColItem.issearch = 'true'; this.insertColItem.issearch = 'true';
this.insertColItem.isexport = 'true'; this.insertColItem.isexport = 'true';
this.insertColItem.isrequire = 'true';
console.log(this.insertColItem);
let stop; let stop;
for (const key in this.insertColItem) { for (const key in this.insertColItem) {
if (this.insertColItem[key] === '' && key !== 'tablename') {
if (this.insertColItem[key] === '' && key !== 'tablename' && key !== 'insertSelectItems' && key !== 'modifySelectItems' && key !== 'isselect' && key !== 'descript2') {
alert(key);
alert('所有資料不可為空'); alert('所有資料不可為空');
stop = true; stop = true;
return; return;
@@ -724,11 +730,13 @@
this.getCols(); this.getCols();
this.close(); this.close();
this.insertSelectItems = []; this.insertSelectItems = [];
delete this.insertColItem.tablename;
delete this.insertColItem.insertselectItems;
Object.keys(this.insertColItem).forEach((key) => {
this.insertColItem[key] = '';
});
// delete this.insertColItem.tablename;
// delete this.insertColItem.insertselectItems;
this.insertColItem = {};
// Object.keys(this.insertColItem).forEach((key) => {
// this.insertColItem[key] = '';
// });
alert('已新增');
} }
); );


@@ -738,6 +746,8 @@
this.dialogModify = false; this.dialogModify = false;
this.dialogNewAssertGroup = false; this.dialogNewAssertGroup = false;
this.dialogModifyAssertGroupName = false; this.dialogModifyAssertGroupName = false;
this.insertSelectItems = [];
this.modifySelectItems = [];
}, },
isDisabled(key) { isDisabled(key) {
const disabledKey = ['id']; const disabledKey = ['id'];
@@ -760,7 +770,10 @@
modifyCol() { modifyCol() {
let stop; let stop;
for (const key in this.modifyColItem) { for (const key in this.modifyColItem) {
if (this.modifyColItem[key] === '') {
if (this.modifyColItem[key] === '' && key !== 'level'
&& key !== 'insertSelectItems' && key !== 'modifySelectItems'
&& key !== 'oldIndex' && key !== 'type') {
console.log(key);
alert('所有資料不可為空'); alert('所有資料不可為空');
stop = true; stop = true;
return; return;
@@ -780,6 +793,7 @@
Object.keys(this.modifyColItem).forEach((key) => { Object.keys(this.modifyColItem).forEach((key) => {
this.modifyColItem[key] = ''; this.modifyColItem[key] = '';
}); });
alert('已修改');
} }
); );


@@ -797,9 +811,14 @@
await this.$axios.post(`/assert/assertGroups`, { await this.$axios.post(`/assert/assertGroups`, {
assertGroupDescript: this.insertAssertGroupDescript, assertGroupDescript: this.insertAssertGroupDescript,
assertGroupTablename: this.insertAssertGroupTablename assertGroupTablename: this.insertAssertGroupTablename
}).then(() => {
// this.getTabs();
// this.close();
location.reload();
}).catch(() => {
alert('名稱不可重複');
}); });
await this.getTabs();
this.close();

}, },
showTabOptionIcon(index) { showTabOptionIcon(index) {
this.optionIconShow = index; this.optionIconShow = index;
@@ -808,16 +827,20 @@
let yes = confirm('確認刪除此群組?'); let yes = confirm('確認刪除此群組?');
if (yes) { if (yes) {
await this.$axios.delete(`/assert/assertGroups?tablename=${item.value}`).then(() => { await this.$axios.delete(`/assert/assertGroups?tablename=${item.value}`).then(() => {
this.getTabs();
alert('已刪除');
// this.getTabs();
// alert('已刪除');
}); });
location.reload();
} }
}, },
async modifyAssertGroupName() { async modifyAssertGroupName() {
await this.$axios.put(`/assert/assertGroups?tablename=${this.modifyAssertGroup.value}&&newDescript=${this.modifyAssertGroup.text}`).then(() => { await this.$axios.put(`/assert/assertGroups?tablename=${this.modifyAssertGroup.value}&&newDescript=${this.modifyAssertGroup.text}`).then(() => {
this.getTabs();
alert('已修改');
this.close();
// this.getTabs();
// alert('已修改');
// this.close();
location.reload();
}).catch(() => {
alert('名稱不可重複');
}); });
}, },




+ 3
- 0
app/src/components/Home.vue Прегледај датотеку

@@ -197,6 +197,9 @@
this.getRoutes(); this.getRoutes();
}, },
methods: { methods: {
log(val) {
alert(val);
},
logout() { logout() {
this.$emit("authenticated", { this.$emit("authenticated", {
'username': null, 'username': null,


+ 5
- 4
app/src/components/Inventory.vue Прегледај датотеку

@@ -347,7 +347,7 @@
<v-btn <v-btn
color="blue darken-1" color="blue darken-1"
text text
@click="modifyOne(item)"
@click="modifyOne"
> >
修改 修改
</v-btn> </v-btn>
@@ -499,11 +499,12 @@
isRequire(key) { isRequire(key) {
return this.isrequired.indexOf(key) >= 0; return this.isrequired.indexOf(key) >= 0;
}, },
modifyOne(item) {
item.tablename = this.tablename;
this.$axios.put(`/inventory?`, item).then(() => {
modifyOne() {
this.modifyItem.tablename = this.tablename;
this.$axios.put(`/inventory?`, this.modifyItem).then(() => {
this.getInventories(); this.getInventories();
this.close(); this.close();
alert('已修改');
} }
); );
}, },


+ 22
- 13
app/src/components/TypeManage.vue Прегледај датотеку

@@ -108,6 +108,7 @@
<!--欄位說明欄位--> <!--欄位說明欄位-->
<v-textarea v-if="header.text === '說明' || header.text === '範例'" <v-textarea v-if="header.text === '說明' || header.text === '範例'"
:label='header.text' hint='必填' :label='header.text' hint='必填'
:value="insertColItem[header.value]"
v-on:input='oninput(insertColItem, header.value, $event)' v-on:input='oninput(insertColItem, header.value, $event)'
auto-grow auto-grow
rows="1" /> rows="1" />
@@ -296,6 +297,21 @@
}, },
insertCol() { insertCol() {
let stop; let stop;
if (this.insertColItem.c && this.insertColItem.c !== '' && isNaN(this.insertColItem.c) ) {
alert('欄位C、I和A須為數字或為空');
stop = true;
return;
}
if (this.insertColItem.i && this.insertColItem.i !== '' && isNaN(this.insertColItem.i) ) {
alert('欄位C、I和A須為數字或為空');
stop = true;
return;
}
if (this.insertColItem.a && this.insertColItem.a !== '' && isNaN(this.insertColItem.a) ) {
alert('欄位C、I和A須為數字或為空');
stop = true;
return;
}
this.cols.forEach((col) => { this.cols.forEach((col) => {
if (col.type === this.insertColItem.type) { if (col.type === this.insertColItem.type) {
alert('項次不可重複'); alert('項次不可重複');
@@ -309,9 +325,11 @@
this.getCols(); this.getCols();
this.close(); this.close();
delete this.insertColItem.tablename; delete this.insertColItem.tablename;
Object.keys(this.insertColItem).forEach((key) => {
this.insertColItem[key] = '';
});
this.insertColItem = {};
// Object.keys(this.insertColItem).forEach((key) => {
// this.insertColItem[key] = '';
// });
alert('已新增');
} }
); );


@@ -321,16 +339,6 @@
this.dialogModify = false; this.dialogModify = false;
}, },
modifyCol() { modifyCol() {
// let repatCount = 0;
// this.cols.forEach((col) => {
// if (col.type === this.modifyColItem.type) {
// repatCount++;
// }
// });
// if (repatCount >= 1) {
// alert('項次不可重複');
// return;
// }
this.modifyColItem.tablename = this.assertGroup[this.currentTab].value; this.modifyColItem.tablename = this.assertGroup[this.currentTab].value;
this.modifyColItem.oldId = this.oldId; this.modifyColItem.oldId = this.oldId;
this.$axios.put(`/type`, this.modifyColItem).then(() => { this.$axios.put(`/type`, this.modifyColItem).then(() => {
@@ -341,6 +349,7 @@
Object.keys(this.modifyColItem).forEach((key) => { Object.keys(this.modifyColItem).forEach((key) => {
this.modifyColItem[key] = ''; this.modifyColItem[key] = '';
}); });
alert('已修改');
} }
); );
}, },


+ 3
- 1
src/main/java/com/moze/rms/controller/AssertGroupController.java Прегледај датотеку

@@ -98,8 +98,10 @@ public class AssertGroupController {
assertDAO.sortCol2(mappingCol.getOldIndex(), mappingCol.getIndex(), mappingCol.getTablename()); assertDAO.sortCol2(mappingCol.getOldIndex(), mappingCol.getIndex(), mappingCol.getTablename());


assertDAO.modifyColToMappingCol(mappingCol); assertDAO.modifyColToMappingCol(mappingCol);
if (!mappingCol.getColname().equals("type")) {
assertDAO.modifySelectItems(mappingCol); assertDAO.modifySelectItems(mappingCol);
assertDAO.modifyMappingType(mappingCol);
// assertDAO.modifyMappingType(mappingCol);
}


return new JsonResult(StatusCode.SUCCESS, null); return new JsonResult(StatusCode.SUCCESS, null);
} }


+ 1
- 0
src/main/java/com/moze/rms/controller/InventoryController.java Прегледај датотеку

@@ -118,6 +118,7 @@ public class InventoryController {
List<MappingCol> mappingCols = mappingColDAO.findByTable(tablename); List<MappingCol> mappingCols = mappingColDAO.findByTable(tablename);
inventoryDAO.truncateTable(tablename); inventoryDAO.truncateTable(tablename);
searchDAO.deleteByTablename(tablename); searchDAO.deleteByTablename(tablename);
// inventoryDAO.resetIndex(tablename);
inventoryDAO.importInventories(tablename, mappingCols, data, searchDAO); inventoryDAO.importInventories(tablename, mappingCols, data, searchDAO);
f.deleteOnExit(); f.deleteOnExit();




+ 3
- 0
src/main/java/com/moze/rms/controller/TypeController.java Прегледај датотеку

@@ -45,6 +45,9 @@ public class TypeController {
if (type.get("id") != type.get("oldId")) { if (type.get("id") != type.get("oldId")) {
typeDAO.sortType1( type.get("oldId").toString(), type.get("id").toString(), (String)type.get("tablename")); typeDAO.sortType1( type.get("oldId").toString(), type.get("id").toString(), (String)type.get("tablename"));
typeDAO.sortType2( type.get("oldId").toString(), type.get("id").toString(), (String)type.get("tablename")); typeDAO.sortType2( type.get("oldId").toString(), type.get("id").toString(), (String)type.get("tablename"));
typeDAO.sortTypeInSelectItem1( type.get("oldId").toString(), type.get("id").toString(), (String)type.get("tablename"));
typeDAO.sortTypeInSelectItem2( type.get("oldId").toString(), type.get("id").toString(), (String)type.get("tablename"));

} }
typeDAO.updateType(type); typeDAO.updateType(type);
mappingColDAO.updateType(type.get("type").toString(),type.get("type") + " " + type.get("name"), type.get("tablename").toString(), type.get("id").toString()); mappingColDAO.updateType(type.get("type").toString(),type.get("type") + " " + type.get("name"), type.get("tablename").toString(), type.get("id").toString());


+ 2
- 1
src/main/java/com/moze/rms/dao/AssertDAO.java Прегледај датотеку

@@ -65,7 +65,8 @@ public interface AssertDAO extends SqlObject {
sql += " [ ] int,"; sql += " [ ] int,";
sql += " C int,"; sql += " C int,";
sql += " I int,"; sql += " I int,";
sql += " A int";
sql += " A int,";
sql += " id int";
sql += ")"; sql += ")";


handle.createUpdate(sql).execute(); handle.createUpdate(sql).execute();


+ 6
- 0
src/main/java/com/moze/rms/dao/InventoryDAO.java Прегледај датотеку

@@ -146,6 +146,12 @@ public interface InventoryDAO extends SqlObject {
return handle.createQuery(sql).mapToMap().list(); return handle.createQuery(sql).mapToMap().list();
} }


default void resetIndex(String tablename) {
Handle handle = this.getHandle();
String sql = "DBCC CHECKIDENT ("+ tablename +", RESEED, 0)";
handle.createUpdate(sql).execute();
}

default void importInventories(String tablename, List<MappingCol> mappingCols, List<Map<String, String>> datas, SearchDAO searchDAO) { default void importInventories(String tablename, List<MappingCol> mappingCols, List<Map<String, String>> datas, SearchDAO searchDAO) {


Handle handle = this.getHandle(); Handle handle = this.getHandle();


+ 12
- 0
src/main/java/com/moze/rms/dao/TypeDAO.java Прегледај датотеку

@@ -95,6 +95,18 @@ public interface TypeDAO extends SqlObject {
handle.createUpdate(sql).execute(); handle.createUpdate(sql).execute();
} }


default void sortTypeInSelectItem1(String oldId ,String id, String tablename) {
Handle handle = this.getHandle();
String sql = "update mapping.selectItem set [index] = [index] + 1 where [index] >= " + id + " and [index] < " + oldId + " and tablename = '" +tablename + "' and colname = 'type'";
handle.createUpdate(sql).execute();
}

default void sortTypeInSelectItem2(String oldId ,String id, String tablename) {
Handle handle = this.getHandle();
String sql = "update mapping.selectItem set [index] = [index] - 1 where [index] > " + oldId + " and [index] <= " + id + " and tablename = '" +tablename + "' and colname = 'type'";
handle.createUpdate(sql).execute();
}

default void sortTypeAfterDelete(String id, String tablename) { default void sortTypeAfterDelete(String id, String tablename) {
Handle handle = this.getHandle(); Handle handle = this.getHandle();
String sql = "update mapping.mapping_" + tablename + " set id = id - 1 where id > " + id; String sql = "update mapping.mapping_" + tablename + " set id = id - 1 where id > " + id;


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