|
|
|
@@ -169,7 +169,7 @@ |
|
|
|
</v-card> |
|
|
|
</v-dialog> |
|
|
|
<v-btn icon> |
|
|
|
<v-icon v-show="level === 0" small @click="deleteAssertGroup(item)"> |
|
|
|
<v-icon v-show="level === 0 && optionIconShow === index" small @click="deleteAssertGroup(item)"> |
|
|
|
mdi-delete |
|
|
|
</v-icon> |
|
|
|
</v-btn> |
|
|
|
@@ -193,7 +193,7 @@ |
|
|
|
{{item.isselect === 'true' ? '選項':'文字'}} |
|
|
|
</template> |
|
|
|
<template v-slot:item.isrequire='{ item }'> |
|
|
|
{{item.isselect === 'true' ? '是':'否'}} |
|
|
|
{{item.isrequire === 'true' ? '是':'否'}} |
|
|
|
</template> |
|
|
|
<template v-slot:item.isexport='{ item }'> |
|
|
|
{{item.isselect === 'true' ? '是':'否'}} |
|
|
|
@@ -258,12 +258,14 @@ |
|
|
|
:label='header.text' |
|
|
|
v-model="insertColItem[header.value]" |
|
|
|
hint='必填' |
|
|
|
persistent-hint |
|
|
|
v-on:input='oninput(insertColItem, header.value, $event)' |
|
|
|
/> |
|
|
|
<!--選項型欄位--> |
|
|
|
<v-select |
|
|
|
v-if="header.value === 'isselect' && isBooleanCol.indexOf(header.value) < 0" |
|
|
|
:label='header.text' hint='必填' |
|
|
|
persistent-hint |
|
|
|
v-model="insertColItem[header.value]" |
|
|
|
v-on:input='oninput(insertColItem, header.value, $event)' |
|
|
|
:items="selectColItem.isselect" |
|
|
|
@@ -274,6 +276,7 @@ |
|
|
|
<v-select |
|
|
|
v-if="header.value && isBooleanCol.indexOf(header.value) >= 0" |
|
|
|
:label='header.text' hint='必填' |
|
|
|
persistent-hint |
|
|
|
v-model="insertColItem[header.value]" |
|
|
|
v-on:input='oninput(insertColItem, header.value, $event)' |
|
|
|
:items="selectColItem.boolean" |
|
|
|
@@ -288,7 +291,7 @@ |
|
|
|
</v-btn> |
|
|
|
<!--欄位說明欄位--> |
|
|
|
<v-textarea v-if="header.text === '欄位說明'" |
|
|
|
:label='header.text' hint='必填' |
|
|
|
:label='header.text' |
|
|
|
v-model="insertColItem[header.value]" |
|
|
|
v-on:input='oninput(insertColItem, header.value, $event)' |
|
|
|
auto-grow |
|
|
|
@@ -395,6 +398,7 @@ |
|
|
|
<v-text-field |
|
|
|
v-if="header.text !== '' && header.value !== 'isselect' && isBooleanCol.indexOf(header.value) < 0 && header.value !== 'descript2'" |
|
|
|
:label='header.text' |
|
|
|
persistent-hint |
|
|
|
:value="modifyColItem[header.value]" |
|
|
|
hint='必填' |
|
|
|
v-on:input='oninput(modifyColItem, header.value, $event)' |
|
|
|
@@ -403,6 +407,7 @@ |
|
|
|
<v-select |
|
|
|
v-if="header.value === 'isselect' && isBooleanCol.indexOf(header.value) < 0" |
|
|
|
:label='header.text' hint='必填' |
|
|
|
persistent-hint |
|
|
|
:value="modifyColItem[header.value]" |
|
|
|
v-on:input='oninput(modifyColItem, header.value, $event)' |
|
|
|
:items="selectColItem.isselect" |
|
|
|
@@ -413,6 +418,7 @@ |
|
|
|
<v-select |
|
|
|
v-if="header.value && isBooleanCol.indexOf(header.value) >= 0" |
|
|
|
:label='header.text' hint='必填' |
|
|
|
persistent-hint |
|
|
|
:value="modifyColItem[header.value]" |
|
|
|
v-on:input='oninput(modifyColItem, header.value, $event)' |
|
|
|
:items="selectColItem.boolean" |
|
|
|
@@ -427,7 +433,7 @@ |
|
|
|
</v-btn> |
|
|
|
<!--欄位說明欄位--> |
|
|
|
<v-textarea v-if="header.text === '欄位說明'" |
|
|
|
:label='header.text' hint='必填' |
|
|
|
:label='header.text' |
|
|
|
:value="modifyColItem[header.value]" |
|
|
|
v-on:input='oninput(modifyColItem, header.value, $event)' |
|
|
|
auto-grow |
|
|
|
@@ -611,10 +617,12 @@ |
|
|
|
this.getCols(); |
|
|
|
}, |
|
|
|
dialogModifySelectItem() { |
|
|
|
this.modifySelectItems = []; |
|
|
|
if (this.dialogModify === false) { |
|
|
|
this.modifySelectItems = []; |
|
|
|
} |
|
|
|
}, |
|
|
|
modifySelectItems() { |
|
|
|
console.log(this.modifySelectItems[0]); |
|
|
|
// console.log(this.modifySelectItems[0]); |
|
|
|
}, |
|
|
|
dialogInsert() { |
|
|
|
this.insertColItem.index = (parseInt(this.allCols[this.assertGroup[this.currentTab].value][this.allCols[this.assertGroup[this.currentTab].value].length - 1].index) + 1).toString(); |
|
|
|
@@ -644,6 +652,7 @@ |
|
|
|
this.$axios.get(`/assert/selectItems?tablename=${this.modifyColItem.tablename}&&colname=${this.modifyColItem.colname}`).then((resp) => { |
|
|
|
console.log(resp.data.data); |
|
|
|
this.modifySelectItems = resp.data.data; |
|
|
|
console.log(this.modifySelectItems); |
|
|
|
}); |
|
|
|
}, |
|
|
|
closeDialogModifySelectItem() { |
|
|
|
@@ -707,14 +716,27 @@ |
|
|
|
}); |
|
|
|
}, |
|
|
|
insertCol() { |
|
|
|
console.log(this.insertColItem); |
|
|
|
// eslint-disable-next-line no-constant-condition |
|
|
|
// if (1 === 1 ) return; |
|
|
|
this.insertColItem.issearch = 'true'; |
|
|
|
this.insertColItem.isexport = 'true'; |
|
|
|
this.insertColItem.isrequire = 'true'; |
|
|
|
console.log(this.insertColItem); |
|
|
|
// this.insertColItem.isrequire = 'true'; |
|
|
|
let stop; |
|
|
|
// const pattern = new RegExp("[\u4E00-\u9FA5]+"); |
|
|
|
const pattern1 = new RegExp('\\w'); |
|
|
|
const pattern2 = new RegExp('^[A-Z]+|^[a-z]+'); |
|
|
|
const pattern3 = new RegExp('\\s'); |
|
|
|
if (!pattern1.test(this.insertColItem.colname) || !pattern2.test(this.insertColItem.colname) || pattern3.test(this.insertColItem.colname)) { |
|
|
|
alert('1.資料庫欄位名稱限定使用英文及數字\n' + |
|
|
|
'2.首位須為英文\n' + |
|
|
|
'3.不得有空白'); |
|
|
|
stop = true; |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
for (const key in this.insertColItem) { |
|
|
|
if (this.insertColItem[key] === '' && key !== 'tablename' && key !== 'insertSelectItems' && key !== 'modifySelectItems' && key !== 'isselect' && key !== 'descript2') { |
|
|
|
alert(key); |
|
|
|
alert('所有資料不可為空'); |
|
|
|
stop = true; |
|
|
|
return; |
|
|
|
@@ -734,12 +756,11 @@ |
|
|
|
this.getCols(); |
|
|
|
this.close(); |
|
|
|
this.insertSelectItems = []; |
|
|
|
// delete this.insertColItem.tablename; |
|
|
|
// delete this.insertColItem.insertselectItems; |
|
|
|
this.insertColItem = {}; |
|
|
|
// Object.keys(this.insertColItem).forEach((key) => { |
|
|
|
// this.insertColItem[key] = ''; |
|
|
|
// }); |
|
|
|
delete this.insertColItem.tablename; |
|
|
|
delete this.insertColItem.insertselectItems; |
|
|
|
Object.keys(this.insertColItem).forEach((key) => { |
|
|
|
this.insertColItem[key] = ''; |
|
|
|
}); |
|
|
|
alert('已新增'); |
|
|
|
} |
|
|
|
); |
|
|
|
@@ -776,7 +797,7 @@ |
|
|
|
for (const key in this.modifyColItem) { |
|
|
|
if (this.modifyColItem[key] === '' && key !== 'level' |
|
|
|
&& key !== 'insertSelectItems' && key !== 'modifySelectItems' |
|
|
|
&& key !== 'oldIndex' && key !== 'type') { |
|
|
|
&& key !== 'oldIndex' && key !== 'type' && key !== 'descript2') { |
|
|
|
console.log(key); |
|
|
|
alert('所有資料不可為空'); |
|
|
|
stop = true; |
|
|
|
|