Files
ouLun_wms/nladmin-ui/src/views/wms/decision_manage/strategy/index.vue

161 lines
4.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<div v-if="crud.props.searchToggle">
<!-- 搜索 -->
<el-form
:inline="true"
class="demo-form-inline"
label-position="right"
label-width="80px"
label-suffix=":"
>
<el-form-item label="策略名称">
<el-input
v-model="query.strategy_name"
clearable
size="mini"
placeholder="策略名称"
style="width: 200px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<rrOperation />
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission"/>
<!--表单组件-->
<el-table
ref="table"
v-loading="crud.loading"
:data="crud.data"
size="mini"
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column type="selection" width="55" />
<el-table-column label="策略类型" >
<template slot-scope="scope">
{{scope.row.ban?"系统策略":"自定义策略"}}
</template>
</el-table-column>
<el-table-column prop="strategy_name" label="策略名称" />
<el-table-column prop="strategy_code" label="策略编码" />
<el-table-column prop="strategy_type" label="决策类型" />
<el-table-column prop="class_type" label="策略执行器" />
<el-table-column prop="param" show-overflow-tooltip label="参数" />
<el-table-column prop="remark" show-overflow-tooltip label="描述" />
<el-table-column label="是否启用" align="center" prop="is_used">
<template slot-scope="scope">
<el-switch
:value="scope.row.is_used"
active-color="#409EFF"
inactive-color="#F56C6C"
@change="changeEnabled(scope.row, scope.row.is_used)"
/>
</template>
</el-table-column>
<el-table-column prop="update_name" label="操作人" />
<el-table-column min-width="160" prop="update_time" label="操作时间" />
<el-table-column
v-permission="[]"
label="操作"
width="120"
align="center"
fixed="right"
>
<template slot-scope="scope">
<udOperation
:disabledDle="scope.row.ban"
:disabledEdit="scope.row.ban"
:data="scope.row"
:permission="permission"
/>
</template>
</el-table-column>
</el-table>
<pagination />
</div>
<AddDialog />
</div>
</template>
<script>
import crudStrategy from './strategy'
import AddDialog from './AddDialog'
import CRUD, { crud, header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
export default {
name: 'Strategy',
dicts: [],
components: { pagination, crudOperation, rrOperation, udOperation, AddDialog },
mixins: [presenter(), header(), crud()],
cruds() {
return CRUD({
title: '策略管理',
url: 'api/strategy',
idField: 'id',
sort: 'id,desc',
crudMethod: { ...crudStrategy },
optShow: {
add: true,
edit: false,
del: false,
download: false,
reset: true
}
})
},
data() {
return {
dialogVisible: false,
permission: {},
rules: {
}
}
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
},
format_is_used(is_used) {
return is_used==true
},
changeEnabled(data, val) {
let msg = '此操作将停用,是否继续!'
if (val !== '1') {
msg = '此操作将启用,是否继续!'
}
this.$confirm(msg, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
crudStrategy.changeActive(data).then(res => {
this.crud.toQuery()
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
}).catch(() => {
data.is_used = !data.is_used
})
}).catch(() => {
})
}
}
}
</script>
<style scoped>
.is-scrolling-none + .el-table__fixed-right {
height: 100% !important;
}
</style>