add:添加mock;
add:添加工单报工倒扣逻辑
This commit is contained in:
@@ -15,6 +15,7 @@ import role from '../../views/system/role/locale/zh'
|
||||
import corn from '../../views/system/timing/locale/corn/zh'
|
||||
import codegen from '../../views/tools/codeGen/locale/zh'
|
||||
import storage from '../../views/tools/storage/locale/zh'
|
||||
import mock from '../../views/system/mock/locale/zh'
|
||||
|
||||
export default {
|
||||
...zhLocale,
|
||||
@@ -33,5 +34,6 @@ export default {
|
||||
...role,
|
||||
...corn,
|
||||
...codegen,
|
||||
...storage
|
||||
...storage,
|
||||
...mock
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import role from '../../views/system/role/locale/en'
|
||||
import corn from '../../views/system/timing/locale/corn/en'
|
||||
import codegen from '../../views/tools/codeGen/locale/en'
|
||||
import storage from '../../views/tools/storage/locale/en'
|
||||
import mock from '../../views/system/mock/locale/en'
|
||||
|
||||
export default {
|
||||
...enLocale,
|
||||
@@ -33,5 +34,6 @@ export default {
|
||||
...role,
|
||||
...corn,
|
||||
...codegen,
|
||||
...storage
|
||||
...storage,
|
||||
...mock
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import role from '../../views/system/role/locale/in'
|
||||
import corn from '../../views/system/timing/locale/corn/in'
|
||||
import codegen from '../../views/tools/codeGen/locale/in'
|
||||
import storage from '../../views/tools/storage/locale/in'
|
||||
import mock from '../../views/system/mock/locale/in'
|
||||
|
||||
export default {
|
||||
...idLocale,
|
||||
@@ -33,5 +34,6 @@ export default {
|
||||
...role,
|
||||
...corn,
|
||||
...codegen,
|
||||
...storage
|
||||
...storage,
|
||||
...mock
|
||||
}
|
||||
|
||||
175
nladmin-ui/src/views/system/mock/index.vue
Normal file
175
nladmin-ui/src/views/system/mock/index.vue
Normal file
@@ -0,0 +1,175 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<div class="head-container">
|
||||
<div v-if="crud.props.searchToggle">
|
||||
<el-input
|
||||
v-model="query.blurry"
|
||||
size="mini"
|
||||
clearable
|
||||
:placeholder="$t('MockConfig.placeholder.keyword')"
|
||||
style="width: 300px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
<rrOperation />
|
||||
</div>
|
||||
<crudOperation :permission="permission">
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
size="mini"
|
||||
type="success"
|
||||
icon="el-icon-refresh"
|
||||
@click="handleSync"
|
||||
>
|
||||
{{ $t('MockConfig.sync') }}
|
||||
</el-button>
|
||||
</crudOperation>
|
||||
<el-dialog
|
||||
append-to-body
|
||||
:close-on-click-modal="false"
|
||||
:before-close="crud.cancelCU"
|
||||
:visible.sync="crud.status.cu > 0"
|
||||
:title="crud.status.title"
|
||||
width="900px"
|
||||
>
|
||||
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="110px">
|
||||
<el-form-item :label="$t('MockConfig.form.className')">
|
||||
<el-input v-model="form.class_name" disabled />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('MockConfig.form.methodName')">
|
||||
<el-input v-model="form.method_name" disabled />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('MockConfig.form.description')">
|
||||
<el-input v-model="form.description" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('MockConfig.form.enabled')">
|
||||
<el-switch v-model="form.enabled" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('MockConfig.form.delayMs')">
|
||||
<el-input-number v-model="form.delay_ms" :min="0" :step="100" style="width: 220px;" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('MockConfig.form.responseData')" prop="response_data">
|
||||
<el-input
|
||||
v-model="form.response_data"
|
||||
type="textarea"
|
||||
:rows="14"
|
||||
:placeholder="$t('MockConfig.placeholder.responseData')"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">{{ $t('common.Cancel') }}</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">{{ $t('common.Confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-table
|
||||
ref="table"
|
||||
v-loading="crud.loading"
|
||||
:data="crud.data"
|
||||
size="mini"
|
||||
style="width: 100%;"
|
||||
@selection-change="crud.selectionChangeHandler"
|
||||
>
|
||||
<el-table-column prop="class_name" :label="$t('MockConfig.form.className')" min-width="240" show-overflow-tooltip />
|
||||
<el-table-column prop="method_name" :label="$t('MockConfig.form.methodName')" min-width="140" show-overflow-tooltip />
|
||||
<el-table-column prop="description" :label="$t('MockConfig.form.description')" min-width="140" show-overflow-tooltip />
|
||||
<el-table-column prop="enabled" :label="$t('MockConfig.form.enabled')" width="100" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-tag :type="scope.row.enabled ? 'success' : 'info'">{{ scope.row.enabled ? $t('common.Yes') : $t('common.No') }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="delay_ms" :label="$t('MockConfig.form.delayMs')" width="100" align="center" />
|
||||
<el-table-column prop="update_time" label="update_time" min-width="160" show-overflow-tooltip />
|
||||
<el-table-column :label="$t('common.Operate')" width="120" align="center" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" icon="el-icon-edit" @click="crud.toEdit(scope.row)">{{ $t('common.Update') }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import crudMock from './mock'
|
||||
import CRUD, { presenter, header, form, crud } from '@crud/crud'
|
||||
import rrOperation from '@crud/RR.operation'
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
import pagination from '@crud/Pagination'
|
||||
import i18n from '@/i18n'
|
||||
|
||||
const defaultForm = {
|
||||
id: null,
|
||||
class_name: null,
|
||||
method_name: null,
|
||||
descriptionription: null,
|
||||
enabled: false,
|
||||
response_data: null,
|
||||
delay_ms: 0,
|
||||
update_time: null
|
||||
}
|
||||
|
||||
export default {
|
||||
name: 'MockConfig',
|
||||
components: { pagination, crudOperation, rrOperation },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
title: i18n.t('MockConfig.title'),
|
||||
url: 'api/mock-config',
|
||||
idField: 'id',
|
||||
sort: 'id,description',
|
||||
crudMethod: { ...crudMock },
|
||||
optShow: {
|
||||
add: false,
|
||||
edit: true,
|
||||
del: false,
|
||||
download: false,
|
||||
reset: true
|
||||
}
|
||||
})
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
permission: {
|
||||
edit: ['admin', 'mock:edit']
|
||||
},
|
||||
rules: {
|
||||
response_data: [
|
||||
{ validator: this.validateJson, trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.handleSync(false)
|
||||
},
|
||||
methods: {
|
||||
validateJson(rule, value, callback) {
|
||||
if (!value) {
|
||||
callback()
|
||||
return
|
||||
}
|
||||
try {
|
||||
JSON.parse(value)
|
||||
callback()
|
||||
} catch (e) {
|
||||
callback(new Error(this.$t('MockConfig.rules.responseData')))
|
||||
}
|
||||
},
|
||||
handleSync(showMessage = true) {
|
||||
crudMock.syncAnnotatedMethods().then(() => {
|
||||
if (showMessage) {
|
||||
this.$message.success(this.$t('MockConfig.message.syncSuccess'))
|
||||
}
|
||||
this.crud.refresh()
|
||||
})
|
||||
},
|
||||
[CRUD.HOOK.beforeRefresh]() {
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
25
nladmin-ui/src/views/system/mock/locale/en.js
Normal file
25
nladmin-ui/src/views/system/mock/locale/en.js
Normal file
@@ -0,0 +1,25 @@
|
||||
export default {
|
||||
MockConfig: {
|
||||
title: 'Mock Config',
|
||||
sync: 'Sync Mock APIs',
|
||||
form: {
|
||||
mockId: 'Mock ID',
|
||||
className: 'Class Name',
|
||||
methodName: 'Method Name',
|
||||
description: 'Description',
|
||||
enabled: 'Enable Mock',
|
||||
delayMs: 'Delay(ms)',
|
||||
responseData: 'Mock Response JSON'
|
||||
},
|
||||
placeholder: {
|
||||
keyword: 'Enter mock id/class/method',
|
||||
responseData: 'Please input mock response JSON'
|
||||
},
|
||||
message: {
|
||||
syncSuccess: 'Sync success'
|
||||
},
|
||||
rules: {
|
||||
responseData: 'Mock response JSON cannot be empty'
|
||||
}
|
||||
}
|
||||
}
|
||||
25
nladmin-ui/src/views/system/mock/locale/in.js
Normal file
25
nladmin-ui/src/views/system/mock/locale/in.js
Normal file
@@ -0,0 +1,25 @@
|
||||
export default {
|
||||
MockConfig: {
|
||||
title: 'Konfigurasi Mock',
|
||||
sync: 'Sinkronkan API Mock',
|
||||
form: {
|
||||
mockId: 'ID Mock',
|
||||
className: 'Nama Kelas',
|
||||
methodName: 'Nama Metode',
|
||||
description: 'Deskripsi',
|
||||
enabled: 'Aktifkan Mock',
|
||||
delayMs: 'Delay(ms)',
|
||||
responseData: 'JSON Respons Mock'
|
||||
},
|
||||
placeholder: {
|
||||
keyword: 'Masukkan id/class/metode',
|
||||
responseData: 'Masukkan JSON respons mock'
|
||||
},
|
||||
message: {
|
||||
syncSuccess: 'Sinkronisasi berhasil'
|
||||
},
|
||||
rules: {
|
||||
responseData: 'JSON respons mock tidak boleh kosong'
|
||||
}
|
||||
}
|
||||
}
|
||||
25
nladmin-ui/src/views/system/mock/locale/zh.js
Normal file
25
nladmin-ui/src/views/system/mock/locale/zh.js
Normal file
@@ -0,0 +1,25 @@
|
||||
export default {
|
||||
MockConfig: {
|
||||
title: 'Mock配置',
|
||||
sync: '同步注解接口',
|
||||
form: {
|
||||
mockId: 'Mock标识',
|
||||
className: '类名',
|
||||
methodName: '方法名',
|
||||
description: '描述',
|
||||
enabled: '启用Mock',
|
||||
delayMs: '延迟(ms)',
|
||||
responseData: 'Mock返回JSON'
|
||||
},
|
||||
placeholder: {
|
||||
keyword: '请输入Mock标识/类名/方法名',
|
||||
responseData: '请输入Mock返回JSON'
|
||||
},
|
||||
message: {
|
||||
syncSuccess: '同步成功'
|
||||
},
|
||||
rules: {
|
||||
responseData: 'Mock返回JSON不能为空'
|
||||
}
|
||||
}
|
||||
}
|
||||
18
nladmin-ui/src/views/system/mock/mock.js
Normal file
18
nladmin-ui/src/views/system/mock/mock.js
Normal file
@@ -0,0 +1,18 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function edit(data) {
|
||||
return request({
|
||||
url: 'api/mock-config',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function syncAnnotatedMethods() {
|
||||
return request({
|
||||
url: 'api/mock-config/sync',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export default { edit, syncAnnotatedMethods }
|
||||
Reference in New Issue
Block a user