瀏覽代碼

update 订单详情-子订单进度-查看批次

docs_0727
lb 1 年之前
父節點
當前提交
454d9c6dac
共有 5 個檔案被更改,包括 130 行新增111 行删除
  1. +2
    -0
      src/assets/scss/aui.scss
  2. +4
    -0
      src/assets/scss/components/dialog.scss
  3. +110
    -0
      src/views/modules/pms/order/components/BatchDialog.vue
  4. +0
    -107
      src/views/modules/pms/order/components/DialogList.vue
  5. +14
    -4
      src/views/modules/pms/order/components/TablePagi.vue

+ 2
- 0
src/assets/scss/aui.scss 查看文件

@@ -9,3 +9,5 @@
@import "./pages/404.scss";
// 模块
@import "./modules/home.scss";
// 组件
@import "./components/dialog.scss";

+ 4
- 0
src/assets/scss/components/dialog.scss 查看文件

@@ -0,0 +1,4 @@
[modal-append-to-body],
.el-dialog__wrapper {
backdrop-filter: blur(2px);
}

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

@@ -0,0 +1,110 @@
<template>
<el-dialog
class="dialog-just-form"
title="查看批次"
width="75%"
:visible="visible"
@close="handleClose"
@closed="$emit('destroy')"
:append-to-body="true"
:close-on-click-modal="false">
<!-- list -->
<BaseListTable
:key="Math.random()"
v-loading="tableLoading"
:column-config="tableConfigs"
:table-data="dataList"
@operate-event="handleOperate"
:refresh-layout-key="refreshLayoutKey" />
</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";

// import { pick as __pick } from "@/utils/filters";

export default {
name: "DialogList",
components: { BaseListTable },
props: {
configs: {
type: Object,
default: () => ({
clickModalToClose: false,
forms: null,
}),
},
},
data() {
return {
visible: false,
loading: false,
dataForm: {},
refreshLayoutKey: Math.random(),
tableLoading: false,
dataList: [],
tableConfigs: [
{ type: "index", label: "序号" },
{ prop: "batchNo", label: "批次编码" },
{ prop: "batchSize", label: "批次重量 [kg]" },
{ prop: "status", label: "状态" },
{ prop: "startTime", label: "开始时间" },
{ prop: "task", label: "任务分类" },
{ prop: "blenderCode", label: "混料机" },
{
prop: "description",
label: "详情",
subcomponent: TableTextComponent,
actionName: "view-blender-batch-details",
},
{ width: 160, prop: "createTime", label: "添加时间", filter: timeFilter },
{
prop: "operations",
name: "操作",
fixed: "right",
width: 90,
subcomponent: TableOperaionComponent,
options: [
// 只有 injectRow.task 为手动时,才允许编辑
// { name:"edit", label: "编辑", icon: "edit-outline", enable: injectRow => { return 'task' in injectRow && injectRow.task === 'Manual' } },
// { name: 'delete', icon: 'delete', enable: injectRow => { return 'task' in injectRow && injectRow.task === 'Manual' } },
// 只有 injectRow.status 为 waiting 时,才允许编辑
{
name: "edit",
label: "编辑",
icon: "edit-outline",
enable: (injectRow) => {
return "status" in injectRow && injectRow.status === "Waiting";
},
},
{
name: "delete",
icon: "delete",
emitFull: true,
promptField: "batchNo",
enable: (injectRow) => {
return "status" in injectRow && injectRow.status === "Waiting";
},
},
],
},
],
};
},
methods: {
init(id) {
this.visible = true;
},

handleClose() {
this.visible = false;
},

handleOperate() {},
},
};
</script>

+ 0
- 107
src/views/modules/pms/order/components/DialogList.vue 查看文件

@@ -1,107 +0,0 @@
<template>
<el-dialog
class="dialog-just-form"
:fullscreen="fullscreen"
:title="查看批次"
:visible="visible"
@close="handleClose"
:destroy-on-close="false"
:close-on-click-modal="configs.clickModalToClose ?? false"></el-dialog>
</template>

<script>
import { pick as __pick } from "@/utils/filters";

export default {
name: "DialogList",
components: {},
props: {
configs: {
type: Object,
default: () => ({
clickModalToClose: false,
forms: null,
}),
},
},
data() {
return {
loadingStatus: false,
dataForm,
watchList,
cachedList,
detailMode: false,
baseDialogConfig: null,
visible: false,
};
},
methods: {
/** init **/
init(id, detailMode) {
this.visible = true;
// console.log("[DialogJustForm] init", this.dataForm, id, detailMode);
if (this.$refs.dataForm) {
// console.log("[DialogJustForm] clearing form validation...");
// 当不是首次渲染dialog的时候,一开始就清空验证信息,本组件的循环里只有一个 dataForm 所以只用取 [0] 即可
this.$refs.dataForm.clearValidate();
}

this.detailMode = detailMode ?? false;
this.$nextTick(() => {
this.dataForm.id = id || null;
if (this.dataForm.id) {
// 如果是编辑
this.loadingStatus = true;

// 获取基本信息
this.$http
.get(this.urls.base + `/${this.dataForm.id}`)
.then(({ data: res }) => {
if (res && res.code === 0) {
this.dataForm = __pick(res.data, Object.keys(this.dataForm));
/** 格式化文件上传列表 */
if (Array.isArray(this.dataForm.files)) {
this.dataForm.files = this.dataForm.files.map((file) => ({
id: file.id,
name: file.fileUrl.split("/").pop(),
typeCode: file.typeCode,
url: file.fileUrl,
}));
}
// console.log("[DialogJustForm] init():", this.dataForm);
} else {
this.$message({
message: `${res.code}: ${res.msg}`,
type: "error",
duration: 1500,
});
}
this.loadingStatus = false;
})
.catch((err) => {
this.loadingStatus = false;
this.$message({
message: `${err}`,
type: "error",
duration: 1500,
});
});
} else {
// 如果不是编辑
this.loadingStatus = false;
}
});
},

handleClose() {
this.visible = false;

setTimeout(() => {
this.$emit("destroy-dialog");
// this.resetForm();
// this.$emit("update:dialogVisible", false);
}, 200);
},
},
};
</script>

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

@@ -21,18 +21,22 @@
<!-- 编辑弹窗 -->
<DialogJustForm ref="vdialog" v-if="false" />
<!-- 批次弹窗 -->
<DialogList ref="dialogList" :configs="{}" />
<BatchDialog
ref="batchDialog"
v-if="batchDialogVisible"
@destroy="batchDialogVisible = false"
:configs="batchDialogConfigs" />
</div>
</template>

<script>
import BaseListTable from "./BaseListTable.vue";
import DialogJustForm from "./DialogJustForm.vue";
import DialogList from "./DialogList.vue";
import BatchDialog from "./BatchDialog.vue";

export default {
name: "TablePaginationComp",
components: { BaseListTable, DialogJustForm, DialogList },
components: { BaseListTable, DialogJustForm, BatchDialog },
props: {
tableConfig: {
type: Object,
@@ -64,6 +68,9 @@ export default {
},
totalPage: 0,
refreshLayoutKey: 0,
/** batch related */
batchDialogVisible: false,
batchDialogConfigs: {},
};
},
mounted() {
@@ -80,7 +87,10 @@ export default {
break;
case "view-batch":
// 查看批次
console.log("查看批次");
this.batchDialogVisible = true;
this.$nextTick(() => {
this.$refs.batchDialog.init();
});
break;
case "detach":
// 下发


Loading…
取消
儲存