|
|
@@ -165,14 +165,25 @@
|
|
|
<DkModal
|
|
|
:loading="loading"
|
|
|
v-model="settingNumberModal"
|
|
|
- ref="modal_sql"
|
|
|
+ ref="modal_number"
|
|
|
@on-visible-change="handleVisibleNumberModal"
|
|
|
@modalOk="settingNumberOk"
|
|
|
- :title="$t('settingNumberType')"
|
|
|
+ :title="$t('settingType')"
|
|
|
>
|
|
|
<DkForm ref="formInline" v-model="formDataNumber" :col-count="2">
|
|
|
+ <!--列宽-->
|
|
|
+ <DkFormItem prop="width">
|
|
|
+ <InputNumberPop v-model="formDataNumber.width" :digits="0" :min="0" :max="300"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--对齐方式-->
|
|
|
+ <DkFormItem prop="align">
|
|
|
+ <SelectPop v-model="formDataNumber.align" :multiple="false" :options="alignList" ref="align"
|
|
|
+ labelKey="name"
|
|
|
+ valueKey="value">
|
|
|
+ </SelectPop>
|
|
|
+ </DkFormItem>
|
|
|
<!--小数位数-->
|
|
|
- <DkFormItem prop="digits" :required="true" :data-type="$config.dataType.number" :span="24">
|
|
|
+ <DkFormItem prop="digits">
|
|
|
<InputNumberPop v-model="formDataNumber.digits" :digits="0" :min="0" :max="6"/>
|
|
|
</DkFormItem>
|
|
|
<!--是否千分位-->
|
|
|
@@ -183,6 +194,18 @@
|
|
|
<DkFormItem prop="flgSum">
|
|
|
<DkSwitch v-model="formDataNumber.flgSum"/>
|
|
|
</DkFormItem>
|
|
|
+ <!--是否显示-->
|
|
|
+ <DkFormItem prop="flgVisible">
|
|
|
+ <DkSwitch v-model="formDataNumber.flgVisible"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--是否是链接-->
|
|
|
+ <DkFormItem prop="flgLink">
|
|
|
+ <DkSwitch v-model="formDataNumber.flgLink"/>
|
|
|
+ </DkFormItem>
|
|
|
+ <!--跳转的页签-->
|
|
|
+ <DkFormItem prop="changeTabName" :required="formDataNumber.flgLink" v-if="formDataNumber.flgLink">
|
|
|
+ <InputPop v-model="formDataNumber.changeTabName"/>
|
|
|
+ </DkFormItem>
|
|
|
</DkForm>
|
|
|
</DkModal>
|
|
|
|
|
|
@@ -235,6 +258,7 @@ export default {
|
|
|
errorModal: false,
|
|
|
settingNumberModal: false,
|
|
|
settingSelectModal: false,
|
|
|
+ settingLinkModal: false,
|
|
|
errorMsg: null, // 错误提示信息
|
|
|
formData: {
|
|
|
flgPage: false,// 是否分页
|
|
|
@@ -253,6 +277,11 @@ export default {
|
|
|
digits: 0, // 小数位数
|
|
|
flgThousandth: false, // 千分位
|
|
|
flgSum: false, // 合计
|
|
|
+ align: self.$config.align.left, // 对齐方式,默认居左
|
|
|
+ width: 120,// 列宽
|
|
|
+ flgLink: false, // 是否是链接
|
|
|
+ changeTabName: null, // 跳转页签
|
|
|
+ flgVisible: true, // 是否显示
|
|
|
},
|
|
|
formDataSelect: {
|
|
|
flgTree: false, // 是否是树形
|
|
|
@@ -366,7 +395,7 @@ export default {
|
|
|
// 名称
|
|
|
{field: 'name', type: 'text', width: '150px', upperFlag: false},
|
|
|
// 是否显示
|
|
|
- {field: 'flgVisible', type: 'switch', width: '80px', default: true},
|
|
|
+ // {field: 'flgVisible', type: 'switch', width: '80px', default: true},
|
|
|
// 数据类型
|
|
|
{
|
|
|
field: 'dataType',
|
|
|
@@ -377,20 +406,20 @@ export default {
|
|
|
value: self.$config.dataType.str,
|
|
|
width: '90px'
|
|
|
},
|
|
|
- // 列宽
|
|
|
- {field: 'width', type: 'number', width: '90px', value: '150'},
|
|
|
- // 对齐方式
|
|
|
- {
|
|
|
- field: 'align',
|
|
|
- type: 'select',
|
|
|
- options: () => self.alignList,
|
|
|
- labelKey: 'name',
|
|
|
- valueKey: 'value',
|
|
|
- value: self.$config.align.left,
|
|
|
- width: '90px'
|
|
|
- },
|
|
|
- // 小数位数
|
|
|
- {field: 'settingType', type: 'button', width: '100px'},
|
|
|
+ // // 列宽
|
|
|
+ // {field: 'width', type: 'number', width: '90px', value: '150'},
|
|
|
+ // // 对齐方式
|
|
|
+ // {
|
|
|
+ // field: 'align',
|
|
|
+ // type: 'select',
|
|
|
+ // options: () => self.alignList,
|
|
|
+ // labelKey: 'name',
|
|
|
+ // valueKey: 'value',
|
|
|
+ // value: self.$config.align.left,
|
|
|
+ // width: '90px'
|
|
|
+ // },
|
|
|
+ // 设置格式
|
|
|
+ {field: 'settingType', type: 'button', width: '120px'},
|
|
|
// // 小数位数
|
|
|
// {field: 'digits', type: 'number', width: '100px', max: 6},
|
|
|
// // 是否千分位显示
|
|
|
@@ -411,12 +440,29 @@ export default {
|
|
|
* @date : 2023/4/26 14:20
|
|
|
*/
|
|
|
handleVisibleNumberModal(e) {
|
|
|
- if(!e){
|
|
|
+ if (!e) {
|
|
|
this.formDataNumber = {
|
|
|
index: 0, // 记录是有那行点击过来的
|
|
|
digits: 0, // 小数位数
|
|
|
flgThousandth: false, // 千分位
|
|
|
flgSum: false, // 合计
|
|
|
+ flgVisible: true,// 显示
|
|
|
+ flgLink: false,// 链接
|
|
|
+ changeTabName: null,// 跳转页签
|
|
|
+ width: 120,
|
|
|
+ align: this.$config.align.left,
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 链接设置界面关闭后清理form表单
|
|
|
+ * @author : 周兴
|
|
|
+ * @date : 2023/4/28 9:48
|
|
|
+ */
|
|
|
+ handleVisibleLinkModal(e) {
|
|
|
+ if (!e) {
|
|
|
+ this.formDataLink = {
|
|
|
+ changeTabName: null
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
@@ -426,7 +472,7 @@ export default {
|
|
|
* @date : 2023/4/26 14:20
|
|
|
*/
|
|
|
handleVisibleSelectModal(e) {
|
|
|
- if(!e){
|
|
|
+ if (!e) {
|
|
|
this.formDataSelect = {
|
|
|
flgTree: false, // 是否是树形
|
|
|
flgTreeStrict: false, // 是否是严格模式
|
|
|
@@ -579,17 +625,18 @@ export default {
|
|
|
* @date : 2023/3/27 16:34
|
|
|
*/
|
|
|
setTableSettingRowReadOnly(row) {
|
|
|
- if (row['dataType'] !== this.$config.dataType.number) {
|
|
|
- this.$set(row, 'readOnly', ['digits', 'flgThousandth'])
|
|
|
- // 清空数据
|
|
|
- this.$set(row, 'digits', null)
|
|
|
- this.$set(row, 'flgThousandth', false)
|
|
|
- } else {
|
|
|
- // 小数位数默认为0,千分位默认开启
|
|
|
- this.$set(row, 'digits', 0)
|
|
|
- this.$set(row, 'flgThousandth', true)
|
|
|
- this.$set(row, 'readOnly', null)
|
|
|
- }
|
|
|
+ // if (row['dataType'] !== this.$config.dataType.number) {
|
|
|
+ // this.$set(row, 'readOnly', ['digits', 'flgThousandth'])
|
|
|
+ // // 清空数据
|
|
|
+ // this.$set(row, 'digits', null)
|
|
|
+ // this.$set(row, 'flgThousandth', false)
|
|
|
+ // } else {
|
|
|
+ // // 小数位数默认为0,千分位默认开启
|
|
|
+ // this.$set(row, 'digits', 0)
|
|
|
+ // this.$set(row, 'flgThousandth', true)
|
|
|
+ // this.$set(row, 'readOnly', null)
|
|
|
+ // }
|
|
|
+ this.$set(row, 'settingType', this.$v('searchSet'))
|
|
|
},
|
|
|
/**
|
|
|
* @desc : 点击按钮
|
|
|
@@ -690,24 +737,56 @@ export default {
|
|
|
let index = this.formDataNumber.index;
|
|
|
if (table && table[index]) {
|
|
|
let row = table[index]
|
|
|
- let keys = Object.keys(this.formDataNumber)
|
|
|
+ // let keys = Object.keys(this.formDataNumber)
|
|
|
+ // let info = []
|
|
|
+ // keys.forEach(it => {
|
|
|
+ // if (it != 'index') {
|
|
|
+ // let item = this.$t(it) + ':' + this.formDataNumber[it];
|
|
|
+ // info.push(item)
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ // // 用于显示
|
|
|
+ // this.$set(row, 'settingNumberType', info.join(','))
|
|
|
+ // 用于记录实体,便于来回编辑使用
|
|
|
+ this.$set(row, 'settingType_info', {...this.formDataNumber})
|
|
|
+ // 用于后台保存
|
|
|
+ this.$set(row, 'digits', this.formDataNumber.digits)
|
|
|
+ this.$set(row, 'flgThousandth', this.formDataNumber.flgThousandth)
|
|
|
+ this.$set(row, 'flgSum', this.formDataNumber.flgSum)
|
|
|
+ this.$set(row, 'width', this.formDataNumber.width)
|
|
|
+ this.$set(row, 'align', this.formDataNumber.align)
|
|
|
+ this.$set(row, 'flgVisible', this.formDataNumber.flgVisible)
|
|
|
+ this.$set(row, 'flgLink', this.formDataNumber.flgLink)
|
|
|
+ this.$set(row, 'changeTabName', this.formDataNumber.changeTabName)
|
|
|
+ }
|
|
|
+ this.settingNumberModal = false;
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 设置链接格式
|
|
|
+ * @author : 周兴
|
|
|
+ * @date : 2023/4/28 10:13
|
|
|
+ */
|
|
|
+ settingLinkOk() {
|
|
|
+ let table = this.$refs['tableSetting'].tableData;
|
|
|
+ let index = this.formDataLink.index;
|
|
|
+ if (table && table[index]) {
|
|
|
+ let row = table[index]
|
|
|
+ let keys = Object.keys(this.formDataLink)
|
|
|
let info = []
|
|
|
keys.forEach(it => {
|
|
|
if (it != 'index') {
|
|
|
- let item = this.$t(it) + ':' + this.formDataNumber[it];
|
|
|
+ let item = this.$t(it) + ':' + this.formDataLink[it];
|
|
|
info.push(item)
|
|
|
}
|
|
|
})
|
|
|
// 用于显示
|
|
|
- this.$set(row, 'settingNumberType', info.join(','))
|
|
|
+ this.$set(row, 'settingLinkType', info.join(','))
|
|
|
// 用于记录实体,便于来回编辑使用
|
|
|
- this.$set(row, 'settingNumberType_info', {...this.formDataNumber})
|
|
|
+ this.$set(row, 'settingLinkType_info', {...this.formDataLink})
|
|
|
// 用于后台保存
|
|
|
- this.$set(row, 'digits', this.formDataNumber.digits)
|
|
|
- this.$set(row, 'flgThousandth', this.formDataNumber.flgThousandth)
|
|
|
- this.$set(row, 'flgSum', this.formDataNumber.flgSum)
|
|
|
+ this.$set(row, 'changeTabName', this.formDataLink.changeTabName)
|
|
|
}
|
|
|
- this.settingNumberModal = false;
|
|
|
+ this.settingLinkModal = false;
|
|
|
},
|
|
|
/**
|
|
|
* @desc : 设置数值格式
|
|
|
@@ -715,15 +794,21 @@ export default {
|
|
|
* @date : 2023/3/31 9:01
|
|
|
*/
|
|
|
handleSettingNumber(row, rowIndex) {
|
|
|
- // 查看是否是数值类型
|
|
|
- if (row.dataType && row.dataType === this.$config.dataType.number) {
|
|
|
- // 如果已经存在 说明已经保存了
|
|
|
- if (row['settingNumberType_info']) {
|
|
|
- this.formDataNumber = {...row['settingNumberType_info']}
|
|
|
- }
|
|
|
- this.formDataNumber.index = rowIndex;
|
|
|
- this.settingNumberModal = true;
|
|
|
+ // 查看是否是数值类型 (不控制了)
|
|
|
+ // if (row.dataType && row.dataType === this.$config.dataType.number) {
|
|
|
+ // // 如果已经存在 说明已经保存了
|
|
|
+ // if (row['settingNumberType_info']) {
|
|
|
+ // this.formDataNumber = {...row['settingNumberType_info']}
|
|
|
+ // }
|
|
|
+ // this.formDataNumber.index = rowIndex;
|
|
|
+ // this.settingNumberModal = true;
|
|
|
+ // }
|
|
|
+ // 如果已经存在 说明已经保存了
|
|
|
+ if (row['settingType_info']) {
|
|
|
+ this.formDataNumber = {...row['settingType_info']}
|
|
|
}
|
|
|
+ this.formDataNumber.index = rowIndex;
|
|
|
+ this.settingNumberModal = true;
|
|
|
},
|
|
|
/**
|
|
|
* @desc : 增加父级列
|
|
|
@@ -833,9 +918,10 @@ export default {
|
|
|
item = item.replaceAll('\'', '').replaceAll('"', '')
|
|
|
// 默认为文本格式,居左
|
|
|
fieldList.push({
|
|
|
- flgVisible: true,
|
|
|
+ // flgVisible: true,
|
|
|
code: item, dataType: this.$config.dataType.str,
|
|
|
- align: this.$config.align.left, width: 150, readOnly: ['digits', 'flgThousandth']
|
|
|
+ align: this.$config.align.left, width: 150, readOnly: ['digits', 'flgThousandth'],
|
|
|
+ settingType: this.$v('searchSet')
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
@@ -1008,21 +1094,37 @@ export default {
|
|
|
}
|
|
|
if (it.tableSettingList) {
|
|
|
it.tableSettingList.forEach(item => {
|
|
|
- if (item.dataType === this.$config.dataType.number) {
|
|
|
- // 显示数值类型格式(小数位数+千分位+合计
|
|
|
- let text = this.$t('digits') + ':' + item.digits + ',' +
|
|
|
- this.$t('flgThousandth') + ':' + item.flgThousandth + ',' +
|
|
|
- this.$t('flgSum') + ':' + item.flgSum;
|
|
|
- let formDataNumber = {
|
|
|
- digits: item.digits,
|
|
|
- flgThousandth: item.flgThousandth,
|
|
|
- flgSum: item.flgSum
|
|
|
- }
|
|
|
- // 用于显示
|
|
|
- this.$set(item, 'settingNumberType', text)
|
|
|
- // 用于数据处理
|
|
|
- this.$set(item, 'settingNumberType_info', formDataNumber)
|
|
|
+ // if (item.dataType === this.$config.dataType.number) {
|
|
|
+ // 显示数值类型格式(小数位数+千分位+合计
|
|
|
+ // let text = this.$t('digits') + ':' + item.digits + ',' +
|
|
|
+ // this.$t('flgThousandth') + ':' + item.flgThousandth + ',' +
|
|
|
+ // this.$t('width') + ':' + item.width + ',' +
|
|
|
+ // this.$t('align') + ':' + item.align + ',' +
|
|
|
+ // this.$t('flgLink') + ':' + item.flgLink + ',' +
|
|
|
+ // this.$t('changeTabName') + ':' + item.changeTabName ;
|
|
|
+ let formDataNumber = {
|
|
|
+ digits: item.digits,
|
|
|
+ flgThousandth: item.flgThousandth,
|
|
|
+ flgSum: item.flgSum,
|
|
|
+ flgLink: item.flgLink,
|
|
|
+ width: item.width,
|
|
|
+ align: item.align,
|
|
|
+ changeTabName: item.changeTabName,
|
|
|
+ flgVisible: item.flgVisible
|
|
|
}
|
|
|
+ // 用于显示
|
|
|
+ this.$set(item, 'settingType', this.$v('searchSet'))
|
|
|
+ // 用于数据处理
|
|
|
+ this.$set(item, 'settingType_info', formDataNumber)
|
|
|
+ // } else if (item.dataType === 'link') { // 链接
|
|
|
+ // let text = this.$t('changeTabName') + ':' + item.changeTabName;
|
|
|
+ // // 用于显示
|
|
|
+ // this.$set(item, 'settingLinkType', text)
|
|
|
+ // // 用于数据处理
|
|
|
+ // this.$set(item, 'settingNumberType_info', {
|
|
|
+ // changeTabName: item.changeTabName
|
|
|
+ // })
|
|
|
+ // }
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
@@ -1075,8 +1177,8 @@ export default {
|
|
|
let sqlScript = it.sqlScript.toLowerCase();
|
|
|
if (sqlScript.indexOf('update') >= 0 || sqlScript.indexOf('insert') >= 0 ||
|
|
|
sqlScript.indexOf('delete') >= 0 || sqlScript.indexOf('create') >= 0 ||
|
|
|
- sqlScript.indexOf('alter') >= 0 || sqlScript.indexOf('GRANT') >= 0 ||
|
|
|
- sqlScript.indexOf('REVOKE') >= 0) {
|
|
|
+ sqlScript.indexOf('alter') >= 0 || sqlScript.indexOf('grant') >= 0 ||
|
|
|
+ sqlScript.indexOf('revoke') >= 0) {
|
|
|
this.$Message.error(this.$t('sqlErr'))
|
|
|
return false;
|
|
|
}
|
|
|
@@ -1180,19 +1282,33 @@ export default {
|
|
|
sqlScript = sqlScript.replaceAll('#{' + t.code?.trim() + '}', null)
|
|
|
}
|
|
|
})
|
|
|
- let filters = this.sqlTabsOptions.filter(it => it.changeTabName == sqlItem.name)
|
|
|
- if (filters && filters.length > 0) {
|
|
|
- let changeScript = filters[0].changeScript.trim();
|
|
|
- // 说明是多个
|
|
|
- if (changeScript && changeScript.indexOf(',') >= 0) {
|
|
|
- let changeScripts = changeScript.split(',');
|
|
|
- changeScripts.forEach(it => {
|
|
|
- sqlScript = sqlScript.replaceAll('#{' + it + '}', null)
|
|
|
+ // 不用控制严格,只要有跳转条件,其他页签的都处理下的(兼容link模式)
|
|
|
+ this.sqlTabsOptions.forEach((t, index) => {
|
|
|
+ if (t.changeScript) {
|
|
|
+ let changeScripts = t.changeScript.trim().split(',');
|
|
|
+ this.sqlTabsOptions.forEach((item, itemNo) => {
|
|
|
+ if(index != itemNo){
|
|
|
+ sqlScript = item.sqlScript
|
|
|
+ changeScripts.forEach(it => {
|
|
|
+ sqlScript = sqlScript.replaceAll('#{' + it + '}', null)
|
|
|
+ })
|
|
|
+ }
|
|
|
})
|
|
|
- } else {
|
|
|
- sqlScript = sqlScript.replaceAll('#{' + changeScript + '}', null)
|
|
|
}
|
|
|
- }
|
|
|
+ })
|
|
|
+ // let filters = this.sqlTabsOptions.filter(it => it.changeTabName == sqlItem.name)
|
|
|
+ // if (filters && filters.length > 0) {
|
|
|
+ // let changeScript = filters[0].changeScript.trim();
|
|
|
+ // // 说明是多个
|
|
|
+ // if (changeScript && changeScript.indexOf(',') >= 0) {
|
|
|
+ // let changeScripts = changeScript.split(',');
|
|
|
+ // changeScripts.forEach(it => {
|
|
|
+ // sqlScript = sqlScript.replaceAll('#{' + it + '}', null)
|
|
|
+ // })
|
|
|
+ // } else {
|
|
|
+ // sqlScript = sqlScript.replaceAll('#{' + changeScript + '}', null)
|
|
|
+ // }
|
|
|
+ // }
|
|
|
return sqlScript;
|
|
|
},
|
|
|
/**
|