add 包装

This commit is contained in:
lb 2023-02-24 16:56:39 +08:00
parent b573e2dc2f
commit 55fc9bac3e
4 changed files with 310 additions and 26 deletions

View File

@ -39,8 +39,8 @@
<script>
// window.SITE_CONFIG['apiURL'] = 'http://192.168.1.103:8080/pms-am';
// window.SITE_CONFIG['apiURL'] = 'http://192.168.1.49:8080/pms-am'; // tengyun
// window.SITE_CONFIG['apiURL'] = 'http://192.168.1.62:8080/pms-am'; // tao
window.SITE_CONFIG['apiURL'] = 'http://192.168.1.21:8080/pms-am'; // xv
window.SITE_CONFIG['apiURL'] = 'http://192.168.1.62:8080/pms-am'; // tao
// window.SITE_CONFIG['apiURL'] = 'http://192.168.1.21:8080/pms-am'; // xv
</script>
<% } %>
<!-- 集成测试环境 -->

View File

@ -143,32 +143,48 @@ export default {
: {
params,
}
).then(({ data: res }) => {
console.log("[http response] res is: ", res);
)
.then(({ data: res }) => {
console.log("[http response] res is: ", res);
// page :
if ("list" in res.data) {
// real env:
this.dataList = res.data.list.map((item) => {
return {
...item,
id: item._id ?? item.id,
};
// }
if (res.code === 0) {
// page :
if ("list" in res.data) {
// real env:
this.dataList = res.data.list.map((item) => {
return {
...item,
id: item._id ?? item.id,
};
// }
});
this.totalPage = res.data.total;
} else if ("records" in res.data) {
this.dataList = res.data.records.map((item) => ({
...item,
id: item._id ?? item.id,
}));
this.totalPage = res.data.total;
} else {
this.dataList.splice(0);
this.totalPage = 0;
}
} else {
this.$message({
message: `${res.code}: ${res.msg}`,
type: "error",
duration: 2000,
});
}
this.tableLoading = false;
})
.catch((err) => {
this.$message({
message: `${err}`,
type: "error",
duration: 2000,
});
this.totalPage = res.data.total;
} else if ("records" in res.data) {
this.dataList = res.data.records.map((item) => ({
...item,
id: item._id ?? item.id,
}));
this.totalPage = res.data.total;
} else {
this.dataList.splice(0);
this.totalPage = 0;
}
this.tableLoading = false;
});
});
// }
},

View File

@ -0,0 +1,217 @@
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: "shapeCode", label: "砖型" },
// { prop: 'status', label: '状态', subcomponent: StatusComponent }, // subcomponent
{ prop: "description", label: "详情", subcomponent: TableTextComponent },
{ prop: "remark", label: "备注" },
{
prop: "operations",
name: "操作",
fixed: "right",
width: 160,
subcomponent: TableOperaionComponent,
options: ["copy", "edit", { name: "delete", emitFull: true, permission: "pms:packingStep:delete" }],
},
];
const headFormFields = [
{
prop: "key",
label: "工艺名称/编码",
input: true,
default: { value: "" },
bind: {
placeholder: "请输入工艺名称或编码",
},
},
{
prop: "shape",
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:packingStep:save",
},
},
];
const dialogConfigs = {
extraIds: { wsId: 5 }, // 工艺管理里面的相关模块的 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: 'shapeCode',
label: '当前砖型'
},
{
select: true,
label: "选择新砖型",
prop: "shapeId",
options: [],
refreshOptionsAfterConfirm: true,
elparams: { clearable: true, filterable: true, placeholder: "请选择砖型" },
// 下面参数的 techId 是为 /pms/xxx/listUnR 接口定制的,默认为 -1新增时使用编辑时传对应的 工艺id
fetchData: (techId = -1) => this.$http.get("/pms/shape/listUnR", { params: { wsId: 5, externalCode: '', key: '', techId } }),
},
],
// {
// select: true,
// label: "砖型",
// prop: "shape",
// options: [],
// elparams: { clearable: true, filterable: true, placeholder: "请选择砖型" },
// fetchData: () => this.$http.get("/pms/shape/page", { params: { limit: 999, page: 1 } }),
// },
[{ textarea: true, label: "备注", prop: "remark", elparams: { placeholder: "备注" } }],
],
operations: [
{ name: "add", label: "保存", type: "primary", permission: "pms:packingStep:save", showOnEdit: false },
{ name: "update", label: "更新", type: "primary", permission: "pms:packingStep: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: "description", label: "描述", isEditField: true },
{ prop: "value", label: "设定值", isEditField: true },
{ prop: "valueFloor", label: "值下限", isEditField: true },
{ prop: "valueTop", 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", permission: "pms:blenderStepParam:save", showOnEdit: false },
{ 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",
copyUrl: "/pms/equipmentTech/copy",
// more...
},
};
}

View File

@ -0,0 +1,51 @@
<template>
<ListViewWithHead
:table-config="tableConfig"
:head-config="headFormConfigs"
:dialog-configs="dialogConfigs"
:list-query-extra="['key', 'shape', { wsId: 5 }]"
/>
</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>