add 烧制工艺
This commit is contained in:
parent
c534369ee2
commit
cd4366f780
@ -253,14 +253,16 @@ export default {
|
|||||||
inject: ["urls"],
|
inject: ["urls"],
|
||||||
data() {
|
data() {
|
||||||
const dataForm = {};
|
const dataForm = {};
|
||||||
const autoDisabledList = [];
|
const autoDisabledQueue = [];
|
||||||
|
const watingToRefreshQueue = [];
|
||||||
|
|
||||||
this.configs.form.rows.forEach((row) => {
|
this.configs.form.rows.forEach((row) => {
|
||||||
row.forEach((col) => {
|
row.forEach((col) => {
|
||||||
if (col.upload) dataForm[col.prop] = col.default ?? [];
|
if (col.upload) dataForm[col.prop] = col.default ?? [];
|
||||||
else dataForm[col.prop] = col.default ?? null;
|
else dataForm[col.prop] = col.default ?? null;
|
||||||
|
|
||||||
if (col.autoDisabled) autoDisabledList.push(col.prop);
|
if (col.autoDisabled) autoDisabledQueue.push(col.prop);
|
||||||
|
if (!!col.refreshOptionsAfterConfirm) watingToRefreshQueue.push(col);
|
||||||
if (col.fetchData)
|
if (col.fetchData)
|
||||||
col.fetchData().then(({ data: res }) => {
|
col.fetchData().then(({ data: res }) => {
|
||||||
console.log("[Fetch Data]", "list" in res.data, res.data, res.data.list);
|
console.log("[Fetch Data]", "list" in res.data, res.data, res.data.list);
|
||||||
@ -275,7 +277,7 @@ export default {
|
|||||||
);
|
);
|
||||||
// col.options = res.data.list;
|
// col.options = res.data.list;
|
||||||
else if (col.options.length) {
|
else if (col.options.length) {
|
||||||
res.data.list.unshift(...col.options);
|
"list" in res.data ? res.data.list.unshift(...col.options) : res.data.unshift(...col.options);
|
||||||
this.$set(
|
this.$set(
|
||||||
col,
|
col,
|
||||||
"options",
|
"options",
|
||||||
@ -326,7 +328,8 @@ export default {
|
|||||||
activeMenu: this.configs.menu[0].name,
|
activeMenu: this.configs.menu[0].name,
|
||||||
dataForm,
|
dataForm,
|
||||||
detailMode: false,
|
detailMode: false,
|
||||||
autoDisabledList,
|
autoDisabledQueue,
|
||||||
|
watingToRefreshQueue,
|
||||||
showBaseDialog: false,
|
showBaseDialog: false,
|
||||||
baseDialogConfig: null,
|
baseDialogConfig: null,
|
||||||
subList: [],
|
subList: [],
|
||||||
@ -387,7 +390,7 @@ export default {
|
|||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
disableCondition(prop) {
|
disableCondition(prop) {
|
||||||
return this.detailMode || (this.disableXXX && this.autoDisabledList.indexOf(prop) !== -1);
|
return this.detailMode || (this.disableXXX && this.autoDisabledQueue.indexOf(prop) !== -1);
|
||||||
},
|
},
|
||||||
/** utitilities */
|
/** utitilities */
|
||||||
showButton(operate) {
|
showButton(operate) {
|
||||||
@ -654,12 +657,12 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 加载额外需要的 id
|
// 加载额外需要的 id
|
||||||
let extraIds = {}
|
let extraIds = {};
|
||||||
if (this.configs.extraIds && typeof this.configs.extraIds === 'object') {
|
if (this.configs.extraIds && typeof this.configs.extraIds === "object") {
|
||||||
// 如果配置里,有 extraIds 选项
|
// 如果配置里,有 extraIds 选项
|
||||||
Object.entries(this.configs.extraIds).forEach(([key, value]) => {
|
Object.entries(this.configs.extraIds).forEach(([key, value]) => {
|
||||||
extraIds[key] = value
|
extraIds[key] = value;
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 实际发送请求
|
// 实际发送请求
|
||||||
@ -669,7 +672,7 @@ export default {
|
|||||||
data: {
|
data: {
|
||||||
...extraIds,
|
...extraIds,
|
||||||
...this.dataForm,
|
...this.dataForm,
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
console.log("[add&update] res is: ", res);
|
console.log("[add&update] res is: ", res);
|
||||||
@ -677,6 +680,28 @@ export default {
|
|||||||
this.$message.success(payload.name === "add" ? "添加成功" : "更新成功");
|
this.$message.success(payload.name === "add" ? "添加成功" : "更新成功");
|
||||||
this.$emit("refreshDataList");
|
this.$emit("refreshDataList");
|
||||||
this.loadingStatus = false;
|
this.loadingStatus = false;
|
||||||
|
|
||||||
|
// 如果 watingToRefreshQueue 队列里有数据
|
||||||
|
if (this.watingToRefreshQueue.length) {
|
||||||
|
// 刷新队列
|
||||||
|
this.watingToRefreshQueue.forEach((opt) => {
|
||||||
|
console.log('[刷新数据, ', opt, ']')
|
||||||
|
if ("fetchData" in opt) {
|
||||||
|
opt.fetchData().then(({ data: res }) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.$set(
|
||||||
|
opt,
|
||||||
|
"options",
|
||||||
|
"list" in res.data
|
||||||
|
? res.data.list.map((i) => ({ label: i.name, value: i.id }))
|
||||||
|
: res.data.map((i) => ({ label: i.name, value: i.id }))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
this.handleClose();
|
this.handleClose();
|
||||||
} else {
|
} else {
|
||||||
this.$message({
|
this.$message({
|
||||||
|
@ -90,11 +90,19 @@ export default function () {
|
|||||||
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||||||
elparams: { placeholder: "请输入混料程序编码" },
|
elparams: { placeholder: "请输入混料程序编码" },
|
||||||
},
|
},
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
forceDisabled: true,
|
||||||
|
prop: 'bomCode',
|
||||||
|
label: '当前配方'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
select: true,
|
select: true,
|
||||||
label: "配方",
|
label: "选择新配方",
|
||||||
prop: "bomId",
|
prop: "bomId",
|
||||||
options: [],
|
options: [],
|
||||||
|
refreshOptionsAfterConfirm: true,
|
||||||
elparams: { clearable: true, filterable: true, placeholder: "请选择配方" },
|
elparams: { clearable: true, filterable: true, placeholder: "请选择配方" },
|
||||||
fetchData: () => this.$http.get("/pms/bom/listUnR", { params: { wsId: 1, externalCode: '', key: '' } }),
|
fetchData: () => this.$http.get("/pms/bom/listUnR", { params: { wsId: 1, externalCode: '', key: '' } }),
|
||||||
},
|
},
|
||||||
|
@ -119,7 +119,7 @@ export default function () {
|
|||||||
prop: "sync",
|
prop: "sync",
|
||||||
key: 'sync',
|
key: 'sync',
|
||||||
// rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
// rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||||||
elparams: { placeholder: "请输入同步状态" },
|
// elparams: { placeholder: "请输入同步状态" },
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[{ textarea: true, label: "备注", prop: "remark", elparams: { placeholder: "备注" } }],
|
[{ textarea: true, label: "备注", prop: "remark", elparams: { placeholder: "备注" } }],
|
||||||
|
211
src/views/modules/pms/firingStep/config.js
Normal file
211
src/views/modules/pms/firingStep/config.js
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
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 () {
|
||||||
|
const tableProps = [
|
||||||
|
{ type: "index", label: "序号" },
|
||||||
|
{ prop: "createTime", label: "添加时间", filter: timeFilter },
|
||||||
|
{ prop: "name", label: "工艺名称" },
|
||||||
|
{ prop: "code", label: "工艺编码" },
|
||||||
|
// { prop: 'version', label: '配方号' },
|
||||||
|
{ prop: "bomCode", label: "配方号" },
|
||||||
|
// { prop: 'status', label: '状态', subcomponent: StatusComponent }, // subcomponent
|
||||||
|
{ prop: "description", label: "详情", subcomponent: TableTextComponent },
|
||||||
|
{ prop: "remark", label: "备注" },
|
||||||
|
{
|
||||||
|
prop: "operations",
|
||||||
|
name: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 120,
|
||||||
|
subcomponent: TableOperaionComponent,
|
||||||
|
options: ["edit", { name: "delete", emitFull: true, permission: "pms:blenderStep:delete" }],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const headFormFields = [
|
||||||
|
{
|
||||||
|
prop: "key",
|
||||||
|
label: "工艺名称/编码",
|
||||||
|
input: true,
|
||||||
|
default: { value: "" },
|
||||||
|
bind: {
|
||||||
|
placeholder: "请输入工艺名称或编码",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "bom",
|
||||||
|
label: "配方号",
|
||||||
|
input: true,
|
||||||
|
default: { value: "" },
|
||||||
|
bind: {
|
||||||
|
placeholder: "请输入配方号",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// prop: 'bom',
|
||||||
|
// label: '配方号',
|
||||||
|
// input: true,
|
||||||
|
// default: { value: '' },
|
||||||
|
// bind: {
|
||||||
|
// placeholder: '请输入配方号'
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
button: {
|
||||||
|
type: "primary",
|
||||||
|
name: "查询",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
button: {
|
||||||
|
type: "plain",
|
||||||
|
name: "新增",
|
||||||
|
permission: "pms:blenderStep:save",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const dialogConfigs = {
|
||||||
|
extraIds: { wsId: 3 }, // 工艺管理里面的相关模块的 dialogWithMenu 需要额外的工序 id
|
||||||
|
menu: [
|
||||||
|
{ name: "烧制工艺", key: "info" },
|
||||||
|
{ name: "工艺参数", key: "attr", onlyEditMode: true },
|
||||||
|
],
|
||||||
|
form: {
|
||||||
|
rows: [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
input: true,
|
||||||
|
label: "工艺名称",
|
||||||
|
prop: "name",
|
||||||
|
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||||||
|
elparams: { placeholder: "请输入烧制工艺名称" },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: true,
|
||||||
|
label: "工艺编码",
|
||||||
|
prop: "code",
|
||||||
|
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||||||
|
elparams: { placeholder: "请输入烧制工艺编码" },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
forceDisabled: true,
|
||||||
|
prop: 'bomCode',
|
||||||
|
label: '当前配方'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
select: true,
|
||||||
|
label: "选择新配方",
|
||||||
|
prop: "bomId",
|
||||||
|
options: [],
|
||||||
|
refreshOptionsAfterConfirm: true,
|
||||||
|
elparams: { clearable: true, filterable: true, placeholder: "请选择配方" },
|
||||||
|
fetchData: () => this.$http.get("/pms/bom/listUnR", { params: { wsId: 3, externalCode: '', key: '' } }),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
[{ textarea: true, label: "备注", prop: "remark", elparams: { placeholder: "备注" } }],
|
||||||
|
],
|
||||||
|
operations: [
|
||||||
|
{ name: "add", label: "保存", type: "primary", permission: "pms:firingStep:save", showOnEdit: false },
|
||||||
|
{ name: "update", label: "更新", type: "primary", permission: "pms:firingStep:update", showOnEdit: true },
|
||||||
|
{ name: "reset", label: "重置", type: "warning", showAlways: true },
|
||||||
|
// { name: 'cancel', label: '取消', showAlways: true },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
table: {
|
||||||
|
extraParams: ["techId", "key"],
|
||||||
|
props: [
|
||||||
|
// { type: 'index', label: '序号' },
|
||||||
|
// { prop: "createTime", label: "添加时间", filter: timeFilter },
|
||||||
|
{ prop: "name", label: "参数名称", isEditField: true },
|
||||||
|
{ prop: "code", label: "参数编码", isEditField: true },
|
||||||
|
// { prop: "specifications", label: "规格", isEditField: true },
|
||||||
|
{ prop: "value", label: "设定值", isEditField: true },
|
||||||
|
{ prop: "valueFloor", label: "值下限", isEditField: true },
|
||||||
|
{ prop: "valueTop", label: "值上限", isEditField: true },
|
||||||
|
{ prop: "description", label: "描述", isEditField: true },
|
||||||
|
{
|
||||||
|
prop: "operations",
|
||||||
|
name: "操作",
|
||||||
|
fixed: "right",
|
||||||
|
width: 120,
|
||||||
|
subcomponent: TableOperaionComponent,
|
||||||
|
options: [
|
||||||
|
{ name: "edit", permission: "pms:blenderStepParam:update" },
|
||||||
|
{ name: "delete", emitFull: true, permission: "pms:blenderStepParam:delete" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
data: [
|
||||||
|
// TOOD 暂时用不到,但获取可以考虑把拉取接口数据的函数迁移到此文件(没有太大必要)
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
subDialog: {
|
||||||
|
extraParam: "techId",
|
||||||
|
rows: [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
input: true,
|
||||||
|
label: "参数名称",
|
||||||
|
prop: "name",
|
||||||
|
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||||||
|
elparams: { placeholder: "请输入参数名称" },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
input: true,
|
||||||
|
label: "参数编码",
|
||||||
|
prop: "code",
|
||||||
|
rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||||||
|
elparams: { placeholder: "请输入描述" },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{ input: true, label: "参数值上限", prop: "valueTop", elparams: { placeholder: "请输入参数值上限" } },
|
||||||
|
{ input: true, label: "参数值下限", prop: "valueFloor", elparams: { placeholder: "请输入参数值下限" } },
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{ input: true, label: "参数值", prop: "value", elparams: { placeholder: "请输入参数值" } },
|
||||||
|
{
|
||||||
|
input: true,
|
||||||
|
label: "描述",
|
||||||
|
prop: "description",
|
||||||
|
// rules: { required: true, message: "必填项不能为空", trigger: "blur" },
|
||||||
|
elparams: { placeholder: "请输入描述" },
|
||||||
|
},
|
||||||
|
],
|
||||||
|
],
|
||||||
|
operations: [
|
||||||
|
{ name: "add", label: "保存", type: "primary", showOnEdit: false },
|
||||||
|
{ name: "update", label: "更新", type: "primary", showOnEdit: true },
|
||||||
|
// { name: "update", label: "更新", type: "primary", permission: "pms:blenderStepParam:update", showOnEdit: true },
|
||||||
|
// { name: 'reset', label: '重置', type: 'warning', showAlways: true },
|
||||||
|
// { name: 'cancel', label: '取消', showAlways: true },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
return {
|
||||||
|
dialogConfigs,
|
||||||
|
tableConfig: {
|
||||||
|
table: null, // 此处可省略,el-table 上的配置项
|
||||||
|
column: tableProps, // el-column-item 上的配置项
|
||||||
|
},
|
||||||
|
headFormConfigs: {
|
||||||
|
rules: null, // 名称是由 BaseSearchForm.vue 组件固定的
|
||||||
|
fields: headFormFields, // 名称是由 BaseSearchForm.vue 组件固定的
|
||||||
|
},
|
||||||
|
urls: {
|
||||||
|
base: "/pms/equipmentTech",
|
||||||
|
page: "/pms/equipmentTech/pageView",
|
||||||
|
pageIsPostApi: true, // 使用post接口来获取page数据,极少用,目前基本上只有工艺管理模块里在用
|
||||||
|
subase: "/pms/equipmentTechParam",
|
||||||
|
subpage: "/pms/equipmentTechParam/page",
|
||||||
|
// more...
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
51
src/views/modules/pms/firingStep/index.vue
Normal file
51
src/views/modules/pms/firingStep/index.vue
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
<template>
|
||||||
|
<ListViewWithHead
|
||||||
|
:table-config="tableConfig"
|
||||||
|
:head-config="headFormConfigs"
|
||||||
|
:dialog-configs="dialogConfigs"
|
||||||
|
:list-query-extra="['key', 'bom', { wsId: 3 }]"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import initConfig from "./config";
|
||||||
|
import ListViewWithHead from "@/views/atomViews/ListViewWithHead.vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "BlenderView",
|
||||||
|
components: { ListViewWithHead },
|
||||||
|
provide() {
|
||||||
|
return {
|
||||||
|
urls: this.allUrls,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
// urls: {
|
||||||
|
// type: Object,
|
||||||
|
// required: true,
|
||||||
|
// default: () => ({
|
||||||
|
// /** 列表 url **/ list: null,
|
||||||
|
// /** 分页 url **/ page: null,
|
||||||
|
// /** 编辑保存 url **/ edit: null,
|
||||||
|
// /** 删除条目 url **/ delete: null,
|
||||||
|
// /** 详情 url **/ detail: null,
|
||||||
|
// /** 导出 url **/ export: null,
|
||||||
|
// /** 导入 url **/ import: null,
|
||||||
|
// /** 其他 url **/ other: null,
|
||||||
|
// }),
|
||||||
|
// },
|
||||||
|
data() {
|
||||||
|
const { tableConfig, headFormConfigs, urls, dialogConfigs } = initConfig.call(this);
|
||||||
|
return {
|
||||||
|
tableConfig,
|
||||||
|
headFormConfigs,
|
||||||
|
allUrls: urls,
|
||||||
|
dialogConfigs,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {},
|
||||||
|
mounted() {},
|
||||||
|
methods: {},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped></style>
|
Loading…
Reference in New Issue
Block a user