feildconfig
<template>
<div style="float:left;width: 100%">
<el-row>
<el-col :span=6>
<el-input size = "small" v-model="apiId" placeholder="接口名" autocomplete="off" clearable @keyup.enter="query"></el-input>
</el-col>
<el-col :span=4>
<el-button size = "small" icon="el-icon-search" @click="query">查询</el-button>
<el-button size = "small" type="primary" icon="el-icon-plus" :disabled = "!$root.writeFlag" @click="add">增加</el-button>
</el-col>
</el-row>
</div>
<div >
<el-table :data="tableData.filter(data => !search || data.apiId.toLowerCase().includes(search.toLowerCase()))"
stripe
height="700"
style="width: 100%">
<el-table-column label="序号" fixed width="60">
<template #default="scope">
{{paginationData.pageSize * (paginationData.currentPage - 1) + scope.$index+1}}
</template>
</el-table-column>
<el-table-column label="copybook" prop="copybook"></el-table-column>
<el-table-column label="fieldNo" prop="fieldNo"></el-table-column>
<el-table-column label="cobolName" prop="cobolName"></el-table-column>
<el-table-column label="schema" prop="schema"></el-table-column>
<el-table-column label="tableName" prop="tableName"></el-table-column>
<el-table-column label="columnName" prop="columnName"></el-table-column>
<el-table-column label="columnName" prop="pic"></el-table-column>
<el-table-column label="scale" prop="scale"></el-table-column>
<el-table-column label="signed" prop="signed"></el-table-column>
<el-table-column label="parent" prop="parent"></el-table-column>
<el-table-column label="redefine" prop="redefine"></el-table-column>
<el-table-column label="offset" prop="offset"></el-table-column>
<el-table-column label="length" prop="length"></el-table-column>
<el-table-column label="lengthDependOn" prop="lengthDependOn"></el-table-column>
<el-table-column label="filler" prop="filler"></el-table-column>
<el-table-column label="key" prop="key"></el-table-column>
<el-table-column label="displayName" prop="displayName"></el-table-column>
<el-table-column label="memo" prop="memo"></el-table-column>
<el-table-column label="picLength" prop="picLength"></el-table-column>
<el-table-column label="comp" prop="comp"></el-table-column>
<el-table-column align="right" width="100" fixed="right" >
<template #header>
<el-input v-model="search" size="mini" placeholder="API"></el-input>
</template>
<template #default="scope">
<el-button size="mini" @click="handleEdit(scope.$index, scope.row)" icon="el-icon-edit" :disabled="!$root.writeFlag"
>编辑</el-button>
<!-- <el-button size="mini" @click="handleCopy(scope.$index, scope.row)" icon="el-icon-plus" type="primary" :disabled="!$root.writeFlag"-->
<!-- >复制</el-button>-->
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination">
<paging ref="paging" :pagination-data="paginationData"></paging>
</div>
<div>
<el-dialog title="配置信息" v-model = "show">
<el-form :model="form">
<el-form-item label="ABTable" :label-width="formLabelWidth">
<el-input v-model="form.ABTable" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="copybook" :label-width="formLabelWidth">
<el-input v-model="form.copybook" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="fieldNo" :label-width="formLabelWidth">
<el-input v-model="form.fieldNo" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="cobolName" :label-width="formLabelWidth">
<el-input v-model="form.cobolName" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="schema" :label-width="formLabelWidth">
<el-input v-model="form.schema" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="tableName" :label-width="formLabelWidth">
<el-input v-model="form.tableName" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="columnName" :label-width="formLabelWidth">
<el-input v-model="form.columnName" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="pic" :label-width="formLabelWidth">
<el-input v-model="form.pic" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="numeric" :label-width="formLabelWidth">
<el-input v-model="form.numeric" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="scale" :label-width="formLabelWidth">
<el-input v-model="form.scale" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="signed" :label-width="formLabelWidth">
<el-input v-model="form.signed" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="parent" :label-width="formLabelWidth">
<el-input v-model="form.parent" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="redefine" :label-width="formLabelWidth">
<el-input v-model="form.redefine" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="offset" :label-width="formLabelWidth">
<el-input v-model="form.offset" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="length" :label-width="formLabelWidth">
<el-input v-model="form.length" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="lengthDependOn" :label-width="formLabelWidth">
<el-input v-model="form.lengthDependOn" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="filler" :label-width="formLabelWidth">
<el-input v-model="form.filler" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="key" :label-width="formLabelWidth">
<el-input v-model="form.key" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="displayName" :label-width="formLabelWidth">
<el-input v-model="form.displayName" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="memo" :label-width="formLabelWidth">
<el-input v-model="form.memo" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="picLength" :label-width="formLabelWidth">
<el-input v-model="form.picLength" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="comp" :label-width="formLabelWidth">
<el-input v-model="form.comp" placeholder="" autocomplete="off" clearable :disabled="true"></el-input>
</el-form-item>
<el-form-item label="修改原因" :label-width="formLabelWidth">
<el-input v-model="reason" placeholder="请输入修改原因" autocomplete="off" clearable :disabled="insert"></el-input>
</el-form-item>
</el-form>
<div class="dialog-footer">
<el-button @click="show = false">取 消</el-button>
<el-button type="primary" @click="save">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import Paging from '../../components/Paging'
import { post } from '../../api/request'
import Cookies from 'js-cookies/src/cookies'
import { isEmpty } from '../../utils/commonUtil'
export default {
components: { Paging },
data () {
return {
formLabelWidth: '120px',
tableData: [
],
search: '',
apiId: '',
insert: true,
show: false,
paginationData: {
total: 0,
currentPage: 1,
pageSize: 30,
handleCurrentChange: val => {
this.paginationData.currentPage = val
this.query()
},
handleSizeChange: val => {
this.paginationData.pageSize = val
this.query()
}
},
old: {
},
reason: '',
form: {
ABTable: '',
copybook: '',
fieldNo: '',
cobolName: '',
schema: '',
tableName: '',
columnName: '',
pic: '',
numeric: '',
scale: '',
signed: '',
parent: '',
redefine: '',
offset: '',
length: '',
lengthDependOn: '',
filler: '',
key: '',
displayName: '',
memo: '',
picLength: '',
comp: '',
total: 0,
currentPage: 1,
pageSize: 30
}
}
},
mounted () {
this.$nextTick(() => {
this.query()
})
},
methods: {
preQuery () {
this.form.currentPage = this.paginationData.currentPage
this.form.total = this.paginationData.total
this.form.pageSize = this.paginationData.pageSize
},
query () {
this.preQuery()
console.log(this)
console.log(JSON.stringify(this))
debugger
post('/api/config/copybookFiled/query', this.form).then((reult) => {
this.tableData = reult.list
this.paginationData.total = reult.total
})
},
add () {
this.form = {
apiId: '',
url: '',
type: '0',
percentage: 0,
coxTps: 1000,
ctgTps: 50,
status: '1',
switchTail: ''
}
this.insert = true
this.show = true
},
// handleCopy (index, row) {
// this.form = {
// apiId: '',
// url: row.url.replaceAll(row.apiId, ''),
// type: row.type,
// percentage: row.percentage,
// coxTps: row.coxTps,
// ctgTps: row.ctgTps,
// status: row.status,
// switchTail: row.switchTail
// }
// this.insert = true
// this.show = true
// },
handleEdit (index, row) {
this.form = {
ABTable: row.ABTable,
copybook: row.copybook,
fieldNo: row.fieldNo,
cobolName: row.cobolName,
schema: row.schema,
tableName: row.tableName,
columnName: row.columnName,
pic: row.pic,
numeric: row.numeric,
scale: row.scale,
signed: row.signed,
parent: row.parent,
redefine: row.redefine,
offset: row.offset,
length: row.length,
lengthDependOn: row.lengthDependOn,
filler: row.filler,
key: row.key,
displayName: row.displayName,
memo: row.memo,
picLength: row.picLength,
comp: row.comp,
total: row.total,
currentPage: row.currentPage,
pageSize: row.pageSize
}
this.old = {
ABTable: row.ABTable,
copybook: row.copybook,
fieldNo: row.fieldNo,
cobolName: row.cobolName,
schema: row.schema,
tableName: row.tableName,
columnName: row.columnName,
pic: row.pic,
numeric: row.numeric,
scale: row.scale,
signed: row.signed,
parent: row.parent,
redefine: row.redefine,
offset: row.offset,
length: row.length,
lengthDependOn: row.lengthDependOn,
filler: row.filler,
key: row.key,
displayName: row.displayName,
memo: row.memo,
picLength: row.picLength,
comp: row.comp,
total: row.total,
currentPage: row.currentPage,
pageSize: row.pageSize
}
this.reason = ''
this.insert = false
this.show = true
},
save () {
if (this.insert) {
this.insert2Db()
} else {
this.update()
}
},
update () {
if (isEmpty(this.reason)) {
this.$message({ type: 'error', message: '请填写修改原因' })
return
}
this.$confirm('此操作将永久修改,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const p = [this.form, this.old]
Cookies.setItem('reason', this.reason)
post('/api/config/api_configs/update', p).then((result) => {
if (result.code === '200') {
this.$message({ type: 'info', message: '修改成功' })
this.query()
} else {
this.$message({ type: 'error', message: '修改失败' })
}
Cookies.removeItem('reason')
})
}).catch(() => {
this.$message({ type: 'info', message: '已取消修改' })
Cookies.removeItem('reason')
})
this.show = false
},
insert2Db () {
if (this.checkInput(this.form)) {
post('/api/config/api_configs/add', this.form).then((result) => {
if (result.code === '200') {
this.$message({ type: 'info', message: '插入成功' })
this.query()
} else {
this.$message({ type: 'error', message: '插入失败' })
}
})
this.show = false
}
},
checkInput (form) {
if (isEmpty(form.apiId)) {
this.$message({ type: 'error', message: '请输入接口名!' })
return false
}
if (isEmpty(form.url)) {
this.$message({ type: 'error', message: '请输入接口URL!' })
return false
}
const url = form.url
if (url.indexOf('custinfo') === -1 && url.indexOf('cardinfo') === -1 && url.indexOf('accountinfo') === -1) {
this.$message({ type: 'error', message: '请输入正确的URL,如/custinfo/apiId、/cardinfo/apiId、/accountinfo/apiId!' })
return false
}
return true
}
}
} </script>
feildconfig的更多相关文章
- Redis:解决分布式高并发修改同一个Key的问题
本篇文章是通过watch(监控)+mutil(事务)实现应用于在分布式高并发处理等相关场景.下边先通过redis-cli.exe来测试多个线程修改时,遇到问题及解决问题. 高并发下修改同一个key遇到 ...
随机推荐
- WPF 将 StaticResource 和 ResourceDictionary 放在一起的魔幻行为
本文将记录一些在 WPF 里面,使用 StaticResource 将 ResourceDictionary 玩坏的做法.大家可以放心的是,这些玩法基本只有高级玩家或逗比开发者才会使用到 后加入的资源 ...
- WPF 通过 GifBitmapDecoder 调用 WIC 解析 Gif 和进行动画播放的简单方法
本文告诉大家如何在 WPF 里,通过 GifBitmapDecoder 调用 WIC 层来解析 GIF 图片,然后采用动画的方式进行播放 在上一篇博客告诉大家,可以通过 GifBitmapDecode ...
- Vue2源码解析-源码调试与核心流程梳理图解
现在VUE3已经有一段时间了,也慢慢普及起来了.不过因为一直还在使用VUE2的原因还是去了解和学了下它的源码,毕竟VUE2也不会突然就没了是吧,且VUE3中很多原理之类的也是类似的.然后就准备把VUE ...
- 使用 @NoRepositoryBean 简化数据库访问
在 Spring Data JPA 应用程序中管理跨多个存储库接口的数据库访问逻辑可能会变得乏味且容易出错.开发人员经常发现自己为常见查询和方法重复代码,从而导致维护挑战和代码冗余.幸运的是,Spri ...
- 【技术流吃瓜】python可视化大屏舆情分析“张天爱“事件微博评论
目录 一.事件背景 二.微热点分析 二.自开发Python舆情分析 2.1 Python爬虫 2.2 可视化大屏 2.2.1 大标题 2.2.2 词云图 2.2.3 条形图 2.2.4 饼图(玫瑰图) ...
- 我的 Kafka 旅程 - 概念 · 特点 · 组成 · 模式 · 应用
系列目录 我的 Kafka 旅程 - 概念 · 特点 · 组成 · 模式 · 应用 我的 Kafka 旅程 - Linux下的安装 · 基础命令 · 集群 我的 Kafka 旅程 - Producer ...
- kali 安装完不能使用 root 账户登录图形化界面(一直报错)
kali 安装完不能使用 root 账户登录图形化界面 在普通账户界面,先设置 root 账户密码:sudo passwd root 切换 root 账户登录:su root vim /etc/pam ...
- Chrome 浏览器插件 Manifest.json V3 中权限(Permissions)字段解析
一.权限(Permissions) 再使用拓展程序的 API 时,大多数的时候,需要在 manifest.json 文件中声明 permissions 字段. 一.权限类型 在 V3 版本中可以声明以 ...
- 预见预判_AIRIOT智慧交通管理解决方案
随着机动车保有量的逐步增加,城市交通压力日益增大.同时,新能源车辆的快速发展虽然带来了环保效益,但也因不限号政策而进一步加剧了道路拥堵问题.此外,各类赛事和重大活动的交通管制措施也时常导致交通状况复杂 ...
- 部署Zabbix
https://blog.csdn.net/qq_57414752/article/details/125819822