|
@@ -2,44 +2,50 @@
|
|
<div class="editmemberlist-view" v-show="showEditMemberList">
|
|
<div class="editmemberlist-view" v-show="showEditMemberList">
|
|
<!--編輯單個學生-->
|
|
<!--編輯單個學生-->
|
|
<div class="editmemberlist-card editstudent-card" v-if="showEditStudent">
|
|
<div class="editmemberlist-card editstudent-card" v-if="showEditStudent">
|
|
- <p class="editstudent-title">{{ editStudentMode == "edit" ? "編輯學生" : "新增學生" }}</p>
|
|
|
|
- <div class="input-wrap"><label> 姓名</label><input type="text" v-model="tempEditName" maxlength="50" /></div>
|
|
|
|
- <div class="input-wrap"><label> 座號</label><input type="number" v-model="tempEditSeatID" oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);" @keydown="checkUserKeyboardInputSeatID($event)" min="1" max="999" maxlength="3" /></div>
|
|
|
|
|
|
+ <p class="editstudent-title">{{ editStudentMode == "edit" ? $t("memberlist['編輯學生']") : $t("memberlist['新增學生']") }}</p>
|
|
|
|
+ <div class="input-wrap">
|
|
|
|
+ <label> {{ $t("memberlist['姓名']") }}</label
|
|
|
|
+ ><input type="text" v-model="tempEditName" maxlength="50" />
|
|
|
|
+ </div>
|
|
|
|
+ <div class="input-wrap">
|
|
|
|
+ <label> {{ $t("memberlist['座號']") }}</label
|
|
|
|
+ ><input type="number" v-model="tempEditSeatID" oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);" @keydown="checkUserKeyboardInputSeatID($event)" min="1" max="999" maxlength="3" />
|
|
|
|
+ </div>
|
|
<div class="errmsg" v-show="showStudentErrMsgNum != 0">
|
|
<div class="errmsg" v-show="showStudentErrMsgNum != 0">
|
|
- <p v-show="showStudentErrMsgNum == 1">座號重複</p>
|
|
|
|
- <p v-show="showStudentErrMsgNum == 2">座號不可為空或輸入無法辨認的值</p>
|
|
|
|
- <p v-show="showStudentErrMsgNum == 3">姓名不可為空</p>
|
|
|
|
|
|
+ <p v-show="showStudentErrMsgNum == 1">{{ $t("memberlist['座號重複']") }}</p>
|
|
|
|
+ <p v-show="showStudentErrMsgNum == 2">{{ $t("memberlist['座號不可為空或輸入無法辨認的值']") }}</p>
|
|
|
|
+ <p v-show="showStudentErrMsgNum == 3">{{ $t("memberlist['姓名不可為空']") }}</p>
|
|
</div>
|
|
</div>
|
|
<div class="editmemberlistbtn-group">
|
|
<div class="editmemberlistbtn-group">
|
|
- <div class="editmemberlist-btn" @click="updateStudent()">{{ "確定" }}</div>
|
|
|
|
- <div class="editmemberlist-btn editmemberlist-cancelbtn" @click="cancelEditStudent()">{{ "取消" }}</div>
|
|
|
|
|
|
+ <div class="editmemberlist-btn" @click="updateStudent()">{{ $t("memberlist['確定']") }}</div>
|
|
|
|
+ <div class="editmemberlist-btn editmemberlist-cancelbtn" @click="cancelEditStudent()">{{ $t("memberlist['取消']") }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!--修改名單名稱-->
|
|
<!--修改名單名稱-->
|
|
<div class="editmemberlist-card editstudent-card" v-show="showEditListName">
|
|
<div class="editmemberlist-card editstudent-card" v-show="showEditListName">
|
|
- <p class="editstudent-title">修改名單名稱</p>
|
|
|
|
|
|
+ <p class="editstudent-title">{{ $t("memberlist['修改名單名稱']") }}</p>
|
|
<div class="input-wrap edit-listname"><input type="text" v-model="tempEditListName" maxlength="50" /></div>
|
|
<div class="input-wrap edit-listname"><input type="text" v-model="tempEditListName" maxlength="50" /></div>
|
|
- <div class="errmsg" v-show="showEditListNameMsg">表單名稱不可為空</div>
|
|
|
|
|
|
+ <div class="errmsg" v-show="showEditListNameMsg">{{ $t("memberlist['表單名稱不可為空']") }}</div>
|
|
<div class="editmemberlistbtn-group">
|
|
<div class="editmemberlistbtn-group">
|
|
- <div class="editmemberlist-btn" @click="updateListName()">{{ "確定" }}</div>
|
|
|
|
- <div class="editmemberlist-btn editmemberlist-cancelbtn" @click="cancelEditListName()">{{ "取消" }}</div>
|
|
|
|
|
|
+ <div class="editmemberlist-btn" @click="updateListName()">{{ $t("memberlist['確定']") }}</div>
|
|
|
|
+ <div class="editmemberlist-btn editmemberlist-cancelbtn" @click="cancelEditListName()">{{ $t("memberlist['取消']") }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!--確認刪除名單-->
|
|
<!--確認刪除名單-->
|
|
<div class="editmemberlist-card editstudent-card" v-show="showCorfirmDelete">
|
|
<div class="editmemberlist-card editstudent-card" v-show="showCorfirmDelete">
|
|
- <p class="editstudent-title">刪除{{ $parent.currentMemberList.listName }}</p>
|
|
|
|
- <p class="warndeletemsg">{{ "確定刪除後這個名單將無法復原!" }}</p>
|
|
|
|
|
|
+ <p class="editstudent-title">{{ $t("memberlist['刪除']") }}{{ $parent.currentMemberList.listName }}</p>
|
|
|
|
+ <p class="warndeletemsg">{{ $t("memberlist['確定刪除後這個名單將無法復原']") }}</p>
|
|
<div class="editmemberlistbtn-group">
|
|
<div class="editmemberlistbtn-group">
|
|
- <div class="editmemberlist-btn" @click="deleteMemberList()">{{ "確定" }}</div>
|
|
|
|
- <div class="editmemberlist-btn editmemberlist-cancelbtn" @click="showCorfirmDelete = false">{{ "取消" }}</div>
|
|
|
|
|
|
+ <div class="editmemberlist-btn" @click="deleteMemberList()">{{ $t("memberlist['確定']") }}</div>
|
|
|
|
+ <div class="editmemberlist-btn editmemberlist-cancelbtn" @click="showCorfirmDelete = false">{{ $t("memberlist['取消']") }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!--自訂學生名單總覽-->
|
|
<!--自訂學生名單總覽-->
|
|
<div class="editmemberlist-card" v-show="!showAddMemberList && !showEditStudent && !showCorfirmDelete && !showEditListName">
|
|
<div class="editmemberlist-card" v-show="!showAddMemberList && !showEditStudent && !showCorfirmDelete && !showEditListName">
|
|
<div class="closebtn" @click="closeEditMemberList()"><img src="@/statics/iconsvg/interaction/Close.svg" class="q-icon" /></div>
|
|
<div class="closebtn" @click="closeEditMemberList()"><img src="@/statics/iconsvg/interaction/Close.svg" class="q-icon" /></div>
|
|
- <p class="editmemberlist-title">{{ "自訂學生名單" }}</p>
|
|
|
|
|
|
+ <p class="editmemberlist-title">{{ $t("memberlist['自訂學生名單']") }}</p>
|
|
<!--選單控制按鈕外部-->
|
|
<!--選單控制按鈕外部-->
|
|
<div class="editmemberlist-rightbtns" v-show="$parent.testMemberlist.length > 0">
|
|
<div class="editmemberlist-rightbtns" v-show="$parent.testMemberlist.length > 0">
|
|
<div class="edit-btn" @click="openAddMemberList()"><svg-icon icon-class="new-page" /></div>
|
|
<div class="edit-btn" @click="openAddMemberList()"><svg-icon icon-class="new-page" /></div>
|
|
@@ -47,7 +53,7 @@
|
|
<div class="delete-btn" @click="showCorfirmDelete = true"><svg-icon icon-class="trash-alt-solid" /></div>
|
|
<div class="delete-btn" @click="showCorfirmDelete = true"><svg-icon icon-class="trash-alt-solid" /></div>
|
|
</div>
|
|
</div>
|
|
<div class="editmemberlist-empty" v-show="$parent.testMemberlist.length == 0">
|
|
<div class="editmemberlist-empty" v-show="$parent.testMemberlist.length == 0">
|
|
- <div @click="openAddMemberList()"><svg-icon icon-class="new-page" class="add-icon" /><br />創建名單</div>
|
|
|
|
|
|
+ <div @click="openAddMemberList()"><svg-icon icon-class="new-page" class="add-icon" /><br />{{ $t("memberlist['創建名單']") }}</div>
|
|
</div>
|
|
</div>
|
|
<div class="memberlist-wrap" v-if="$parent.testMemberlist.length > 0">
|
|
<div class="memberlist-wrap" v-if="$parent.testMemberlist.length > 0">
|
|
<div class="listitems">
|
|
<div class="listitems">
|
|
@@ -56,7 +62,7 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="listDetail" :style="{ 'min-height': tableHeight + 'px' }">
|
|
<div class="listDetail" :style="{ 'min-height': tableHeight + 'px' }">
|
|
- <Table :fixed-header="true" @on-row-click="setEditStudent" :row-class-name="hintSelectedRow" v-show="Object.keys($parent.currentMemberList).length >= 0" :height="tableHeight - 41" :no-data-text="`<p>暫無資料</p>`" :columns="editColumns" :data="$parent.currentMemberList.list"></Table>
|
|
|
|
|
|
+ <Table :fixed-header="true" @on-row-click="setEditStudent" :row-class-name="hintSelectedRow" v-show="Object.keys($parent.currentMemberList).length >= 0" :height="tableHeight - 41" :no-data-text="`<p>${$t('memberlist.暫無數據')}</p>`" :columns="columnsTitle" :data="$parent.currentMemberList.list"></Table>
|
|
<!--選單控制按鈕內部-->
|
|
<!--選單控制按鈕內部-->
|
|
<div class="editmemberlist-bottombtns" v-show="$parent.testMemberlist.length > 0">
|
|
<div class="editmemberlist-bottombtns" v-show="$parent.testMemberlist.length > 0">
|
|
<div class="edit-btn" @click="addStudent()"><svg-icon icon-class="new-page" /></div>
|
|
<div class="edit-btn" @click="addStudent()"><svg-icon icon-class="new-page" /></div>
|
|
@@ -73,16 +79,16 @@
|
|
<div class="edit-tooltip">
|
|
<div class="edit-tooltip">
|
|
<div class="close-btn" @click="showEditHint = false"><svg-icon icon-class="Close" /></div>
|
|
<div class="close-btn" @click="showEditHint = false"><svg-icon icon-class="Close" /></div>
|
|
<p v-html="hintInfo"></p>
|
|
<p v-html="hintInfo"></p>
|
|
- <div class="tooltip-btn" @click="useSampleList()">複製範例</div>
|
|
|
|
|
|
+ <div class="tooltip-btn" @click="useSampleList()">{{ $t("memberlist.複製範例") }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
- <input type="text" class="add-title" v-model="currentEditMemberListName" placeholder="新建的學生名單..." />
|
|
|
|
|
|
+ <input type="text" class="add-title" v-model="currentEditMemberListName" :placeholder="$t('memberlist.新建的學生名單')" maxlength="50" />
|
|
<div class="example-btn" @click="showEditHint = !showEditHint"><svg-icon icon-class="question" /></div>
|
|
<div class="example-btn" @click="showEditHint = !showEditHint"><svg-icon icon-class="question" /></div>
|
|
<div class="addmember-area">
|
|
<div class="addmember-area">
|
|
- <textarea class="left-part" v-model="addmemberlisttext" name="addmember" id="" cols="30" rows="10" placeholder="輸入名單資料..."></textarea>
|
|
|
|
|
|
+ <textarea class="left-part" v-model="addmemberlisttext" name="addmember" id="" cols="30" rows="10" :placeholder="$t('memberlist.輸入名單資料')"></textarea>
|
|
<div class="right-part">
|
|
<div class="right-part">
|
|
- <Table :fixed-header="true" :height="tableHeight" :no-data-text="`<p>暫無資料</p>`" :columns="addmemberlistColumns" :data="tempAddMemberList" :row-class-name="hintBugRow"></Table>
|
|
|
|
|
|
+ <Table :fixed-header="true" :height="tableHeight" :no-data-text="`<p>${$t('memberlist.暫無數據')}</p>`" :columns="columnsTitle" :data="tempAddMemberList" :row-class-name="hintBugRow"></Table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div v-show="addMemberListErrMsg.length > 0" class="errmsg">
|
|
<div v-show="addMemberListErrMsg.length > 0" class="errmsg">
|
|
@@ -92,12 +98,12 @@
|
|
</div>
|
|
</div>
|
|
<div></div>
|
|
<div></div>
|
|
<div v-show="showAddMemberAutoSeatIDMsg" class="hintmsg">
|
|
<div v-show="showAddMemberAutoSeatIDMsg" class="hintmsg">
|
|
- {{ "無法辨識座號規則,系統採自動編號" }}
|
|
|
|
|
|
+ {{ $t("memberlist.自動編號提示字") }}
|
|
</div>
|
|
</div>
|
|
<div class="editmemberlistbtn-group">
|
|
<div class="editmemberlistbtn-group">
|
|
- <div class="editmemberlist-btn" @click="checkAddMemberList()">{{ "預覽" }}</div>
|
|
|
|
- <div class="editmemberlist-btn" @click="saveTestMemberList()" :class="{ 'editmemberlist-disabledBtn': addMemberListErrMsg.length > 0 || currentEditMemberListName == '' || addmemberlisttext == '' || tempAddMemberList.length == 0 }">{{ "儲存預覽表格" }}</div>
|
|
|
|
- <div class="editmemberlist-btn" @click="showAddMemberList = false">{{ $t("board['取消']") }}</div>
|
|
|
|
|
|
+ <div class="editmemberlist-btn" @click="checkAddMemberList()">{{ $t("memberlist.預覽") }}</div>
|
|
|
|
+ <div class="editmemberlist-btn" @click="saveTestMemberList()" :class="{ 'editmemberlist-disabledBtn': addMemberListErrMsg.length > 0 || currentEditMemberListName == '' || addmemberlisttext == '' || tempAddMemberList.length == 0 }">{{ $t("memberlist.儲存預覽表格") }}</div>
|
|
|
|
+ <div class="editmemberlist-btn" @click="showAddMemberList = false">{{ $t("memberlist['取消']") }}</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -108,41 +114,22 @@ export default {
|
|
name: "EditMemberList",
|
|
name: "EditMemberList",
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
- hintInfo: `輸入名單小技巧<br><br>名單的格式為:
|
|
|
|
- 姓名, 座號 <br>(座號可省略,如有填寫則須每列都填寫)<br><br>
|
|
|
|
- 限制<br>
|
|
|
|
- 姓名:字數長度50以內<br>
|
|
|
|
- 座號:不能重複數字,應小於1000
|
|
|
|
- <br><br>
|
|
|
|
- 範例 <br>
|
|
|
|
- 王大明, 1,<br>
|
|
|
|
- 張小凡, 2,<br>
|
|
|
|
- 陳士軒, 3,<br>`,
|
|
|
|
|
|
+ hintInfo: this.$t("memberlist['名單範例模板']"),
|
|
showEditMemberList: false,
|
|
showEditMemberList: false,
|
|
showAddMemberList: false,
|
|
showAddMemberList: false,
|
|
showEditStudent: false,
|
|
showEditStudent: false,
|
|
currentEditMemberListName: "",
|
|
currentEditMemberListName: "",
|
|
addmemberlisttext: "",
|
|
addmemberlisttext: "",
|
|
- addmemberlistColumns: [
|
|
|
|
- {
|
|
|
|
- title: "姓名",
|
|
|
|
- key: "memberName",
|
|
|
|
- sortable: true,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- title: "座號",
|
|
|
|
- key: "seatID",
|
|
|
|
- sortable: true,
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
- editColumns: [
|
|
|
|
|
|
+ columnsTitle: [
|
|
{
|
|
{
|
|
- title: "姓名",
|
|
|
|
|
|
+ title: this.$t("memberlist['姓名']"),
|
|
key: "memberName",
|
|
key: "memberName",
|
|
sortable: true,
|
|
sortable: true,
|
|
|
|
+ ellipsis: true,
|
|
|
|
+ tooltip: true,
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- title: "座號",
|
|
|
|
|
|
+ title: this.$t("memberlist['座號']"),
|
|
key: "seatID",
|
|
key: "seatID",
|
|
sortable: true,
|
|
sortable: true,
|
|
},
|
|
},
|
|
@@ -184,7 +171,6 @@ export default {
|
|
this.showEditMemberList = true;
|
|
this.showEditMemberList = true;
|
|
},
|
|
},
|
|
openEditMemberList() {
|
|
openEditMemberList() {
|
|
- console.log("開名單");
|
|
|
|
this.editMemberListMode = "Menu";
|
|
this.editMemberListMode = "Menu";
|
|
this.showEditMemberList = true;
|
|
this.showEditMemberList = true;
|
|
this.Hishow = false;
|
|
this.Hishow = false;
|
|
@@ -194,7 +180,7 @@ export default {
|
|
this.tempAddMemberList = [];
|
|
this.tempAddMemberList = [];
|
|
this.addMemberListErrRow = [];
|
|
this.addMemberListErrRow = [];
|
|
this.addMemberListErrMsg = [];
|
|
this.addMemberListErrMsg = [];
|
|
- this.currentEditMemberListName = "自訂名單" + (this.$parent.testMemberlist.length + 1);
|
|
|
|
|
|
+ this.currentEditMemberListName = this.$t("memberlist['自訂名單']") + (this.$parent.testMemberlist.length + 1);
|
|
this.currentEditMemberList = {};
|
|
this.currentEditMemberList = {};
|
|
this.addmemberlisttext = "";
|
|
this.addmemberlisttext = "";
|
|
this.showAddMemberAutoSeatIDMsg = false;
|
|
this.showAddMemberAutoSeatIDMsg = false;
|
|
@@ -226,6 +212,7 @@ export default {
|
|
let isAutoSeatID = false;
|
|
let isAutoSeatID = false;
|
|
this.showAddMemberAutoSeatIDMsg = false;
|
|
this.showAddMemberAutoSeatIDMsg = false;
|
|
//檢測座號是否皆為數字,部分有部分沒有就直接自動編號
|
|
//檢測座號是否皆為數字,部分有部分沒有就直接自動編號
|
|
|
|
+ if (this.currentEditMemberListName == "") this.setAddMemberErrMsg(this.$t("memberlist['表單名稱不可為空']"));
|
|
if (data.length % 2 == 1) {
|
|
if (data.length % 2 == 1) {
|
|
isAutoSeatID = true;
|
|
isAutoSeatID = true;
|
|
} else {
|
|
} else {
|
|
@@ -244,7 +231,7 @@ export default {
|
|
const seatIDs = data.filter((item, index) => index % 2 == 1);
|
|
const seatIDs = data.filter((item, index) => index % 2 == 1);
|
|
// console.log(seatIDs)
|
|
// console.log(seatIDs)
|
|
if (this.hasDuplicates(seatIDs)) {
|
|
if (this.hasDuplicates(seatIDs)) {
|
|
- this.setAddMemberErrMsg("帶有重複座號");
|
|
|
|
|
|
+ this.setAddMemberErrMsg(this.$t("memberlist['帶有重複座號']"));
|
|
|
|
|
|
let firstAppearID = [];
|
|
let firstAppearID = [];
|
|
seatIDs.forEach((id, index) => {
|
|
seatIDs.forEach((id, index) => {
|
|
@@ -264,7 +251,7 @@ export default {
|
|
//檢測座號是否<=999
|
|
//檢測座號是否<=999
|
|
// console.log(index%2)
|
|
// console.log(index%2)
|
|
if (index % 2 == 1 && parseInt(item) > 999) {
|
|
if (index % 2 == 1 && parseInt(item) > 999) {
|
|
- this.setAddMemberErrMsg("座號應設置於1-999");
|
|
|
|
|
|
+ this.setAddMemberErrMsg(this.$t("memberlist['座號範圍提示字']"));
|
|
this.addMemberListErrRow.push(parseInt(index / 2));
|
|
this.addMemberListErrRow.push(parseInt(index / 2));
|
|
}
|
|
}
|
|
if (index % 2 == 1 && !isNaN(parseInt(item))) {
|
|
if (index % 2 == 1 && !isNaN(parseInt(item))) {
|
|
@@ -289,7 +276,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
saveTestMemberList() {
|
|
saveTestMemberList() {
|
|
- if (this.addMemberListErrMsg.length === 0 && this.addmemberlisttext != "" && this.tempAddMemberList.length != 0) {
|
|
|
|
|
|
+ if (this.addMemberListErrMsg.length === 0 && this.addmemberlisttext != "" && this.tempAddMemberList.length != 0 && this.currentEditMemberListName != "") {
|
|
this.$parent.testMemberlist.push({
|
|
this.$parent.testMemberlist.push({
|
|
listName: this.currentEditMemberListName,
|
|
listName: this.currentEditMemberListName,
|
|
list: this.tempAddMemberList,
|
|
list: this.tempAddMemberList,
|
|
@@ -300,7 +287,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
useSampleList() {
|
|
useSampleList() {
|
|
- this.addmemberlisttext = `王大明, 1,\n張小凡, 2,\n陳士軒, 3,\n`;
|
|
|
|
|
|
+ this.addmemberlisttext = this.$t("memberlist['範例名單']");
|
|
},
|
|
},
|
|
deleteMemberList() {
|
|
deleteMemberList() {
|
|
const deleteIndex = this.$parent.testMemberlist.findIndex((list) => list.listID == this.$parent.currentMemberList.listID);
|
|
const deleteIndex = this.$parent.testMemberlist.findIndex((list) => list.listID == this.$parent.currentMemberList.listID);
|
|
@@ -323,7 +310,7 @@ export default {
|
|
}
|
|
}
|
|
if (this.editStudentMode == "edit") {
|
|
if (this.editStudentMode == "edit") {
|
|
if ((this.isSeatIDduplicate() && this.currentEditStudent.seatID == this.tempEditSeatID) || (!this.isSeatIDduplicate() && this.currentEditStudent.seatID != this.tempEditSeatID)) {
|
|
if ((this.isSeatIDduplicate() && this.currentEditStudent.seatID == this.tempEditSeatID) || (!this.isSeatIDduplicate() && this.currentEditStudent.seatID != this.tempEditSeatID)) {
|
|
- console.log("純改");
|
|
|
|
|
|
+ // console.log("純改");
|
|
const targetId = this.$parent.testMemberlist[parentIndex].list.findIndex((stu) => stu.memberID == this.currentEditStudent.memberID);
|
|
const targetId = this.$parent.testMemberlist[parentIndex].list.findIndex((stu) => stu.memberID == this.currentEditStudent.memberID);
|
|
this.showStudentErrMsgNum = 0;
|
|
this.showStudentErrMsgNum = 0;
|
|
this.$parent.testMemberlist[parentIndex].list[targetId].seatID = this.tempEditSeatID;
|
|
this.$parent.testMemberlist[parentIndex].list[targetId].seatID = this.tempEditSeatID;
|
|
@@ -349,10 +336,9 @@ export default {
|
|
isSeatIDduplicate() {
|
|
isSeatIDduplicate() {
|
|
const parentIndex = this.$parent.testMemberlist.findIndex((list) => list.listID == this.$parent.currentMemberList.listID);
|
|
const parentIndex = this.$parent.testMemberlist.findIndex((list) => list.listID == this.$parent.currentMemberList.listID);
|
|
const targetId = this.$parent.testMemberlist[parentIndex].list.findIndex((stu) => stu.seatID == this.tempEditSeatID);
|
|
const targetId = this.$parent.testMemberlist[parentIndex].list.findIndex((stu) => stu.seatID == this.tempEditSeatID);
|
|
- console.log(this.$parent.testMemberlist[parentIndex].list, targetId);
|
|
|
|
|
|
+ // console.log(this.$parent.testMemberlist[parentIndex].list, targetId);
|
|
return targetId !== -1;
|
|
return targetId !== -1;
|
|
},
|
|
},
|
|
- editMemberList() {},
|
|
|
|
cancelEditStudent() {
|
|
cancelEditStudent() {
|
|
this.showEditStudent = false;
|
|
this.showEditStudent = false;
|
|
},
|
|
},
|
|
@@ -373,9 +359,8 @@ export default {
|
|
this.showStudentErrMsgNum = 0;
|
|
this.showStudentErrMsgNum = 0;
|
|
this.showEditStudent = true;
|
|
this.showEditStudent = true;
|
|
this.editStudentMode = "add";
|
|
this.editStudentMode = "add";
|
|
- const parentIndex = this.$parent.testMemberlist.findIndex((list) => list.listID == this.$parent.currentMemberList.listID);
|
|
|
|
this.tempEditName = "";
|
|
this.tempEditName = "";
|
|
- this.tempEditSeatID = this.$parent.testMemberlist[parentIndex].list.length + 1;
|
|
|
|
|
|
+ this.tempEditSeatID = "";
|
|
},
|
|
},
|
|
hintBugRow(row, index) {
|
|
hintBugRow(row, index) {
|
|
return this.addMemberListErrRow.indexOf(index) != -1 ? "bug-row" : "";
|
|
return this.addMemberListErrRow.indexOf(index) != -1 ? "bug-row" : "";
|
|
@@ -538,16 +523,17 @@ export default {
|
|
}
|
|
}
|
|
.input-wrap {
|
|
.input-wrap {
|
|
text-align: left;
|
|
text-align: left;
|
|
- padding: 10px 10px 10px 5px;
|
|
|
|
- font-size: 20px;
|
|
|
|
-
|
|
|
|
|
|
+ padding: 5px 10px 10px 5px;
|
|
|
|
+ line-height: 30px;
|
|
|
|
+ label {
|
|
|
|
+ margin: 10px 0px;
|
|
|
|
+ }
|
|
input {
|
|
input {
|
|
font-size: 16px;
|
|
font-size: 16px;
|
|
padding: 5px;
|
|
padding: 5px;
|
|
border-radius: 4px;
|
|
border-radius: 4px;
|
|
border: 2px solid gray;
|
|
border: 2px solid gray;
|
|
- margin-left: 10px;
|
|
|
|
- width: 75%;
|
|
|
|
|
|
+ width: 100%;
|
|
text-align: center;
|
|
text-align: center;
|
|
&:focus {
|
|
&:focus {
|
|
border: 2px solid blue;
|
|
border: 2px solid blue;
|
|
@@ -622,10 +608,10 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.listitems {
|
|
.listitems {
|
|
- flex: 1;
|
|
|
|
|
|
+ flex: 2;
|
|
border: 1px solid #ccc !important;
|
|
border: 1px solid #ccc !important;
|
|
position: relative;
|
|
position: relative;
|
|
-
|
|
|
|
|
|
+ width: 40%;
|
|
.listitem-light {
|
|
.listitem-light {
|
|
color: blue;
|
|
color: blue;
|
|
border: 1px solid blue !important;
|
|
border: 1px solid blue !important;
|
|
@@ -633,14 +619,16 @@ export default {
|
|
}
|
|
}
|
|
.listitem {
|
|
.listitem {
|
|
width: 100%;
|
|
width: 100%;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ white-space: nowrap;
|
|
|
|
+ text-overflow: ellipsis;
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
- display: inline-block !important;
|
|
|
|
background-color: #fcfcfc;
|
|
background-color: #fcfcfc;
|
|
border-width: 2px;
|
|
border-width: 2px;
|
|
border: 1px solid transparent;
|
|
border: 1px solid transparent;
|
|
border-bottom: 1px solid #ccc;
|
|
border-bottom: 1px solid #ccc;
|
|
- padding: 5px;
|
|
|
|
- font-size: 16px;
|
|
|
|
|
|
+ padding: 15px;
|
|
|
|
+ font-size: 14px;
|
|
&:hover {
|
|
&:hover {
|
|
// background-color: darken(#fcfcfc, 10%);
|
|
// background-color: darken(#fcfcfc, 10%);
|
|
color: blue;
|
|
color: blue;
|
|
@@ -657,7 +645,7 @@ export default {
|
|
border-width: 2px;
|
|
border-width: 2px;
|
|
border-radius: 4px;
|
|
border-radius: 4px;
|
|
position: relative;
|
|
position: relative;
|
|
- flex: 1;
|
|
|
|
|
|
+ flex: 3;
|
|
text-align: left;
|
|
text-align: left;
|
|
background-color: #fcfcfc;
|
|
background-color: #fcfcfc;
|
|
overflow: auto;
|
|
overflow: auto;
|
|
@@ -693,10 +681,10 @@ export default {
|
|
margin: 10px 5px;
|
|
margin: 10px 5px;
|
|
display: flex;
|
|
display: flex;
|
|
.left-part {
|
|
.left-part {
|
|
- flex: 1;
|
|
|
|
|
|
+ flex: 2;
|
|
}
|
|
}
|
|
.right-part {
|
|
.right-part {
|
|
- flex: 1;
|
|
|
|
|
|
+ flex: 3;
|
|
width: 100%;
|
|
width: 100%;
|
|
}
|
|
}
|
|
textarea {
|
|
textarea {
|