|
|
@@ -0,0 +1,191 @@
|
|
|
+<template>
|
|
|
+ <div class="ele-body">
|
|
|
+ <el-card shadow="never" v-loading="loading">
|
|
|
+ <materialPlan-search @search="reload" :statusOpt="statusOpt" :activeName="activeName" ref="searchRef">
|
|
|
+ </materialPlan-search>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- 数据表格 -->
|
|
|
+ <ele-pro-table ref="table" :initLoad="false" :columns="columns" :datasource="datasource"
|
|
|
+ cache-key="pickPlanTable">
|
|
|
+ <template v-slot:toolbar>
|
|
|
+ <el-button type="primary" @click="handleEdit('add')">创建计划</el-button>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <template v-slot:status="{ row }">
|
|
|
+ <span :class="{ 'ele-text-danger': row.status == 3 }">
|
|
|
+ {{ statusFormatter(row.status) }}
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <!-- 操作列 -->
|
|
|
+ <template v-slot:action="{ row }">
|
|
|
+ <el-link type="primary" :underline="false" @click="handleEdit('edit', row)">
|
|
|
+ 提交
|
|
|
+ </el-link>
|
|
|
+ <el-link type="primary" :underline="false" icon="el-icon-edit" @click="handleEdit('edit', row)">
|
|
|
+ 修改计划
|
|
|
+ </el-link>
|
|
|
+ <el-link @click="handleDel(row)" type="danger" :underline="false" icon="el-icon-delete">
|
|
|
+ 删除
|
|
|
+ </el-link>
|
|
|
+
|
|
|
+ </template>
|
|
|
+ </ele-pro-table>
|
|
|
+ </el-card>
|
|
|
+ <produceEditDialog ref="produceEditDialogRef" @success="reload"></produceEditDialog>
|
|
|
+
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import materialPlanSearch from './components/materialPlan-search.vue';
|
|
|
+
|
|
|
+import produceEditDialog from './components/produce-edit-dialog'
|
|
|
+import { getList, del, } from '@/api/materialPlan/index';
|
|
|
+export default {
|
|
|
+ components: {
|
|
|
+
|
|
|
+ produceEditDialog,
|
|
|
+ materialPlanSearch,
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ activeName: 'second',
|
|
|
+
|
|
|
+ // 加载状态
|
|
|
+ loading: false,
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ statusOpt: {
|
|
|
+
|
|
|
+ second: [
|
|
|
+ { label: '所有状态', value: null },
|
|
|
+ { label: '待排产', value: '1' },
|
|
|
+ { label: '待发布', value: '2' },
|
|
|
+ { label: '发布失败', value: '3' },
|
|
|
+ { label: '已完成', value: '6' },
|
|
|
+ ]
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ // 表格列配置
|
|
|
+ columns() {
|
|
|
+ return [
|
|
|
+ {
|
|
|
+ columnKey: 'index',
|
|
|
+ label: '序号',
|
|
|
+ type: 'index',
|
|
|
+ width: 55,
|
|
|
+ align: 'center',
|
|
|
+ fixed: 'left'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ slot: 'name',
|
|
|
+ prop: 'name',
|
|
|
+ label: '计划名称',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'code',
|
|
|
+ label: '计划编号',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ columnKey: 'status',
|
|
|
+ label: '状态',
|
|
|
+ align: 'center',
|
|
|
+ slot: 'status',
|
|
|
+ action: 'status',
|
|
|
+ showOverflowTooltip: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'createUserName',
|
|
|
+ label: '创建人',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ prop: 'createTime',
|
|
|
+ label: '创建时间',
|
|
|
+ align: 'center',
|
|
|
+ showOverflowTooltip: true
|
|
|
+ },
|
|
|
+ {
|
|
|
+ columnKey: 'action',
|
|
|
+ label: '操作',
|
|
|
+ width: 250,
|
|
|
+ align: 'center',
|
|
|
+ resizable: false,
|
|
|
+ fixed: 'right',
|
|
|
+ slot: 'action'
|
|
|
+ }
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ statusFormatter(status) {
|
|
|
+ const obj = this.statusOpt[this.activeName].find(
|
|
|
+ (i) => i.value == status
|
|
|
+ );
|
|
|
+
|
|
|
+ return obj && obj.label;
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ /* 表格数据源 */
|
|
|
+ datasource({ page, limit, where }) {
|
|
|
+ where.type = 2
|
|
|
+ delete where.statusList
|
|
|
+ return getList({
|
|
|
+ pageNum: page,
|
|
|
+ size: limit,
|
|
|
+ ...where
|
|
|
+ });
|
|
|
+ },
|
|
|
+ handleEdit(type, row) {
|
|
|
+ this.$refs.produceEditDialogRef.open(type, row);
|
|
|
+ },
|
|
|
+
|
|
|
+ handleDel({ id }) {
|
|
|
+ this.$confirm('确认删除当前数据!', '提示').then(async () => {
|
|
|
+ await del([id]);
|
|
|
+ this.$message.success('删除成功!');
|
|
|
+ this.reload();
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ handleTabChange() {
|
|
|
+ this.$refs.searchRef.reset();
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 刷新表格 */
|
|
|
+ reload(where = {}) {
|
|
|
+ if (where.statusList) {
|
|
|
+ where.statusList = where.statusList.split(',')
|
|
|
+ }
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.table.reload({ page: 1, where });
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped></style>
|