瀏覽代碼

add BatchDialog--detail

docs_0727
lb 1 年之前
父節點
當前提交
a9fea5cec4
共有 3 個文件被更改,包括 156 次插入58 次删除
  1. +5
    -56
      src/views/modules/pms/blenderBatchDetails/config.js
  2. +137
    -0
      src/views/modules/pms/order/components/BatchDialog--detail.vue
  3. +14
    -2
      src/views/modules/pms/order/components/BatchDialog.vue

+ 5
- 56
src/views/modules/pms/blenderBatchDetails/config.js 查看文件

@@ -1,6 +1,3 @@
// import TableOperaionComponent from "@/components/noTemplateComponents/operationComponent";
// import TableTextComponent from "@/components/noTemplateComponents/detailComponent";
// import StatusComponent from "@/components/noTemplateComponents/statusComponent";
import { timeFilter } from "@/utils/filters";

export default function () {
@@ -13,74 +10,26 @@ export default function () {
{ prop: "qty", label: "计算用量" },
{ prop: "realqty", label: "实际用量" },
{ width: 160, prop: "createTime", label: "添加时间", filter: timeFilter },
// {
// prop: "operations",
// name: "操作",
// fixed: "right",
// width: 120,
// subcomponent: TableOperaionComponent,
// options: [{ name: { name: "edit", label: "编辑", icon: "edit-outline"}, enable: injectRow => { return 'task' in injectRow && injectRow.task === 'Manual' } }] // 只有 injectRow.task 为手动时,才允许编辑
// },
];

const headFormFields = [
{
label: '批次详情'
label: "批次详情",
},
// {
// button: {
// type: "plain",
// name: "新增",
// permission: "",
// },
// },
];

// const dialogJustFormConfigs = {
// // extra blenderOrderId
// // extraIds: {},
// form: {
// rows: [
// [
// {
// input: true,
// label: "批次编码",
// prop: "batchNo",
// rules: { required: true, message: "必填项不能为空", trigger: "blur" },
// elparams: { placeholder: "请输入批次编码" },
// },
// {
// input: true,
// label: "批次重量",
// prop: "batchSize",
// rules: { required: true, message: "必填项不能为空", trigger: "blur" },
// elparams: { placeholder: "请输入批次重量" },
// },
// ],
// ],
// operations: [
// { name: "add", label: "保存", type: "primary", permission: "", showOnEdit: false },
// { name: "update", label: "更新", type: "primary", permission: "", showOnEdit: true },
// { name: "reset", label: "重置", type: "warning", showAlways: true },
// ],
// },
// };

return {
dialogConfigs: null,
tableConfig: {
table: null, // 此处可省略,el-table 上的配置项
column: tableProps, // el-column-item 上的配置项
table: null,
column: tableProps,
},
headFormConfigs: {
rules: null, // 名称是由 BaseSearchForm.vue 组件固定的
fields: headFormFields, // 名称是由 BaseSearchForm.vue 组件固定的
rules: null,
fields: headFormFields,
},
urls: {
base: "/pms/blenderDetail",
page: "/pms/blenderDetail/pageView",
// pageIsPostApi: true, // 使用post接口来获取page数据,极少用,目前基本上只有工艺管理模块里在用
// subase: "/pms/equipmentTechParam",
},
};
}

+ 137
- 0
src/views/modules/pms/order/components/BatchDialog--detail.vue 查看文件

@@ -0,0 +1,137 @@
<template>
<el-dialog
class="batch-dialog"
title="批次详情"
width="85%"
:visible="visible"
@close="handleClose"
@closed="$emit('destroy')"
:append-to-body="true"
:close-on-click-modal="false">
<el-row>
<el-col style="text-align: right">
<el-button type="text" @click="handleOperate({ type: 'create' })" icon="el-icon-plus">新增</el-button>
</el-col>
</el-row>
<!-- list -->
<BaseListTable
:key="Math.random()"
v-loading="tableLoading"
:column-config="tableConfigs"
:table-data="dataList"
:current-page="page"
:current-size="limit"
@operate-event="handleOperate"
:refresh-layout-key="refreshLayoutKey" />

<el-pagination
style="margin-top: 12px; text-align: right"
:current-page.sync="page"
:current-size="limit"
:page-sizes="[5, 10, 20]"
:page-size.sync="limit"
:total="total"
layout="total, sizes, prev, pager, next, jumper"></el-pagination>

<div slot="footer">
<el-button @click="handleClose">取消</el-button>
</div>
</el-dialog>
</template>

<script>
import BaseListTable from "@/components/BaseListTable.vue";
import TableTextComponent from "@/components/noTemplateComponents/detailComponent";
import TableOperaionComponent from "@/components/noTemplateComponents/operationComponent";
import { timeFilter } from "@/utils/filters";

export default {
name: "BatchDialog--detail",
components: { BaseListTable },
props: {
configs: {
type: Object,
default: () => ({
clickModalToClose: false,
forms: null,
}),
},
},
data() {
return {
visible: false,
blenderOrderId: null, // 用来获取批次列表
loading: false,
limit: 20,
page: 1,
total: 0,
refreshLayoutKey: Math.random(),
tableLoading: false,
dataList: [],
tableConfigs: [
{ type: "index", label: "序号" },
// { prop: "batchId", label: "混料批次ID" },
{ prop: "materialCode", label: "原料编码" },
{ prop: "materialDesc", label: "原料描述" },
{ prop: "materialName", label: "原料中文名称" },
{ prop: "qty", label: "计算用量" },
{ prop: "realqty", label: "实际用量" },
{ width: 160, prop: "createTime", label: "添加时间", filter: timeFilter },
],
};
},
watch: {
page() {
this.getBatchDetailList();
},
limit() {
this.getBatchDetailList();
},
},
methods: {
init(id) {
this.visible = true;
console.log("[BatchDialog--detail] init", id);
this.blenderOrderId = id;
this.getBatchDetailList();
},

/** 获取批次列表 */
async getBatchDetailList() {
this.tableLoading = true;
try {
const {
data: { code, data, msg },
} = await this.$http.get("/pms/blenderBatch/pageView", {
params: {
page: this.page,
limit: this.limit,
blenderOrderId: this.blenderOrderId,
},
});
console.log("[BatchDialog] getBatchList", data);
if (code == 0) {
this.dataList = data.list;
this.total = data.total;
} else {
throw new Error(msg);
}
// this.dataList = data;
this.tableLoading = false;
} catch (err) {
this.$message.error("message" in err ? err.message : err);
}
},

handleClose() {
this.visible = false;
},
},
};
</script>

<style scoped>
.batch-dialog >>> .el-dialog__body {
padding: 0 20px;
}
</style>

+ 14
- 2
src/views/modules/pms/order/components/BatchDialog.vue 查看文件

@@ -33,12 +33,22 @@
:total="total"
layout="total, sizes, prev, pager, next, jumper"></el-pagination>

<!-- 编辑 -->
<BatchDialogEdit
v-if="editDialogVisible"
ref="batchDialogEdit"
:blender-order-id="blenderOrderId"
@refreshDataList="getBatchList"
@destroy="editDialogVisible = false" />

<!-- 查看详情 -->
<BatchDialogDetail
v-if="detailDialogVisible"
ref="batchDialogDetail"
:blender-order-id="blenderOrderId"
@refreshDataList="getBatchList"
@destroy="detailDialogVisible = false" />

<!-- footer -->
<div slot="footer">
<el-button @click="handleClose">取消</el-button>
@@ -52,11 +62,12 @@ import TableTextComponent from "@/components/noTemplateComponents/detailComponen
import TableOperaionComponent from "@/components/noTemplateComponents/operationComponent";
import { timeFilter } from "@/utils/filters";
import BatchDialogEdit from "./BatchDialog--edit.vue";
import BatchDialogDetail from "./BatchDialog--detail.vue";
// import { pick as __pick } from "@/utils/filters";

export default {
name: "DialogList",
components: { BaseListTable, BatchDialogEdit },
name: "BatchDialog",
components: { BaseListTable, BatchDialogEdit, BatchDialogDetail },
props: {
configs: {
type: Object,
@@ -70,6 +81,7 @@ export default {
return {
visible: false,
editDialogVisible: false,
detailDialogVisible: false,
blenderOrderId: null, // 用来获取批次列表
loading: false,
limit: 20,


Loading…
取消
儲存