238 lines
7.5 KiB
Plaintext

{
"properties" : { },
"id" : "49575ce482694a50ab641e9835c64865",
"script" : null,
"groupId" : "24eb9e08fa46447db43eba7618df7cc7",
"name" : "列表",
"createTime" : 1684253377806,
"updateTime" : 1684253426051,
"lock" : null,
"createBy" : null,
"updateBy" : null,
"path" : "/list",
"description" : null
}
================================
<template>
<mb-list ref="magicList" v-bind="listOptions" />
<mb-dialog ref="formDialog" :title="magicFormTitle" @confirm-click="magicForm.save($event)" width="50%">
<template #content>
<mb-form ref="magicForm" @reload="magicList.reload" v-bind="formOptions" />
</template>
</mb-dialog>
</template>
<script setup>
import { ref, reactive, getCurrentInstance, nextTick } from 'vue'
const { proxy } = getCurrentInstance()
const formDialog = ref()
const magicList = ref()
const magicForm = ref()
const magicFormTitle = ref()
const listOptions = reactive({
tools: [{
type: 'add',
permission: 'send:log:save',
click: () => {
magicFormTitle.value = '添加'
formDialog.value.show(() => magicForm.value.initFormData())
}
}],
table: {
url: '/send/log/list',
where: {
logType: {
label: '业务类型',
component: 'select',
props: {
type: '业务类型'
}
},
logStatus: {
label: '同步状态',
component: 'select',
props: {
type: '同步状态'
}
},
synType: {
label: '同步类型',
component: 'select',
props: {
type: '同步类型'
}
},
dataId: {
label: '数据id',
component: 'input'
},
dataName: {
label: '数据名称',
component: 'input'
},
createTime: {
component: 'date',
label: '创建时间',
props: {
type: 'daterange'
}
},
sendFlag: {
label: '重新发送',
component: 'select',
props: {
type: '重新发送'
}
}
},
cols: [
{
field: 'logId',
label: '主键'
},
{
field: 'logType',
label: '业务类型',
dictType: '业务类型'
},
{
field: 'logStatus',
label: '同步状态',
dictType: '同步状态'
},
{
field: 'synType',
label: '同步类型',
dictType: '同步类型'
},
{
field: 'dataId',
label: '数据id'
},
{
field: 'createTime',
label: '创建时间'
},
{
field: 'dataName',
label: '数据名称'
},
{
field: 'resBody',
label: '返回值'
},
{
field: 'sendFlag',
label: '重新发送',
dictType: '重新发送'
},
{
field: 'sendMemo',
label: '备注'
},{
label: '操作',
type: 'btns',
width: 140,
fixed: 'right',
btns: [
{
permission: 'send:log:delete',
label: '重新发起同步',
type: 'primary',
link: true,
icon: 'ElIconDelete',
click: (row) => {
proxy.$alert(`确定重新发起“${row.dataName}”数据同步么?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback: (action) => {
if (action === 'confirm') {
proxy.$post('/send/log/save',{ log_id: row.logId,send_flag: "1"}).then(() => {
magicList.value.reload()
})
}
}
})
}
}
]
}
]
}
})
const formOptions = reactive({
detail: {
request: {
url: '/send/log/get'
}
},
form: {
request: {
url: "/send/log/save"
},
rows: [{
gutter: 24,
cols: [{
span: 12,
name: 'logType',
label: '业务类型',
component: 'select',
props: {
type: '业务类型'
}
},{
span: 12,
name: 'logStatus',
label: '同步状态',
component: 'select',
props: {
type: '同步状态'
}
},{
span: 12,
name: 'synType',
label: '同步类型',
component: 'select',
props: {
type: '同步类型'
}
},{
span: 12,
name: 'dataId',
label: '数据id',
component: 'input'
},{
span: 12,
name: 'createTime',
label: '创建时间',
component: 'input'
},{
span: 12,
name: 'dataName',
label: '数据名称',
component: 'input'
},{
span: 12,
name: 'resBody',
label: '返回值',
component: 'input'
},{
span: 12,
name: 'sendFlag',
label: '重新发送',
component: 'select',
props: {
type: '重新发送'
}
},{
span: 12,
name: 'sendMemo',
label: '备注',
component: 'input'
}]
}]
}
})
</script>