update 0801docs
This commit is contained in:
parent
87298d1c37
commit
ff46d76396
@ -26,13 +26,7 @@
|
|||||||
:total="totalPage"
|
:total="totalPage"
|
||||||
layout="total, sizes, prev, pager, next, jumper"></el-pagination>
|
layout="total, sizes, prev, pager, next, jumper"></el-pagination>
|
||||||
|
|
||||||
<DialogJustForm
|
<edit ref="edit" v-if="dialogVisible" :blenderOrderId="blenderOrderId" @destroy="handleDestroy('edit', $event)" />
|
||||||
ref="edit-dialog"
|
|
||||||
v-if="!!dialogConfigs"
|
|
||||||
:dialog-visible.sync="dialogVisible"
|
|
||||||
:configs="dialogConfigs"
|
|
||||||
@refreshDataList="getList"
|
|
||||||
@emit-data="handleOperate" />
|
|
||||||
<Overlay v-if="overlayVisible" />
|
<Overlay v-if="overlayVisible" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -41,6 +35,7 @@
|
|||||||
import BaseListTable from "@/components/BaseListTable.vue";
|
import BaseListTable from "@/components/BaseListTable.vue";
|
||||||
import BaseSearchForm from "@/components/BaseSearchForm.vue";
|
import BaseSearchForm from "@/components/BaseSearchForm.vue";
|
||||||
import DialogJustForm from "./DialogJustForm.vue";
|
import DialogJustForm from "./DialogJustForm.vue";
|
||||||
|
import edit from "./edit.vue";
|
||||||
import Overlay from "@/components/Overlay.vue";
|
import Overlay from "@/components/Overlay.vue";
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
|
|
||||||
@ -50,6 +45,7 @@ export default {
|
|||||||
BaseSearchForm,
|
BaseSearchForm,
|
||||||
BaseListTable,
|
BaseListTable,
|
||||||
DialogJustForm,
|
DialogJustForm,
|
||||||
|
edit,
|
||||||
Overlay,
|
Overlay,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@ -97,6 +93,11 @@ export default {
|
|||||||
dialogType() {
|
dialogType() {
|
||||||
return this.dialogConfigs.menu ? DIALOG_WITH_MENU : DIALOG_JUST_FORM;
|
return this.dialogConfigs.menu ? DIALOG_WITH_MENU : DIALOG_JUST_FORM;
|
||||||
},
|
},
|
||||||
|
blenderOrderId() {
|
||||||
|
const item = this.listQueryExtra.find((item) => item.blenderOrderId);
|
||||||
|
console.log("Find blenderOrderId", item);
|
||||||
|
return item ? item.blenderOrderId : null;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
activated() {
|
activated() {
|
||||||
this.refreshLayoutKey = this.layoutTable();
|
this.refreshLayoutKey = this.layoutTable();
|
||||||
@ -119,6 +120,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
editVisible: false,
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
topBtnConfig: null,
|
topBtnConfig: null,
|
||||||
totalPage: 0,
|
totalPage: 0,
|
||||||
@ -142,6 +144,19 @@ export default {
|
|||||||
this.initDataWhenLoad && this.getList();
|
this.initDataWhenLoad && this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handleDestroy(type, refresh) {
|
||||||
|
switch (type) {
|
||||||
|
case "edit":
|
||||||
|
this.dialogVisible = false;
|
||||||
|
if (refresh) {
|
||||||
|
this.getList();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "detail":
|
||||||
|
this.dialogVisible = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
/** 获取 列表数据 */
|
/** 获取 列表数据 */
|
||||||
getList(queryParams) {
|
getList(queryParams) {
|
||||||
this.tableLoading = true;
|
this.tableLoading = true;
|
||||||
@ -281,7 +296,6 @@ export default {
|
|||||||
.catch((err) => {});
|
.catch((err) => {});
|
||||||
}
|
}
|
||||||
case "edit": {
|
case "edit": {
|
||||||
console.log("[edit] ", data);
|
|
||||||
this.openDialog(data); /** data is ==> id */
|
this.openDialog(data); /** data is ==> id */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -303,7 +317,6 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
handleBtnClick({ btnName, payload }) {
|
handleBtnClick({ btnName, payload }) {
|
||||||
console.log("[search] form handleBtnClick", btnName, payload);
|
|
||||||
switch (btnName) {
|
switch (btnName) {
|
||||||
case "批量同步":
|
case "批量同步":
|
||||||
this.overlayVisible = true;
|
this.overlayVisible = true;
|
||||||
@ -354,7 +367,6 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
console.log("查询", this.cachedSearchCondition);
|
|
||||||
this.getList(this.cachedSearchCondition);
|
this.getList(this.cachedSearchCondition);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -396,18 +408,10 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
/** 打开对话框 */
|
/** 打开对话框 */
|
||||||
openDialog(row_id, detail_mode, tag_info) {
|
openDialog(row_id, detail_mode) {
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
let extraParams = null;
|
|
||||||
if (this.attachListQueryExtra && this.listQueryExtra.length) {
|
|
||||||
this.listQueryExtra.forEach((item) => {
|
|
||||||
let found = item[this.attachListQueryExtra];
|
|
||||||
if (found !== null && found !== undefined) extraParams = item;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
console.log(`[edit-dialog] extraParams: ${extraParams}`);
|
this.$refs["edit"].init(row_id, detail_mode);
|
||||||
this.$refs["edit-dialog"].init(/** some args... */ row_id, detail_mode, tag_info, extraParams);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
225
src/views/modules/pms/blenderBatch/components/edit.vue
Normal file
225
src/views/modules/pms/blenderBatch/components/edit.vue
Normal file
@ -0,0 +1,225 @@
|
|||||||
|
<!--
|
||||||
|
filename: edit.vue
|
||||||
|
author: liubin
|
||||||
|
date: 2023-07-19 09:00:04
|
||||||
|
description:
|
||||||
|
-->
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
class="dialog-just-form"
|
||||||
|
:visible="dialogVisible"
|
||||||
|
@close="handleClose"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
width="'50%'">
|
||||||
|
<!-- title -->
|
||||||
|
<div slot="title" class="dialog-title">
|
||||||
|
<h1 class="">{{ dataForm.id ? "编辑" : "新增" }}</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- form -->
|
||||||
|
<el-form ref="dataForm" :model="dataForm" :rules="rules" v-loading="loading || detailLoading">
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col>
|
||||||
|
<el-form-item label="批次重量" prop="batchSize">
|
||||||
|
<el-input v-model="dataForm.batchSize" clearable placeholder="请输入批次重量"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col v-if="dataForm.id">
|
||||||
|
<el-form-item label="牌号" prop="bomName">
|
||||||
|
<el-input v-model="dataForm.bomName" clearable placeholder="请输入牌号"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col v-if="dataForm.id">
|
||||||
|
<el-form-item label="版本号" prop="techId">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.bomVersion"
|
||||||
|
filterable
|
||||||
|
clearable
|
||||||
|
placeholder="请选择版本"
|
||||||
|
@change="handleBomVersionChange">
|
||||||
|
<el-option v-for="(bom, index) in bomList" :key="bom.label" :label="bom.label" :value="bom.value">
|
||||||
|
<div style="display: flex; align-items: center">
|
||||||
|
<!-- <span style="display: inline-block; width: 150px; overflow: hidden; text-overflow: ellipsis"> -->
|
||||||
|
{{ bom.label }}
|
||||||
|
<!-- </span> -->
|
||||||
|
<!-- <span style="display: inline-block; margin-left: 12px; font-size: 0.9em">
|
||||||
|
{{ bom.remark || "无" }}
|
||||||
|
</span> -->
|
||||||
|
</div>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<!-- footer -->
|
||||||
|
<div slot="footer">
|
||||||
|
<el-button v-if="!dataForm.id" type="primary" @click="handleBtnClick('保存')" :loading="btnLoading">
|
||||||
|
保存
|
||||||
|
</el-button>
|
||||||
|
<el-button v-else type="primary" @click="handleBtnClick('更新')" :loading="btnLoading">更新</el-button>
|
||||||
|
<el-button @click="handleBtnClick('取消')">取消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "BlenderBatchAndBomEdit",
|
||||||
|
components: {},
|
||||||
|
props: {
|
||||||
|
blenderOrderId: {
|
||||||
|
type: String,
|
||||||
|
default: null,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dialogVisible: false,
|
||||||
|
loading: false,
|
||||||
|
detailLoading: false,
|
||||||
|
dataForm: {
|
||||||
|
id: null,
|
||||||
|
batchSize: null,
|
||||||
|
bomName: null,
|
||||||
|
bomVersion: null,
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
batchSize: [
|
||||||
|
{ required: true, message: "批次重量不能为空", trigger: "blur" },
|
||||||
|
{ type: "number", message: "批次重量必须为数字", trigger: "blur", transform: (value) => Number(value) },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
bomList: [],
|
||||||
|
bomId: null,
|
||||||
|
btnLoading: false,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
blenderOrderId: {
|
||||||
|
handler(val) {
|
||||||
|
// console.log("blenderOrderId changed", val);
|
||||||
|
},
|
||||||
|
immediate: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 初始化
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.id = id;
|
||||||
|
this.getBomList(id);
|
||||||
|
this.getDetail(id);
|
||||||
|
this.dialogVisible = true;
|
||||||
|
},
|
||||||
|
// 获取详情
|
||||||
|
async getDetail(id) {
|
||||||
|
if (!id) return;
|
||||||
|
this.detailLoading = true;
|
||||||
|
const {
|
||||||
|
data: { data: batch },
|
||||||
|
} = await this.$http.get(`/pms/blenderBatch/${id}`);
|
||||||
|
this.dataForm.batchSize = batch.batchSize;
|
||||||
|
this.dataForm.bomName = batch.bomName;
|
||||||
|
this.dataForm.bomVersion = batch.bomVersion;
|
||||||
|
this.bomId = batch.bomId;
|
||||||
|
this.detailLoading = false;
|
||||||
|
},
|
||||||
|
// 获取工艺列表
|
||||||
|
async getBomList(id) {
|
||||||
|
if (!id) return;
|
||||||
|
this.loading = true;
|
||||||
|
const { data: res } = await this.$http.post("/pms/blenderBatch/getBoms", {
|
||||||
|
id,
|
||||||
|
blenderOrderId: this.blenderOrderId,
|
||||||
|
});
|
||||||
|
this.loading = false;
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.bomList = res.data.list.map((item) => {
|
||||||
|
return {
|
||||||
|
label: item.version,
|
||||||
|
value: item.version,
|
||||||
|
id: item.id,
|
||||||
|
brand: item.code,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 改变version
|
||||||
|
handleBomVersionChange(version) {
|
||||||
|
const bom = this.bomList.find((item) => item.value == version);
|
||||||
|
this.bomId = bom.id;
|
||||||
|
},
|
||||||
|
|
||||||
|
// 按钮事件
|
||||||
|
handleBtnClick(type) {
|
||||||
|
switch (type) {
|
||||||
|
case "保存":
|
||||||
|
case "更新":
|
||||||
|
this.$refs.dataForm.validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
this.btnLoading = true;
|
||||||
|
this.$http[type == "保存" ? "post" : "put"](
|
||||||
|
"/pms/blenderBatch",
|
||||||
|
type == "保存"
|
||||||
|
? {
|
||||||
|
batchSize: this.dataForm.batchSize,
|
||||||
|
blenderOrderId: this.blenderOrderId,
|
||||||
|
}
|
||||||
|
: {
|
||||||
|
id: this.dataForm.id,
|
||||||
|
blenderOrderId: this.blenderOrderId,
|
||||||
|
batchSize: this.dataForm.batchSize,
|
||||||
|
bomId: this.bomId,
|
||||||
|
}
|
||||||
|
).then((res) => {
|
||||||
|
if (res.data.code == 0) {
|
||||||
|
this.$message.success(type + "成功");
|
||||||
|
this.handleClose(true);
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.data.msg);
|
||||||
|
}
|
||||||
|
this.btnLoading = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case "取消":
|
||||||
|
this.handleClose();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
handleClose(refresh = false) {
|
||||||
|
this.dialogVisible = false;
|
||||||
|
setTimeout(() => {
|
||||||
|
this.$emit("destroy", refresh);
|
||||||
|
}, 500);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.dialog-just-form >>> .el-dialog__body {
|
||||||
|
/* padding-top: 16px !important;
|
||||||
|
padding-bottom: 16px !important; */
|
||||||
|
padding-top: 0 !important;
|
||||||
|
padding-bottom: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-select,
|
||||||
|
.el-cascader,
|
||||||
|
.el-date-editor {
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialog-just-form >>> .el-dialog__header {
|
||||||
|
padding: 10px 20px 10px;
|
||||||
|
/* background: linear-gradient(to bottom, rgba(0, 0, 0, 0.25), white); */
|
||||||
|
}
|
||||||
|
</style>
|
@ -24,8 +24,8 @@ export default function () {
|
|||||||
// { prop: "remark", label: "备注" },
|
// { prop: "remark", label: "备注" },
|
||||||
// { prop: 'status', label: '状态', subcomponent: StatusComponent }, // subcomponent
|
// { prop: 'status', label: '状态', subcomponent: StatusComponent }, // subcomponent
|
||||||
{ prop: "description", label: "详情", subcomponent: TableTextComponent, actionName: "view-blender-batch-details" },
|
{ prop: "description", label: "详情", subcomponent: TableTextComponent, actionName: "view-blender-batch-details" },
|
||||||
{ prop: 'bomName', label: '牌号' },
|
{ prop: "bomName", label: "牌号" },
|
||||||
{ prop: 'bomVersion', label: '版本号' },
|
{ prop: "bomVersion", label: "版本号" },
|
||||||
// { width: 160, prop: "createTime", label: "添加时间", filter: timeFilter },
|
// { width: 160, prop: "createTime", label: "添加时间", filter: timeFilter },
|
||||||
{
|
{
|
||||||
prop: "operations",
|
prop: "operations",
|
||||||
@ -93,6 +93,8 @@ export default function () {
|
|||||||
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||||||
elparams: { placeholder: "请输入批次重量" },
|
elparams: { placeholder: "请输入批次重量" },
|
||||||
},
|
},
|
||||||
|
],
|
||||||
|
[
|
||||||
{
|
{
|
||||||
input: true,
|
input: true,
|
||||||
label: "牌号",
|
label: "牌号",
|
||||||
@ -100,6 +102,8 @@ export default function () {
|
|||||||
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||||||
elparams: { placeholder: "请输入批次重量" },
|
elparams: { placeholder: "请输入批次重量" },
|
||||||
},
|
},
|
||||||
|
],
|
||||||
|
[
|
||||||
{
|
{
|
||||||
select: [],
|
select: [],
|
||||||
label: "版本号",
|
label: "版本号",
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
:head-config="headFormConfigs"
|
:head-config="headFormConfigs"
|
||||||
:dialog-configs="dialogConfigs"
|
:dialog-configs="dialogConfigs"
|
||||||
:list-query-extra="[{ blenderOrderId: id }]"
|
:list-query-extra="[{ blenderOrderId: id }]"
|
||||||
attach-list-query-extra="blenderOrderId"
|
|
||||||
:trigger-update="triggerUpdateKey" />
|
:trigger-update="triggerUpdateKey" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -24,7 +23,7 @@ export default {
|
|||||||
computed: {
|
computed: {
|
||||||
// 混料订单id
|
// 混料订单id
|
||||||
id() {
|
id() {
|
||||||
console.log("computed id");
|
console.log("computed id", this.$route.query.id || "");
|
||||||
return this.$route.query.id || "";
|
return this.$route.query.id || "";
|
||||||
},
|
},
|
||||||
refreshPage() {
|
refreshPage() {
|
||||||
|
Loading…
Reference in New Issue
Block a user