This commit is contained in:
xielue 2023-08-24 22:32:48 +08:00
parent e8d745358d
commit 0cfbae5279
24 changed files with 3553 additions and 7 deletions

View File

@ -2,11 +2,87 @@
import JSONbig from 'json-bigint'
export default {
toBigInt(id) {
return JSONbig.parse(`{"v":${id}}`).v;
},
toBigInt(id) {
return JSONbig.parse(`{"v":${id}}`).v;
},
trim(str) {
return str.replace(/^\s+|\s+$/gm, '');
trim(str) {
return str.replace(/^\s+|\s+$/gm, '');
},
formatDetailData({ data }) {
if (data.create_time) {
data.create_time = new Date(data.create_time * 1000);
}
if (data.update_time) {
data.update_time = new Date(data.update_time * 1000);
}
return data;
},
getPostFieldValue({ dataId, list, type, deletedList, fieldName, rowFilter, dataRule }) {
let d = {};
console.log(list)
if (rowFilter) {
list = list.filter(rowFilter);
}
if (dataRule) {
list.forEach(item => {
dataRule.forEach(rule => {
let value = item[rule.field];
if (rule.type == "integer") {
item[rule.field] = parseInt(value);
}
else if (rule.type == "number") {
item[rule.field] = parseFloat(value);
}
else if (rule.type == "timestamp") {
item[rule.field] = parseInt(new Date(value).getTime() / 1000);
}
})
})
}
if (fieldName) {
list.forEach(item => {
item[fieldName] = dataId;
})
}
if (dataId && type !== 'array') {
d = {
insertList: [],
updateList: [],
deleteList: []
};
list.forEach(item => {
if (item.id) {
d.updateList.push(item);
}
else {
d.insertList.push(item);
}
});
deletedList.forEach(item => {
d.deleteList.push(item);
})
} else {
d = list;
}
return d;
}
}

View File

@ -105,6 +105,7 @@ export default {
formOptions: {
data: {
ename:"",
"name": "",
"code": "",
parent_id: "0"
@ -120,7 +121,7 @@ export default {
},
items: [
{ field: 'name', title: '名称', span: 24, itemRender: { name: '$input', props: { placeholder: '请输入名称' } } },
{ field: 'name', title: '名称', span: 24, itemRender: { name: '$input', props: { placeholder: '请输入名称' } } },
{ field: 'code', title: '编号', span: 24, itemRender: { name: '$input', props: { placeholder: '请输入编号' } } },
{ title: '上级分类', span: 24, slots: { default: 'parent_id' } },
@ -209,6 +210,18 @@ export default {
postdata.parent_id = parseInt(postdata.parent_id)
}
if(!postdata.ename){
postdata.ename = "";
}
if(!postdata.create_uid){
postdata.create_uid = 0;
}
if(!postdata.update_uid){
postdata.update_uid = 0;
}
postdata.create_time = 0;
postdata.update_time = 0;
this.$mk.post({
url: action,
loading: "保存中...",

View File

@ -0,0 +1,438 @@
<template>
<div class="page-body">
<vxe-form :data="formOptions.data" ref="xForm" :title-width="formOptions.titleWidth"
:title-align="formOptions.titleAlign" :rules="formOptions.rules" :items="formOptions.items" titleColon>
</vxe-form>
<a-tabs>
<a-tab-pane key="1" tab="工序设置">
<vxe-table border show-overflow keep-source ref="xTable" :height="table1Height" :data="detailsData"
@pulldownSelected="onPulldownSelected" @popupSelected="onPopupSelected" :export-config="{}"
@edit-closed="afterEditEvent" @edit-actived="beforeEditEvent"
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: beforeEditMethod }">
<vxe-column width="60">
<template #default="{ row }">
<div class="oplinks2">
<a @click.stop="pageAdd(row)" title="新增">
<a-icon class="icon" type="plus-circle" />
</a>
<a @click.stop="pageDelete(row)" title="删除">
<a-icon class="icon" type="delete" />
</a>
</div>
</template>
</vxe-column>
<vxe-column field="mes_processes" title="工序" width="160" :params="editor_processes" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="sort" title="排序" width="160"
:edit-render="{ name: '$input', props: { type: 'number' } }"></vxe-column>
</vxe-table>
</a-tab-pane>
</a-tabs>
<div class="mk-toolbar" v-if="isEdit">
</div>
<div class="footerbar">
<a-button type="primary" @click="ok">确定</a-button>
<a-button @click="cancel">取消</a-button>
</div>
</div>
</template>
<script>
import BASE_URL from '@/services/mes/api.js';
export default {
name: '',
components: {},
props: {
pageMode: {
type: String,
default: "edit"
},
dataId: {
}
},
data() {
//let _this = this;
//
var pageData = {
//
currentConfigName: "",
// ID
currentBeid: 0,
uploadDefaultImg: null,
detailDataFieldName: "mold_component",
actions: {
get: `${BASE_URL.BASE_URL}/MoldComponent/v1/mold/component/detail`,
create: `${BASE_URL.BASE_URL}/MoldComponent/v1/mold/component/create`,
update: `${BASE_URL.BASE_URL}/MoldComponent/v1/mold/component/update`
},
keyName: 'id',
//
isEdit: false,
//
formOptions: {
data: {
material_id: 0,
warehouse_id: 0,
version: '',
is_default: 0
},
//
titleWidth: 100,
//
titleAlign: 'right',
//
rules: {
code: [
{ required: true, message: '请输入编码' }
],
name: [
{ required: true, message: '请输入名称' }
],
},
//
items: [
{ field: 'code', title: '编码', span: 12, itemRender: { name: '$input' } },
{ field: 'name', title: '名称', span: 12, itemRender: { name: '$input' } },
{
title: '分类', span: 12,
field: 'mold_component_category',
dataRule: {
fromField: "id",
saveField: "category_id" // fromFieldsaveField
},
itemRender: {
name: 'MkFormDataSelector', props: {
params: {
dataType: "object",
valueField: "id",
textField: "name",
listdataFieldName: 'MoldComponentCategory',
dataUrl: `${BASE_URL.BASE_URL}/MoldComponent/v1/mold/component/category/list`
}
}
}
},
]
},
//
addModeItems: [
],
table1Height: 400,
detailsSourceData: [
],
detailsData: [
],
deletedDetailsData: [
],
editor_processes: {
dataType: "object",
valueField: "id",
textField: "name",
listdataFieldName: 'MesProcesses',
mapper: [
{ fromField: "id", field: "mes_processes_id" }
],
dataUrl: `${BASE_URL.BASE_URL}/MesProcesses/v1/mes/processes/list`
},
};
//
pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions);
return pageData;
},
computed: {
desc() {
return this.$t('editPageDesc')
}
},
created() {
// id
let dataId = this.getDataId();
// id
if (dataId) {
this.$mk.post({
url: this.actions.get,
loading: "加载中...",
data: { id: this.$mk.toBigInt(dataId) },
useBigInt: true
}).then(a => {
this.formOptions.data = this.$mk.formatDetailData({ data: a.data[this.detailDataFieldName] });
this.detailsData = a.data[this.detailDataFieldName].mold_component_processes || [];
this.detailsDataInit();
});
this.isEdit = true;
} else {
// id
this.addModeItems.forEach(item => {
this.formOptions.items.push(item);
})
this.detailsDataInit();
}
this.heightInit();
},
//
methods: {
heightInit() {
this.$nextTick(() => {
let h = this.$mk.getWindowSize().height - this.$mk.getOffsetTop(this.$refs.xTable.$el) - 180;
this.table1Height = h;
});
},
detailsDataInit() {
for (let i = this.detailsData && this.detailsData.length; i < 10; i++) {
this.detailsData.push({});
}
},
// id
getDataId() {
let dataId = this.dataId;
if (this.$route.params.id) {
dataId = this.$route.params.id;
}
if (!dataId) {
dataId = 0;
}
return dataId;
},
getDataId_BigInt() {
let dataId = this.getDataId();
return this.$mk.toBigInt(dataId);
},
//
back() {
//
if (!this.isEdit) {
this.$closePage({
closeRoute: "/Mold/MoldComponentAdd"
});
} else {
//
this.$closePage({
closeRoute: "/Mold/MoldComponentUpdate"
});
}
//
this.$openPage('/Mold/MoldComponent')
},
//
ok() {
let save = () => {
//
let action = !this.isEdit ? this.actions.create : this.actions.update;
// id id
let postdata = Object.assign({}, this.formOptions.data);
postdata.mold_component_processes = this.$mk.getPostFieldValue({
rowFilter: (row) => { return row.id || row.mes_processes_id },
dataId: this.getDataId_BigInt(),
list: this.detailsData,
deletedList: this.deletedDetailsData,
fieldName: 'component_id',
dataRule:[
{field:'sort',type:'integer'}
]
});
//
this.$mk.formatFormData({ data: postdata, rules: this.formOptions.items });
//
this.$mk.post({
url: action,
loading: "保存中...",
data: postdata,
useBigInt: true,
}).then((a) => { //
if (a.code == "200") {
this.$mk.success("保存成功");
if (!this.isEdit) { //
this.back();
}
} else {
this.$mk.error(a.message);
}
});
};
//
this.$mk.validateForm({ form: this.$refs.xForm }).then(() => { //
save(); //
}).catch(count => { //
this.$mk.error(`存在${count}项错误,请检查`);
});
},
//
cancel() {
this.back();
},
pageAdd(row) {
const $table = this.$refs.xTable
const record = {
}
if (row) {
this.detailsData.splice($table.getRowSeq(row), 0, record);
} else {
this.detailsData.push(record)
}
},
pageDelete(row) {
const $table = this.$refs.xTable;
if (row.id) {
this.deletedDetailsData.push(this.$mk.toBigInt(row.id))
}
this.detailsData.splice($table.getRowSeq(row) - 1, 1);
},
beforeEditMethod({ column, row }) {
console.log(column, row);
return true;
},
afterEditEvent({ column, row }) {
console.log(column, row);
},
beforeEditEvent({ column, row }) {
console.log(column, row);
},
onPulldownSelected({ row, name, params }) {
console.log(row, name, params);
},
onPopupSelected({ rows, name, params }) {
console.log(rows, name, params);
},
},
//
watch: {
}
};
</script>
<style scoped lang="less">
.page-body {
padding: 30px;
background: @base-bg-color;
}
.formtabs .ant-tabs-tabpane {
/* background: white; */
padding: 12px;
}
.gridPanel {
height: calc(100vh - 600px);
}
.footerbar {
padding-left: 10px;
}
.imagePanel {
cursor: pointer;
padding: 10px;
width: 100px;
img {
width: 80px;
height: 80px;
}
}
.oplinks2 svg {
width: 18px;
height: 18px;
}
.oplinks2 i {
margin-left: 5px;
}
</style>

View File

@ -0,0 +1,126 @@
<template>
<basic-page-list ref="listPage" :desc="desc" :options="pageOptions"></basic-page-list>
</template>
<script>
import BASE_URL from '@/services/mes/api.js';
export default {
i18n: require("./i18n"),
props: {
},
data() {
return {
pageOptions: {}
};
},
//
computed: {
//
desc() {
return this.$t("pageDesc");
}
},
//
created() {
this.optionsInit();
},
//
methods: {
optionsInit() {
//
var pageData = { //
keyName: 'id', //
listFieldName: 'MoldComponent',
addPageUrl: "/Mold/MoldComponentAdd",
editPageUrl: "/Mold/MoldComponentUpdate/",
//
actions: { // Api
getList: `${BASE_URL.BASE_URL}/MoldComponent/v1/mold/component/list`,
delete: `${BASE_URL.BASE_URL}/MoldComponent/v1/mold/component/batchDelete`
},
start_time: 0, //
end_time: 0, //
exportFileTitle: "模型",
enabledExport: false,
enabledImport: false,
enabledImportTemplate: false,
//
searchFormData: {
title: '',
desc: '',
},
//
searchRules: [
{ key: "name", mode: "like" }
],
//
searchFormItems: [ //
{ field: 'code', title: '编码', span: 6, itemRender: { name: '$input', props: { placeholder: '请输入编码' } } },
{ field: 'name', title: '名称', span: 6, itemRender: { name: '$input', props: { placeholder: '请输入名称' } } },
{
align: 'right', span: 4, itemRender: { //
name: '$buttons', children: [{ props: { type: 'submit', content: '搜索', status: 'primary' } }, //
{ props: { type: 'reset', content: '重置' } }]
}
}
],
//
gridOptions: { //
height: '100%', // 100%
stripe: true, //
id: 'datagrid_1', //
//
columns: [
{ type: 'checkbox', width: 80 }, //
{ type: 'seq', width:80 }, //
{ title: '操作', slots: { default: 'op' }, width: 120 },
{ field: 'code', sortable: true, title: '编码', width: 250 },
{ field: 'name', sortable: true, title: '名称', width: 250 },
{ field: 'create_time', formatter: 'formatDate', width: 100, sortable: true, title: '创建时间', showHeaderOverflow: true }, //
{ field: 'update_time', formatter: 'formatDate', width: 100, sortable: true, title: '更新时间', showHeaderOverflow: true }, //
// =============================== Start ===============================
]
}
};
pageData.gridOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridOptions); //
this.pageOptions = pageData;
},
},
watch: {
}
};
</script>

View File

@ -0,0 +1,14 @@
module.exports = {
messages: {
CN: {
pageDesc:'单位管理'
},
HK: {
pageDesc:'单位管理'
},
US: {
pageDesc:'单位管理'
}
}
}

View File

@ -0,0 +1,2 @@
import list from './List'
export default list

View File

@ -0,0 +1,180 @@
<template>
<basic-page-edit :desc="desc" :dataId="getDataId()" :options="pageOptions"></basic-page-edit>
</template>
<script>
import BASE_URL from '@/services/mes/api.js';
export default {
components: {},
props: {
pageMode: {
type: String,
default: "edit"
},
dataId: {
}
},
data() {
return {
pageOptions: {}
};
},
computed: {
desc() {
return this.$t('editPageDesc')
}
},
created() {
this.optionsInit();
this.dataInit();
},
//
methods: {
optionsInit() {
//
var pageData = {
//
currentConfigName: "",
// ID
currentBeid: 0,
addPageUrl: "/Mold/MoldComponentCategoryAdd",
editPageUrl: "/Mold/MoldComponentCategoryUpdate/",
listPageUrl: "/Mold/MoldComponentCategory",
uploadDefaultImg: null,
detailDataFieldName: "mold_component_category",
actions: {
get: `${BASE_URL.BASE_URL}/MoldComponent/v1/mold/component/category/detail`,
create: `${BASE_URL.BASE_URL}/MoldComponent/v1/mold/component/category/create`,
update: `${BASE_URL.BASE_URL}/MoldComponent/v1/mold/component/category/update`,
},
keyName: 'id',
//
isEdit: false,
//
formOptions: {
data: {
id: 0,
code: "",
name: "",
create_uid: 0,
update_uid: 0,
create_time: new Date(2100, 1, 1).getTime() / 10000,
update_time: new Date(2100, 1, 1).getTime() / 10000,
},
//
titleWidth: 150,
//
titleAlign: 'right',
//
rules: {
code: [
{ required: true, message: '请输入编码' }
],
name: [
{ required: true, message: '请输入名称' }
],
},
//
items: [
{ field: 'code', title: '编码', span: 24, itemRender: { name: '$input' } },
{ field: 'name', title: '名称', span: 24, itemRender: { name: '$input' } },
{ field: 'sort',dataRule:{type:'integer'}, title: '排序', span: 24, itemRender: { name: '$input',props:{type:'number'} } },
{ field: 'remark', title: '备注', span: 24, itemRender: { name: '$input' } },
]
},
//
addModeItems: [
],
};
pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions);
this.pageOptions = pageData;
},
dataInit() {
// id
let dataId = this.getDataId();
// id
if (dataId) {
const json = `{"id":${dataId}}`;
this.$mk.post({
url: this.pageOptions.actions.get,
loading: "加载中...",
data: json,
config: {
headers: {
'Content-Type': 'application/json'
}
}
}).then(a => {
this.pageOptions.formOptions.data = this.$mk.formatDetailData({data:a.data[this.pageOptions.detailDataFieldName]});
this.$forceUpdate()
}).catch((a) => {
this.$mk.error(a.data.msg);
});
this.pageOptions.isEdit = true;
this.$forceUpdate()
} else {
// id
this.addModeItems.forEach(item => {
this.pageOptions.formOptions.items.push(item);
})
}
},
// id
getDataId() {
let dataId = this.dataId;
if (this.$route.params.id) {
dataId = this.$route.params.id;
}
if (!dataId) {
dataId = 0;
}
return dataId;
}
},
//
watch: {
}
};
</script>

View File

@ -0,0 +1,111 @@
<template>
<basic-page-list :desc="desc" :options="pageOptions"></basic-page-list>
</template>
<script>
import BASE_URL from '@/services/mes/api.js';
export default {
props: {
},
data() {
return {
pageOptions: {}
};
},
//
computed: {
//
desc() {
return this.$t("pageDesc");
}
},
//
created() {
this.optionsInit();
},
//
methods: {
optionsInit() {
//
var pageData = { //
keyName: 'id', //
listFieldName: 'MoldComponentCategory',
addPageUrl: "/Mold/MoldComponentCategoryAdd",
editPageUrl: "/Mold/MoldComponentCategoryUpdate/",
//
actions: { // Api
getList: `${BASE_URL.BASE_URL}/MoldComponent/v1/mold/component/category/list`,
delete: `${BASE_URL.BASE_URL}/MoldComponent/v1/mold/component/category/batchDelete`,
},
start_time: 0, //
end_time: 0, //
//
searchFormData: {
name: '',
code: '',
},
//
searchRules: [
{ key: "code", mode: "like" },
{ key: "name", mode: "like" }
],
//
searchFormItems: [ //
{ field: 'name', title: '名称', span: 5, itemRender: { name: '$input', props: { placeholder: '请输入名称' } } },
{ field: 'code', title: '编码', span: 5, itemRender: { name: '$input', props: { placeholder: '请输入编码' } } },
{
align: 'right', span: 4, itemRender: { //
name: '$buttons', children: [{ props: { type: 'submit', content: '搜索', status: 'primary' } }, //
{ props: { type: 'reset', content: '重置' } }]
}
}
],
//
gridOptions: { //
height: '100%', // 100%
stripe: true, //
id: 'datagrid_1', //
columns: [
{ type: 'checkbox', width:60 }, //
{ title: '操作', slots: { default: 'op' }, width: 120 },
{ field: 'code', sortable: true, title: '编码', width: 250 },
{ field: 'name', sortable: true, title: '名称', width: 250 },
{ field: 'remark', sortable: true, title: '备注', width: 250 },
{ field: 'create_time', formatter: 'formatDate', width: 100, sortable: true, title: '创建时间', showHeaderOverflow: true }, //
{ field: 'update_time', formatter: 'formatDate', width: 100, sortable: true, title: '更新时间', showHeaderOverflow: true }, //
]
}
};
pageData.gridOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridOptions); //
this.pageOptions = pageData;
},
},
watch: {
}
};
</script>

View File

@ -0,0 +1,467 @@
<template>
<div class="page-body">
<vxe-form :data="formOptions.data" ref="xForm" :title-width="formOptions.titleWidth"
:title-align="formOptions.titleAlign" :rules="formOptions.rules" :items="formOptions.items" titleColon>
</vxe-form>
<a-tabs>
<a-tab-pane key="1" tab="订单明细">
<vxe-table border show-overflow keep-source ref="xTable" :height="table1Height" :data="detailsData"
@pulldownSelected="onPulldownSelected" @popupSelected="onPopupSelected" :export-config="{}"
@edit-closed="afterEditEvent" @edit-actived="beforeEditEvent"
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: beforeEditMethod }">
<vxe-column width="60">
<template #default="{ row }">
<div class="oplinks2">
<a @click.stop="pageAdd(row)" title="新增">
<a-icon class="icon" type="plus-circle" />
</a>
<a @click.stop="pageDelete(row)" title="删除">
<a-icon class="icon" type="delete" />
</a>
</div>
</template>
</vxe-column>
<vxe-column field="mold_id" title="模型" width="160" :params="editor_scheme" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="production_type" title="布产类型" width="160" :params="options_production_type" formatter = 'formatEnum'
:edit-render="{ name: '$select',props:{options:options_production_type} }"></vxe-column>
<vxe-column field="mold_master_uid" title="师傅" width="160" :params="editor_staff" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="manufacture_cycle" title="制作周期" width="160" formatter="formatDate"
:edit-render="{ name: '$input',props:{type:'date'} }"></vxe-column>
<vxe-column field="draw_start_time" title="预计开始画图时间" width="160" formatter="formatDate"
:edit-render="{ name: '$input',props:{type:'date'} }"></vxe-column>
<vxe-column field="split_design_time" title="分模设计时间预计" width="160" formatter="formatDate"
:edit-render="{ name: '$input',props:{type:'date'} }"></vxe-column>
<vxe-column field="draw_time" title="出图时间预计" width="160" formatter="formatDate"
:edit-render="{ name: '$input',props:{type:'date'} }"></vxe-column>
<vxe-column field="draw2D_time" title="出2D时间预计" width="160" formatter="formatDate"
:edit-render="{ name: '$input',props:{type:'date'} }"></vxe-column>
<vxe-column field="draw3D_time" title="出3D时间预计" width="160" formatter="formatDate"
:edit-render="{ name: '$input',props:{type:'date'} }"></vxe-column>
<vxe-column field="horizontal_frame_time" title="横架到厂日期预计" width="160" formatter="formatDate"
:edit-render="{ name: '$input',props:{type:'date'} }"></vxe-column>
<vxe-column field="inlay_deep_hole_time" title="镶件深孔钻到厂日期预计" width="160" formatter="formatDate"
:edit-render="{ name: '$input',props:{type:'date'} }"></vxe-column>
</vxe-table>
</a-tab-pane>
</a-tabs>
<div class="mk-toolbar" v-if="isEdit">
</div>
<div class="footerbar">
<a-button type="primary" @click="ok">确定</a-button>
<a-button @click="cancel">取消</a-button>
</div>
</div>
</template>
<script>
import BASE_URL from '@/services/mes/api.js';
export default {
name: '',
components: {},
props: {
pageMode: {
type: String,
default: "edit"
},
dataId: {
}
},
data() {
//let _this = this;
//
var pageData = {
options_production_type:[{value:'1',label:'正常布产'},{value:'2',label:'委托布产'}],
//
currentConfigName: "",
// ID
currentBeid: 0,
uploadDefaultImg: null,
detailDataFieldName: "mold_order",
actions: {
get: `${BASE_URL.BASE_URL}/MoldOrder/v1/mold/order/detail`,
create: `${BASE_URL.BASE_URL}/MoldOrder/v1/mold/order/create`,
update: `${BASE_URL.BASE_URL}/MoldOrder/v1/mold/order/update`
},
keyName: 'id',
//
isEdit: false,
//
formOptions: {
data: {
material_id: 0,
warehouse_id: 0,
version: '',
is_default: 0
},
//
titleWidth: 100,
//
titleAlign: 'right',
//
rules: {
code: [
{ required: true, message: '请输入订单编码' }
],
name: [
{ required: true, message: '请输入名称' }
],
},
//
items: [
{ field: 'code', title: '订单编码', span: 8, itemRender: { name: '$input' } },
{ field: 'name', title: '客户名称', span: 8, itemRender: { name: '$input' } },
{ field: 'contact', title: '联系人', span: 8, itemRender: { name: '$input' } },
{ field: 'phone', title: '联系电话', span: 8, itemRender: { name: '$input' } },
{ field: 'salesman', title: '业务员姓名', span: 8, itemRender: { name: '$input' } },
{ field: 'contract_no', title: '合同号', span: 8, itemRender: { name: '$input' } },
{ field: 'contract_start_time', dataRule: { type: "timestamp" }, title: '合同开始日期', span: 8, itemRender: { name: '$input', props: { type: "date" } } },
{ field: 'contract_end_time', dataRule: { type: "timestamp" }, title: '合同结束日期', span: 8, itemRender: { name: '$input', props: { type: "date" } } },
{ field: 'remark', title: '备注', span: 8, itemRender: { name: '$input' } },
]
},
//
addModeItems: [
],
table1Height: 400,
detailsSourceData: [
],
detailsData: [
],
deletedDetailsData: [
],
editor_scheme: {
dataType: "object",
valueField: "id",
textField: "name",
listdataFieldName: 'MoldScheme',
mapper: [
{ fromField: "id", field: "mes_scheme_id" }
],
dataUrl: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/list`
},
editor_staff: {
dataType: "object",
valueField: "id",
textField: "name",
listdataFieldName: 'MesStaff',
mapper: [
{ fromField: "id", field: "mes_staff_id" }
],
dataUrl: `${BASE_URL.BASE_URL}/MesStaff/v1/mes/staff/list`
},
};
//
pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions);
return pageData;
},
computed: {
desc() {
return this.$t('editPageDesc')
}
},
created() {
// id
let dataId = this.getDataId();
// id
if (dataId) {
this.$mk.post({
url: this.actions.get,
loading: "加载中...",
data: { id: this.$mk.toBigInt(dataId) },
useBigInt: true
}).then(a => {
this.formOptions.data = this.$mk.formatDetailData({ data: a.data[this.detailDataFieldName] });
this.detailsData = a.data[this.detailDataFieldName].order_molds || [];
this.detailsDataInit();
});
this.isEdit = true;
} else {
// id
this.addModeItems.forEach(item => {
this.formOptions.items.push(item);
})
this.detailsDataInit();
}
this.heightInit();
},
//
methods: {
heightInit() {
this.$nextTick(() => {
let h = this.$mk.getWindowSize().height - this.$mk.getOffsetTop(this.$refs.xTable.$el) - 300;
this.table1Height = h;
});
},
detailsDataInit() {
for (let i = this.detailsData && this.detailsData.length; i < 10; i++) {
this.detailsData.push({});
}
},
// id
getDataId() {
let dataId = this.dataId;
if (this.$route.params.id) {
dataId = this.$route.params.id;
}
if (!dataId) {
dataId = 0;
}
return dataId;
},
getDataId_BigInt() {
let dataId = this.getDataId();
return this.$mk.toBigInt(dataId);
},
//
back() {
//
if (!this.isEdit) {
this.$closePage({
closeRoute: "/Mold/MoldOrderAdd"
});
} else {
//
this.$closePage({
closeRoute: "/Mold/MoldOrderUpdate"
});
}
//
this.$openPage('/Mold/MoldOrder')
},
//
ok() {
let save = () => {
//
let action = !this.isEdit ? this.actions.create : this.actions.update;
// id id
let postdata = Object.assign({}, this.formOptions.data);
postdata.order_molds = this.$mk.getPostFieldValue({
rowFilter: (row) => { return row.id || row.mold_id },
dataId: this.getDataId_BigInt(),
list: this.detailsData,
deletedList: this.deletedDetailsData,
fieldName: 'order_id',
dataRule:[
{field:'production_type',type:'integer'},
{field:'manufacture_cycle',type:'timestamp'},
{field:'draw_start_time',type:'timestamp'},
{field:'split_design_time',type:'timestamp'},
{field:'draw_time',type:'timestamp'},
{field:'draw2D_time',type:'timestamp'},
{field:'draw3D_time',type:'timestamp'},
{field:'horizontal_frame_time',type:'timestamp'},
{field:'inlay_deep_hole_time',type:'timestamp'}
]
});
//
this.$mk.formatFormData({ data: postdata, rules: this.formOptions.items });
//
this.$mk.post({
url: action,
loading: "保存中...",
data: postdata,
useBigInt: true,
}).then((a) => { //
if (a.code == "200") {
this.$mk.success("保存成功");
if (!this.isEdit) { //
this.back();
}
} else {
this.$mk.error(a.message);
}
});
};
//
this.$mk.validateForm({ form: this.$refs.xForm }).then(() => { //
save(); //
}).catch(count => { //
this.$mk.error(`存在${count}项错误,请检查`);
});
},
//
cancel() {
this.back();
},
pageAdd(row) {
const $table = this.$refs.xTable
const record = {
}
if (row) {
this.detailsData.splice($table.getRowSeq(row), 0, record);
} else {
this.detailsData.push(record)
}
},
pageDelete(row) {
const $table = this.$refs.xTable;
if (row.id) {
this.deletedDetailsData.push(this.$mk.toBigInt(row.id))
}
this.detailsData.splice($table.getRowSeq(row) - 1, 1);
},
beforeEditMethod({ column, row }) {
console.log(column, row);
return true;
},
afterEditEvent({ column, row }) {
console.log(column, row);
},
beforeEditEvent({ column, row }) {
console.log(column, row);
},
onPulldownSelected({ row, name, params }) {
console.log(row, name, params);
},
onPopupSelected({ rows, name, params }) {
console.log(rows, name, params);
},
},
//
watch: {
}
};
</script>
<style scoped lang="less">
.page-body {
padding: 30px;
background: @base-bg-color;
}
.formtabs .ant-tabs-tabpane {
/* background: white; */
padding: 12px;
}
.gridPanel {
height: calc(100vh - 600px);
}
.footerbar {
padding-left: 10px;
}
.imagePanel {
cursor: pointer;
padding: 10px;
width: 100px;
img {
width: 80px;
height: 80px;
}
}
.oplinks2 svg {
width: 18px;
height: 18px;
}
.oplinks2 i {
margin-left: 5px;
}
</style>

View File

@ -0,0 +1,124 @@
<template>
<basic-page-list ref="listPage" :desc="desc" :options="pageOptions"></basic-page-list>
</template>
<script>
import BASE_URL from '@/services/mes/api.js';
export default {
props: {
},
data() {
return {
pageOptions: {}
};
},
//
computed: {
//
desc() {
return this.$t("pageDesc");
}
},
//
created() {
this.optionsInit();
},
//
methods: {
optionsInit() {
//
var pageData = { //
keyName: 'id', //
listFieldName: 'MoldOrder',
addPageUrl: "/Mold/MoldOrderAdd",
editPageUrl: "/Mold/MoldOrderUpdate/",
//
actions: { // Api
getList: `${BASE_URL.BASE_URL}/MoldOrder/v1/mold/order/list`,
delete: `${BASE_URL.BASE_URL}/MoldOrder/v1/mold/order/batchDelete`
},
start_time: 0, //
end_time: 0, //
exportFileTitle: "模型",
enabledExport: false,
enabledImport: false,
enabledImportTemplate: false,
//
searchFormData: {
code: '' ,
name:''
},
//
searchRules: [
],
//
searchFormItems: [ //
{ field: 'code', title: '订单编码', span: 6, itemRender: { name: '$input', props: { placeholder: '请输入订单编码' } } },
{ field: 'name', title: '客户名称', span: 6, itemRender: { name: '$input', props: { placeholder: '请输入客户名称' } } },
{
align: 'right', span: 4, itemRender: { //
name: '$buttons', children: [{ props: { type: 'submit', content: '搜索', status: 'primary' } }, //
{ props: { type: 'reset', content: '重置' } }]
}
}
],
//
gridOptions: { //
height: '100%', // 100%
stripe: true, //
id: 'datagrid_1', //
//
columns: [
{ type: 'checkbox', width: 80 }, //
{ type: 'seq', width:80 }, //
{ title: '操作', slots: { default: 'op' }, width: 120 },
{ field: 'code', sortable: true, title: '订单编码', width: 250 },
{ field: 'name', sortable: true, title: '客户名称', width: 250 },
{ field: 'create_time', formatter: 'formatDate', width: 100, sortable: true, title: '创建时间', showHeaderOverflow: true }, //
{ field: 'update_time', formatter: 'formatDate', width: 100, sortable: true, title: '更新时间', showHeaderOverflow: true }, //
// =============================== Start ===============================
]
}
};
pageData.gridOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridOptions); //
this.pageOptions = pageData;
},
},
watch: {
}
};
</script>

View File

@ -0,0 +1,14 @@
module.exports = {
messages: {
CN: {
pageDesc:'单位管理'
},
HK: {
pageDesc:'单位管理'
},
US: {
pageDesc:'单位管理'
}
}
}

View File

@ -0,0 +1,2 @@
import list from './List'
export default list

View File

@ -0,0 +1,602 @@
<template>
<div class="page-body">
<vxe-form :data="formOptions.data" ref="xForm" :title-width="formOptions.titleWidth"
:title-align="formOptions.titleAlign" :rules="formOptions.rules" :items="formOptions.items" titleColon>
</vxe-form>
<a-tabs>
<a-tab-pane key="1" tab="工艺布产组件">
<vxe-table border show-overflow keep-source ref="xTable" :height="table1Height" :data="detailsData"
@pulldownSelected="onPulldownSelected" @popupSelected="onPopupSelected" :export-config="{}"
@edit-closed="afterEditEvent" @edit-actived="beforeEditEvent"
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: beforeEditMethod }">
<vxe-column width="60">
<template #default="{ row }">
<div class="oplinks2">
<a @click.stop="pageAdd(row)" title="新增">
<a-icon class="icon" type="plus-circle" />
</a>
<a @click.stop="pageDelete(row)" title="删除">
<a-icon class="icon" type="delete" />
</a>
</div>
</template>
</vxe-column>
<vxe-column field="mold_component" title="部件" width="160" :params="editor_component" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="component_num" title="部件数量" width="160"
:edit-render="{ name: '$input', props: { type: 'number' } }"></vxe-column>
<vxe-column field="production_type" title="布产类型" width="160" :params="options_production_type"
formatter='formatEnum'
:edit-render="{ name: '$select', props: { options: options_production_type } }"></vxe-column>
<vxe-column field="process_uid" title="加工人员" width="160" :params="editor_staff" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="prepare_process_time" title="预备加工日期" width="160" formatter="formatDate"
:edit-render="{ name: '$input', props: { type: 'date' } }"></vxe-column>
<vxe-column field="plan_complete_time" title="计划完成日期" width="160" formatter="formatDate"
:edit-render="{ name: '$input', props: { type: 'date' } }"></vxe-column>
<vxe-column field="send_time" title="发料时间" width="160" formatter="formatDate"
:edit-render="{ name: '$input', props: { type: 'date' } }"></vxe-column>
<vxe-column field="send_uid" title="发料人员" width="160" :params="editor_staff" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="complete_time" title="实际完成时间" width="160" formatter="formatDate"
:edit-render="{ name: '$input', props: { type: 'date' } }"></vxe-column>
<vxe-column field="remark" title="备注" width="160" :edit-render="{ name: '$input', props: {} }"></vxe-column>
</vxe-table>
</a-tab-pane>
<a-tab-pane key="2" tab="工序设置">
<vxe-table border show-overflow keep-source ref="xTable2" :height="table1Height" :data="detailsData2"
@pulldownSelected="onPulldownSelected" @popupSelected="onPopupSelected" :export-config="{}"
@edit-closed="afterEditEvent" @edit-actived="beforeEditEvent"
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: beforeEditMethod }">
<vxe-column width="60">
<template #default="{ row }">
<div class="oplinks2">
<a @click.stop="pageAdd2(row)" title="新增">
<a-icon class="icon" type="plus-circle" />
</a>
<a @click.stop="pageDelete2(row)" title="删除">
<a-icon class="icon" type="delete" />
</a>
</div>
</template>
</vxe-column>
<vxe-column field="mold_component" title="部件" width="160" :params="editor_component" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="mes_processes" title="工序" width="160" :params="editor_processes" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="process_uid" title="加工人员" width="160" :params="editor_staff" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="prepare_process_time" title="预备加工日期" width="160" formatter="formatDate"
:edit-render="{ name: '$input', props: { type: 'date' } }"></vxe-column>
<vxe-column field="plan_complete_time" title="计划完成日期" width="160" formatter="formatDate"
:edit-render="{ name: '$input', props: { type: 'date' } }"></vxe-column>
<vxe-column field="send_time" title="发料时间" width="160" formatter="formatDate"
:edit-render="{ name: '$input', props: { type: 'date' } }"></vxe-column>
<vxe-column field="complete_time" title="实际完成时间" width="160" formatter="formatDate"
:edit-render="{ name: '$input', props: { type: 'date' } }"></vxe-column>
<vxe-column field="remark" title="备注" width="160" :edit-render="{ name: '$input', props: {} }"></vxe-column>
</vxe-table>
</a-tab-pane>
</a-tabs>
<div class="mk-toolbar" v-if="isEdit">
</div>
<div class="footerbar">
<a-button type="primary" @click="ok">确定</a-button>
<a-button @click="cancel">取消</a-button>
</div>
</div>
</template>
<script>
import BASE_URL from '@/services/mes/api.js';
export default {
name: '',
components: {},
props: {
pageMode: {
type: String,
default: "edit"
},
dataId: {
}
},
data() {
const options_production_type = [{ value: '1', label: '正常布产' }, { value: '2', label: '委托布产' }];
//let _this = this;
//
var pageData = {
options_production_type: options_production_type,
//
currentConfigName: "",
// ID
currentBeid: 0,
uploadDefaultImg: null,
detailDataFieldName: "mold_scheme",
actions: {
get: `${BASE_URL.BASE_URL}/MoldProductionOrder/v1/mold/production/order/detail`,
create: `${BASE_URL.BASE_URL}/MoldProductionOrder/v1/mold/production/order/create`,
update: `${BASE_URL.BASE_URL}/MoldProductionOrder/v1/mold/production/order/update`
},
keyName: 'id',
//
isEdit: false,
//
formOptions: {
data: {
production_type: 1
},
//
titleWidth: 150,
//
titleAlign: 'right',
//
rules: {
order_code: [
{ required: true, message: '请输入订单编号' }
],
},
//
items: [
{ field: 'order_code', title: '订单编号', span: 8, itemRender: { name: '$input' } },
{
title: '订单', span: 8,
field: 'order_id',
dataRule: {
fromField: "id",
saveField: "order_id" // fromFieldsaveField
},
itemRender: {
name: 'MkFormDataSelector', props: {
params: {
dataType: "object",
valueField: "id",
textField: "name",
listdataFieldName: 'MoldOrder',
dataUrl: `${BASE_URL.BASE_URL}/MoldOrder/v1/mold/order/list`
}
}
}
},
{
title: '模具', span: 8,
field: 'mold_id',
dataRule: {
fromField: "id",
saveField: "mold_id" // fromFieldsaveField
},
itemRender: {
name: 'MkFormDataSelector', props: {
params: {
dataType: "object",
valueField: "id",
textField: "name",
listdataFieldName: 'MoldScheme',
dataUrl: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/list`
}
}
}
},
{ field: 'production_type', title: '布产类型', span: 8, itemRender: { name: '$select', props: { options: options_production_type } } },
{ field: 'manufacture_cycle', dataRule: { type: 'timestamp' }, title: '制作周期', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'draw_start_time', dataRule: { type: 'timestamp' }, title: '预计开始画图时间', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'split_design_time', dataRule: { type: 'timestamp' }, title: '分模设计时间预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'draw_time', dataRule: { type: 'timestamp' }, title: '出图时间预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'split_design_time', dataRule: { type: 'timestamp' }, title: '分模设计时间预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'draw_time', dataRule: { type: 'timestamp' }, title: '出图时间预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'draw2D_time', dataRule: { type: 'timestamp' }, title: '出2D时间预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'draw3D_time', dataRule: { type: 'timestamp' }, title: '出3D时间预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'horizontal_frame_time', dataRule: { type: 'timestamp' }, title: '出2D时间预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'inlay_deep_hole_time', dataRule: { type: 'timestamp' }, title: '镶件深孔钻到厂日期预计', span: 8, itemRender: { name: '$input', props: { type: 'date' } } },
{ field: 'problem', title: '出现问题及建议反馈', span: 24, itemRender: { name: '$input', props: {} } },
]
},
//
addModeItems: [
],
table1Height: 400,
detailsSourceData: [
],
detailsData: [
],
deletedDetailsData: [
],
detailsData2: [
],
deletedDetailsData2: [
],
editor_component: {
dataType: "object",
valueField: "id",
textField: "name",
listdataFieldName: 'MoldComponent',
mapper: [
{ fromField: "id", field: "component_id" }
],
dataUrl: `${BASE_URL.BASE_URL}/MoldComponent/v1/mold/component/list`
},
editor_processes: {
dataType: "object",
valueField: "id",
textField: "name",
listdataFieldName: 'MesProcesses',
mapper: [
{ fromField: "id", field: "mes_processes_id" }
],
dataUrl: `${BASE_URL.BASE_URL}/MesProcesses/v1/mes/processes/list`
},
editor_staff: {
dataType: "object",
valueField: "id",
textField: "name",
listdataFieldName: 'MesStaff',
mapper: [
{ fromField: "id", field: "mes_staff_id" }
],
dataUrl: `${BASE_URL.BASE_URL}/MesStaff/v1/mes/staff/list`
},
};
//
pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions);
return pageData;
},
computed: {
desc() {
return this.$t('editPageDesc')
}
},
created() {
// id
let dataId = this.getDataId();
// id
if (dataId) {
this.$mk.post({
url: this.actions.get,
loading: "加载中...",
data: { id: this.$mk.toBigInt(dataId) },
useBigInt: true
}).then(a => {
this.formOptions.data = this.$mk.formatDetailData({ data: a.data[this.detailDataFieldName] });
this.detailsData = a.data[this.detailDataFieldName].mold_scheme_components || [];
this.detailsData2 = a.data[this.detailDataFieldName].mold_scheme_processes || [];
this.detailsDataInit();
});
this.isEdit = true;
} else {
// id
this.addModeItems.forEach(item => {
this.formOptions.items.push(item);
})
this.detailsDataInit();
}
this.heightInit();
},
//
methods: {
heightInit() {
this.$nextTick(() => {
let h = this.$mk.getWindowSize().height - this.$mk.getOffsetTop(this.$refs.xTable.$el) - 500;
this.table1Height = h;
});
},
detailsDataInit() {
for (let i = this.detailsData && this.detailsData.length; i < 10; i++) {
this.detailsData.push({});
}
for (let i = this.detailsData2 && this.detailsData2.length; i < 10; i++) {
this.detailsData2.push({});
}
},
// id
getDataId() {
let dataId = this.dataId;
if (this.$route.params.id) {
dataId = this.$route.params.id;
}
if (!dataId) {
dataId = 0;
}
return dataId;
},
getDataId_BigInt() {
let dataId = this.getDataId();
return this.$mk.toBigInt(dataId);
},
//
back() {
//
if (!this.isEdit) {
this.$closePage({
closeRoute: "/Mold/MoldProductionOrderAdd"
});
} else {
//
this.$closePage({
closeRoute: "/Mold/MoldProductionOrderUpdate"
});
}
//
this.$openPage('/Mold/MoldProductionOrder')
},
//
ok() {
let save = () => {
//
let action = !this.isEdit ? this.actions.create : this.actions.update;
// id id
let postdata = Object.assign({}, this.formOptions.data);
//
this.$mk.formatFormData({ data: postdata, rules: this.formOptions.items });
postdata.mold_production_order_component = this.$mk.getPostFieldValue({
rowFilter: (row) => { return row.id || row.mold_id },
dataId: this.getDataId_BigInt(),
list: this.detailsData,
deletedList: this.deletedDetailsData,
fieldName: 'production_id',
dataRule: [
{ field: 'production_type', type: 'integer' }
]
});
postdata.mold_production_order_component_processes = this.$mk.getPostFieldValue({
rowFilter: (row) => { return row.id || (row.mold_id && row.mes_processes_id) },
dataId: this.getDataId_BigInt(),
list: this.detailsData2,
deletedList: this.deletedDetailsData2,
fieldName: 'production_id',
dataRule: [
]
});
//
this.$mk.post({
url: action,
loading: "保存中...",
data: postdata,
useBigInt: true,
}).then((a) => { //
if (a.code == "200") {
this.$mk.success("保存成功");
if (!this.isEdit) { //
this.back();
}
} else {
this.$mk.error(a.message);
}
});
};
//
this.$mk.validateForm({ form: this.$refs.xForm }).then(() => { //
save(); //
}).catch(count => { //
this.$mk.error(`存在${count}项错误,请检查`);
});
},
//
cancel() {
this.back();
},
pageAdd(row) {
const $table = this.$refs.xTable
const record = {
}
if (row) {
this.detailsData.splice($table.getRowSeq(row), 0, record);
} else {
this.detailsData.push(record)
}
},
pageDelete(row) {
const $table = this.$refs.xTable;
if (row.id) {
this.deletedDetailsData.push(this.$mk.toBigInt(row.id))
}
this.detailsData.splice($table.getRowSeq(row) - 1, 1);
},
pageAdd2(row) {
const $table = this.$refs.xTable2
const record = {
}
if (row) {
this.detailsData2.splice($table.getRowSeq(row), 0, record);
} else {
this.detailsData2.push(record)
}
},
pageDelete2(row) {
const $table = this.$refs.xTable2;
if (row.id) {
this.deletedDetailsData2.push(this.$mk.toBigInt(row.id))
}
this.detailsData2.splice($table.getRowSeq(row) - 1, 1);
},
beforeEditMethod({ column, row }) {
console.log(column, row);
return true;
},
afterEditEvent({ column, row }) {
console.log(column, row);
},
beforeEditEvent({ column, row }) {
console.log(column, row);
},
onPulldownSelected({ row, name, params }) {
console.log(row, name, params);
},
onPopupSelected({ rows, name, params }) {
console.log(rows, name, params);
},
},
//
watch: {
}
};
</script>
<style scoped lang="less">
.page-body {
padding: 30px;
background: @base-bg-color;
}
.formtabs .ant-tabs-tabpane {
/* background: white; */
padding: 12px;
}
.gridPanel {
height: calc(100vh - 600px);
}
.footerbar {
padding-left: 10px;
}
.imagePanel {
cursor: pointer;
padding: 10px;
width: 100px;
img {
width: 80px;
height: 80px;
}
}
.oplinks2 svg {
width: 18px;
height: 18px;
}
.oplinks2 i {
margin-left: 5px;
}
</style>

View File

@ -0,0 +1,124 @@
<template>
<basic-page-list ref="listPage" :desc="desc" :options="pageOptions"></basic-page-list>
</template>
<script>
import BASE_URL from '@/services/mes/api.js';
export default {
i18n: require("./i18n"),
props: {
},
data() {
return {
pageOptions: {}
};
},
//
computed: {
//
desc() {
return this.$t("pageDesc");
}
},
//
created() {
this.optionsInit();
},
//
methods: {
optionsInit() {
//
var pageData = { //
keyName: 'id', //
listFieldName: 'MoldProductionOrder',
addPageUrl: "/Mold/MoldProductionOrderAdd",
editPageUrl: "/Mold/MoldProductionOrderUpdate/",
//
actions: { // Api
getList: `${BASE_URL.BASE_URL}/MoldProductionOrder/v1/mold/production/order/list`,
delete: `${BASE_URL.BASE_URL}/MoldProductionOrder/v1/mold/production/order/batchDelete`
},
start_time: 0, //
end_time: 0, //
exportFileTitle: "模型",
enabledExport: false,
enabledImport: false,
enabledImportTemplate: false,
//
searchFormData: {
title: '',
desc: '',
},
//
searchRules: [
{ key: "order_code", mode: "like" }
],
//
searchFormItems: [ //
{ field: 'order_code', title: '订单编码', span: 6, itemRender: { name: '$input', props: { placeholder: '请输入订单编码' } } },
{
align: 'right', span: 4, itemRender: { //
name: '$buttons', children: [{ props: { type: 'submit', content: '搜索', status: 'primary' } }, //
{ props: { type: 'reset', content: '重置' } }]
}
}
],
//
gridOptions: { //
height: '100%', // 100%
stripe: true, //
id: 'datagrid_1', //
//
columns: [
{ type: 'checkbox', width: 80 }, //
{ type: 'seq', width:80 }, //
{ title: '操作', slots: { default: 'op' }, width: 120 },
{ field: 'order_code', sortable: true, title: '订单编码', width: 250 },
{ field: 'create_time', formatter: 'formatDate', width: 100, sortable: true, title: '创建时间', showHeaderOverflow: true }, //
{ field: 'update_time', formatter: 'formatDate', width: 100, sortable: true, title: '更新时间', showHeaderOverflow: true }, //
// =============================== Start ===============================
]
}
};
pageData.gridOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridOptions); //
this.pageOptions = pageData;
},
},
watch: {
}
};
</script>

View File

@ -0,0 +1,14 @@
module.exports = {
messages: {
CN: {
pageDesc:'单位管理'
},
HK: {
pageDesc:'单位管理'
},
US: {
pageDesc:'单位管理'
}
}
}

View File

@ -0,0 +1,2 @@
import list from './List'
export default list

View File

@ -0,0 +1,523 @@
<template>
<div class="page-body">
<vxe-form :data="formOptions.data" ref="xForm" :title-width="formOptions.titleWidth"
:title-align="formOptions.titleAlign" :rules="formOptions.rules" :items="formOptions.items" titleColon>
</vxe-form>
<a-tabs>
<a-tab-pane key="1" tab="部件信息">
<vxe-table border show-overflow keep-source ref="xTable" :height="table1Height" :data="detailsData"
@pulldownSelected="onPulldownSelected" @popupSelected="onPopupSelected" :export-config="{}"
@edit-closed="afterEditEvent" @edit-actived="beforeEditEvent"
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: beforeEditMethod }">
<vxe-column width="60">
<template #default="{ row }">
<div class="oplinks2">
<a @click.stop="pageAdd(row)" title="新增">
<a-icon class="icon" type="plus-circle" />
</a>
<a @click.stop="pageDelete(row)" title="删除">
<a-icon class="icon" type="delete" />
</a>
</div>
</template>
</vxe-column>
<vxe-column field="mold_component" title="部件" width="160" :params="editor_component" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="production_type" title="布产类型" width="160" :params="options_production_type" formatter = 'formatEnum'
:edit-render="{ name: '$select',props:{options:options_production_type} }"></vxe-column>
</vxe-table>
</a-tab-pane>
<a-tab-pane key="2" tab="工序设置">
<vxe-table border show-overflow keep-source ref="xTable2" :height="table1Height" :data="detailsData2"
@pulldownSelected="onPulldownSelected" @popupSelected="onPopupSelected" :export-config="{}"
@edit-closed="afterEditEvent" @edit-actived="beforeEditEvent"
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: beforeEditMethod }">
<vxe-column width="60">
<template #default="{ row }">
<div class="oplinks2">
<a @click.stop="pageAdd2(row)" title="新增">
<a-icon class="icon" type="plus-circle" />
</a>
<a @click.stop="pageDelete2(row)" title="删除">
<a-icon class="icon" type="delete" />
</a>
</div>
</template>
</vxe-column>
<vxe-column field="mold_component" title="部件" width="160" :params="editor_component" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
<vxe-column field="mes_processes" title="工序" width="160" :params="editor_processes" formatter="formatRef"
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
</vxe-table>
</a-tab-pane>
</a-tabs>
<div class="mk-toolbar" v-if="isEdit">
</div>
<div class="footerbar">
<a-button type="primary" @click="ok">确定</a-button>
<a-button @click="cancel">取消</a-button>
</div>
</div>
</template>
<script>
import BASE_URL from '@/services/mes/api.js';
export default {
name: '',
components: {},
props: {
pageMode: {
type: String,
default: "edit"
},
dataId: {
}
},
data() {
//let _this = this;
//
var pageData = {
options_production_type:[{value:'1',label:'正常布产'},{value:'2',label:'委托布产'}],
//
currentConfigName: "",
// ID
currentBeid: 0,
uploadDefaultImg: null,
detailDataFieldName: "mold_scheme",
actions: {
get: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/detail`,
create: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/create`,
update: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/update`
},
keyName: 'id',
//
isEdit: false,
//
formOptions: {
data: {
material_id: 0,
warehouse_id: 0,
version: '',
is_default: 0
},
//
titleWidth: 100,
//
titleAlign: 'right',
//
rules: {
code: [
{ required: true, message: '请输入模型编码' }
],
name: [
{ required: true, message: '请输入模型名称' }
],
},
//
items: [
{ field: 'code', title: '模型编码', span: 12, itemRender: { name: '$input' } },
{ field: 'name', title: '模型名称', span: 12, itemRender: { name: '$input' } },
{
title: '分类', span: 12,
field: 'mold_scheme_category',
dataRule: {
fromField: "id",
saveField: "mold_category_id" // fromFieldsaveField
},
itemRender: {
name: 'MkFormDataSelector', props: {
params: {
dataType: "object",
valueField: "id",
textField: "name",
listdataFieldName: 'MoldSchemeCategory',
dataUrl: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/category/list`
}
}
}
},
]
},
//
addModeItems: [
],
table1Height: 400,
detailsSourceData: [
],
detailsData: [
],
deletedDetailsData: [
],
detailsData2: [
],
deletedDetailsData2: [
],
editor_component: {
dataType: "object",
valueField: "id",
textField: "name",
listdataFieldName: 'MoldComponent',
mapper: [
{ fromField: "id", field: "component_id" }
],
dataUrl: `${BASE_URL.BASE_URL}/MoldComponent/v1/mold/component/list`
},
editor_processes: {
dataType: "object",
valueField: "id",
textField: "name",
listdataFieldName: 'MesProcesses',
mapper: [
{ fromField: "id", field: "mes_processes_id" }
],
dataUrl: `${BASE_URL.BASE_URL}/MesProcesses/v1/mes/processes/list`
},
};
//
pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions);
return pageData;
},
computed: {
desc() {
return this.$t('editPageDesc')
}
},
created() {
// id
let dataId = this.getDataId();
// id
if (dataId) {
this.$mk.post({
url: this.actions.get,
loading: "加载中...",
data: {id : this.$mk.toBigInt(dataId)},
useBigInt : true
}).then(a => {
this.formOptions.data = this.$mk.formatDetailData({data: a.data[this.detailDataFieldName] });
this.detailsData = a.data[this.detailDataFieldName].mold_scheme_components || [];
this.detailsData2 = a.data[this.detailDataFieldName].mold_scheme_processes || [];
this.detailsDataInit();
});
this.isEdit = true;
} else {
// id
this.addModeItems.forEach(item => {
this.formOptions.items.push(item);
})
this.detailsDataInit();
}
this.heightInit();
},
//
methods: {
heightInit() {
this.$nextTick(() => {
let h = this.$mk.getWindowSize().height - this.$mk.getOffsetTop(this.$refs.xTable.$el) - 200;
this.table1Height = h;
});
},
detailsDataInit() {
for (let i = this.detailsData && this.detailsData.length; i < 10; i++) {
this.detailsData.push({});
}
for (let i = this.detailsData2 && this.detailsData2.length; i < 10; i++) {
this.detailsData2.push({});
}
},
// id
getDataId() {
let dataId = this.dataId;
if (this.$route.params.id) {
dataId = this.$route.params.id;
}
if (!dataId) {
dataId = 0;
}
return dataId;
},
getDataId_BigInt() {
let dataId = this.getDataId();
return this.$mk.toBigInt(dataId);
},
//
back() {
//
if (!this.isEdit) {
this.$closePage({
closeRoute: "/Mold/MoldSchemeAdd"
});
} else {
//
this.$closePage({
closeRoute: "/Mold/MoldSchemeUpdate"
});
}
//
this.$openPage('/Mold/MoldScheme')
},
//
ok() {
let save = () => {
//
let action = !this.isEdit ? this.actions.create : this.actions.update;
// id id
let postdata = Object.assign({}, this.formOptions.data);
//
this.$mk.formatFormData({ data: postdata, rules: this.formOptions.items });
postdata.mold_scheme_components = this.$mk.getPostFieldValue({
rowFilter: (row) => { return row.id || row.component_id },
dataId: this.getDataId_BigInt(),
list: this.detailsData,
deletedList: this.deletedDetailsData,
fieldName: 'mold_id',
dataRule:[
{field:'production_type',type:'integer'}
]
});
postdata.mold_scheme_processes = this.$mk.getPostFieldValue({
rowFilter: (row) => { return row.id || ( row.component_id && row.mes_processes_id) },
dataId: this.getDataId_BigInt(),
list: this.detailsData2,
deletedList: this.deletedDetailsData2,
fieldName: 'mold_id',
dataRule:[
]
});
//
this.$mk.post({
url: action,
loading: "保存中...",
data: postdata,
useBigInt: true,
}).then((a) => { //
if (a.code == "200") {
this.$mk.success("保存成功");
if (!this.isEdit) { //
this.back();
}
} else {
this.$mk.error(a.message);
}
});
};
//
this.$mk.validateForm({ form: this.$refs.xForm }).then(() => { //
save(); //
}).catch(count => { //
this.$mk.error(`存在${count}项错误,请检查`);
});
},
//
cancel() {
this.back();
},
pageAdd(row) {
const $table = this.$refs.xTable
const record = {
}
if (row) {
this.detailsData.splice($table.getRowSeq(row), 0, record);
} else {
this.detailsData.push(record)
}
},
pageDelete(row) {
const $table = this.$refs.xTable;
if (row.id) {
this.deletedDetailsData.push(this.$mk.toBigInt(row.id))
}
this.detailsData.splice($table.getRowSeq(row) - 1, 1);
},
pageAdd2(row) {
const $table = this.$refs.xTable2
const record = {
}
if (row) {
this.detailsData2.splice($table.getRowSeq(row), 0, record);
} else {
this.detailsData2.push(record)
}
},
pageDelete2(row) {
const $table = this.$refs.xTable2;
if (row.id) {
this.deletedDetailsData2.push(this.$mk.toBigInt(row.id))
}
this.detailsData2.splice($table.getRowSeq(row) - 1, 1);
},
beforeEditMethod({ column, row }) {
console.log(column,row);
return true;
},
afterEditEvent({ column, row }) {
console.log(column,row);
},
beforeEditEvent({ column, row }) {
console.log(column,row);
},
onPulldownSelected({ row, name, params }) {
console.log(row, name, params );
},
onPopupSelected({ rows, name, params }) {
console.log(rows, name, params);
},
},
//
watch: {
}
};
</script>
<style scoped lang="less">
.page-body {
padding: 30px;
background: @base-bg-color;
}
.formtabs .ant-tabs-tabpane {
/* background: white; */
padding: 12px;
}
.gridPanel {
height: calc(100vh - 600px);
}
.footerbar {
padding-left: 10px;
}
.imagePanel {
cursor: pointer;
padding: 10px;
width: 100px;
img {
width: 80px;
height: 80px;
}
}
.oplinks2 svg {
width: 18px;
height: 18px;
}
.oplinks2 i {
margin-left: 5px;
}
</style>

View File

@ -0,0 +1,126 @@
<template>
<basic-page-list ref="listPage" :desc="desc" :options="pageOptions"></basic-page-list>
</template>
<script>
import BASE_URL from '@/services/mes/api.js';
export default {
i18n: require("./i18n"),
props: {
},
data() {
return {
pageOptions: {}
};
},
//
computed: {
//
desc() {
return this.$t("pageDesc");
}
},
//
created() {
this.optionsInit();
},
//
methods: {
optionsInit() {
//
var pageData = { //
keyName: 'id', //
listFieldName: 'MoldScheme',
addPageUrl: "/Mold/MoldSchemeAdd",
editPageUrl: "/Mold/MoldSchemeUpdate/",
//
actions: { // Api
getList: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/list`,
delete: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/batchDelete`
},
start_time: 0, //
end_time: 0, //
exportFileTitle: "模型",
enabledExport: false,
enabledImport: false,
enabledImportTemplate: false,
//
searchFormData: {
title: '',
desc: '',
},
//
searchRules: [
{ key: "name", mode: "like" }
],
//
searchFormItems: [ //
{ field: 'code', title: '编码', span: 6, itemRender: { name: '$input', props: { placeholder: '请输入编码' } } },
{ field: 'name', title: '名称', span: 6, itemRender: { name: '$input', props: { placeholder: '请输入名称' } } },
{
align: 'right', span: 4, itemRender: { //
name: '$buttons', children: [{ props: { type: 'submit', content: '搜索', status: 'primary' } }, //
{ props: { type: 'reset', content: '重置' } }]
}
}
],
//
gridOptions: { //
height: '100%', // 100%
stripe: true, //
id: 'datagrid_1', //
//
columns: [
{ type: 'checkbox', width: 80 }, //
{ type: 'seq', width:80 }, //
{ title: '操作', slots: { default: 'op' }, width: 120 },
{ field: 'code', sortable: true, title: '编码', width: 250 },
{ field: 'name', sortable: true, title: '名称', width: 250 },
{ field: 'create_time', formatter: 'formatDate', width: 100, sortable: true, title: '创建时间', showHeaderOverflow: true }, //
{ field: 'update_time', formatter: 'formatDate', width: 100, sortable: true, title: '更新时间', showHeaderOverflow: true }, //
// =============================== Start ===============================
]
}
};
pageData.gridOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridOptions); //
this.pageOptions = pageData;
},
},
watch: {
}
};
</script>

View File

@ -0,0 +1,14 @@
module.exports = {
messages: {
CN: {
pageDesc:'单位管理'
},
HK: {
pageDesc:'单位管理'
},
US: {
pageDesc:'单位管理'
}
}
}

View File

@ -0,0 +1,2 @@
import list from './List'
export default list

View File

@ -0,0 +1,177 @@
<template>
<basic-page-edit :desc="desc" :dataId="getDataId()" :options="pageOptions"></basic-page-edit>
</template>
<script>
import BASE_URL from '@/services/mes/api.js';
export default {
components: {},
props: {
pageMode: {
type: String,
default: "edit"
},
dataId: {
}
},
data() {
return {
pageOptions: {}
};
},
computed: {
desc() {
return this.$t('editPageDesc')
}
},
created() {
this.optionsInit();
this.dataInit();
},
//
methods: {
optionsInit() {
//
var pageData = {
//
currentConfigName: "",
// ID
currentBeid: 0,
addPageUrl: "/Mold/MoldSchemeCategoryAdd",
editPageUrl: "/Mold/MoldSchemeCategoryUpdate/",
listPageUrl: "/Mold/MoldSchemeCategory",
uploadDefaultImg: null,
detailDataFieldName: "mold_scheme_category",
actions: {
get: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/category/detail`,
create: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/category/create`,
update: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/category/update`,
},
keyName: 'id',
//
isEdit: false,
//
formOptions: {
data: {
id: 0,
code: "",
name: "",
create_uid: 0,
update_uid: 0,
create_time: new Date(2100, 1, 1).getTime() / 10000,
update_time: new Date(2100, 1, 1).getTime() / 10000,
},
//
titleWidth: 150,
//
titleAlign: 'right',
//
rules: {
code: [
{ required: true, message: '请输入编码' }
],
name: [
{ required: true, message: '请输入名称' }
],
},
//
items: [
{ field: 'code', title: '编码', span: 24, itemRender: { name: '$input' } },
{ field: 'name', title: '名称', span: 24, itemRender: { name: '$input' } },
{ field: 'sort',dataRule:{type:'integer'}, title: '排序', span: 24, itemRender: { name: '$input',props:{type:'number'} } },
{ field: 'remark', title: '备注', span: 24, itemRender: { name: '$input' } },
]
},
//
addModeItems: [
],
};
pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions);
this.pageOptions = pageData;
},
dataInit() {
// id
let dataId = this.getDataId();
// id
if (dataId) {
const json = `{"id":${dataId}}`;
this.$mk.post({
url: this.pageOptions.actions.get,
loading: "加载中...",
data: json,
config: {
headers: {
'Content-Type': 'application/json'
}
}
}).then(a => {
this.pageOptions.formOptions.data = this.$mk.formatDetailData({data:a.data[this.pageOptions.detailDataFieldName]});
this.$forceUpdate()
});
this.pageOptions.isEdit = true;
this.$forceUpdate()
} else {
// id
this.addModeItems.forEach(item => {
this.pageOptions.formOptions.items.push(item);
})
}
},
// id
getDataId() {
let dataId = this.dataId;
if (this.$route.params.id) {
dataId = this.$route.params.id;
}
if (!dataId) {
dataId = 0;
}
return dataId;
}
},
//
watch: {
}
};
</script>

View File

@ -0,0 +1,111 @@
<template>
<basic-page-list :desc="desc" :options="pageOptions"></basic-page-list>
</template>
<script>
import BASE_URL from '@/services/mes/api.js';
export default {
props: {
},
data() {
return {
pageOptions: {}
};
},
//
computed: {
//
desc() {
return this.$t("pageDesc");
}
},
//
created() {
this.optionsInit();
},
//
methods: {
optionsInit() {
//
var pageData = { //
keyName: 'id', //
listFieldName: 'MoldSchemeCategory',
addPageUrl: "/Mold/MoldSchemeCategoryAdd",
editPageUrl: "/Mold/MoldSchemeCategoryUpdate/",
//
actions: { // Api
getList: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/category/list`,
delete: `${BASE_URL.BASE_URL}/MoldScheme/v1/mold/scheme/category/batchDelete`,
},
start_time: 0, //
end_time: 0, //
//
searchFormData: {
name: '',
code: '',
},
//
searchRules: [
{ key: "code", mode: "like" },
{ key: "name", mode: "like" }
],
//
searchFormItems: [ //
{ field: 'name', title: '名称', span: 5, itemRender: { name: '$input', props: { placeholder: '请输入名称' } } },
{ field: 'code', title: '编码', span: 5, itemRender: { name: '$input', props: { placeholder: '请输入编码' } } },
{
align: 'right', span: 4, itemRender: { //
name: '$buttons', children: [{ props: { type: 'submit', content: '搜索', status: 'primary' } }, //
{ props: { type: 'reset', content: '重置' } }]
}
}
],
//
gridOptions: { //
height: '100%', // 100%
stripe: true, //
id: 'datagrid_1', //
columns: [
{ type: 'checkbox', width:60 }, //
{ title: '操作', slots: { default: 'op' }, width: 120 },
{ field: 'code', sortable: true, title: '编码', width: 250 },
{ field: 'name', sortable: true, title: '名称', width: 250 },
{ field: 'remark', sortable: true, title: '备注', width: 250 },
{ field: 'create_time', formatter: 'formatDate', width: 100, sortable: true, title: '创建时间', showHeaderOverflow: true }, //
{ field: 'update_time', formatter: 'formatDate', width: 100, sortable: true, title: '更新时间', showHeaderOverflow: true }, //
]
}
};
pageData.gridOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridOptions); //
this.pageOptions = pageData;
},
},
watch: {
}
};
</script>

View File

@ -0,0 +1,282 @@
// 视图组件
const view = {
tabs: () => import('@/layouts/tabs'),
blank: () => import('@/layouts/BlankView'),
page: () => import('@/layouts/PageView')
}
// 路由组件注册
const routerMap = {
};
routerMap['Mold']= {
name: '模具管理',
icon: 'idcard',
component: view.blank,
meta: {
},
authority: {
permission: [],
}
};
routerMap['MoldOrder']= {
name: '模具订单',
icon: 'idcard',
path: `/Mold/MoldOrder`,
meta:{
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldOrder`),
authority: {
permission: [],
}
};
routerMap['MoldOrderCreate']= {
name: '模具订单',
icon: 'idcard',
path: `/Mold/MoldOrderAdd`,
meta:{
invisible: true,
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldOrder/Edit`),
authority: {
permission: [],
}
};
routerMap['MoldOrderUpdate']= {
name: '模具订单',
icon: 'idcard',
path: `/Mold/MoldOrderUpdate/:id`,
meta:{
invisible: true,
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldOrder/Edit`),
authority: {
permission: [],
}
};
routerMap['MoldProductionOrder']= {
name: '工艺布产',
icon: 'idcard',
path: `/Mold/MoldProductionOrder`,
meta:{
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldProductionOrder`),
authority: {
permission: [],
}
};
routerMap['MoldProductionOrderCreate']= {
name: '工艺布产',
icon: 'idcard',
path: `/Mold/MoldProductionOrderAdd`,
meta:{
invisible: true,
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldProductionOrder/Edit`),
authority: {
permission: [],
}
};
routerMap['MoldProductionOrderUpdate']= {
name: '工艺布产',
icon: 'idcard',
path: `/Mold/MoldProductionOrderUpdate/:id`,
meta:{
invisible: true,
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldProductionOrder/Edit`),
authority: {
permission: [],
}
};
routerMap['MoldScheme']= {
name: '模具设计',
icon: 'idcard',
path: `/Mold/MoldScheme`,
meta:{
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldScheme`),
authority: {
permission: [],
}
};
routerMap['MoldSchemeCreate']= {
name: '模具设计',
icon: 'idcard',
path: `/Mold/MoldSchemeAdd`,
meta:{
invisible: true,
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldScheme/Edit`),
authority: {
permission: [],
}
};
routerMap['MoldSchemeUpdate']= {
name: '模具设计',
icon: 'idcard',
path: `/Mold/MoldSchemeUpdate/:id`,
meta:{
invisible: true,
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldScheme/Edit`),
authority: {
permission: [],
}
};
routerMap['MoldComponent']= {
name: '模具设计',
icon: 'idcard',
path: `/Mold/MoldComponent`,
meta:{
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldComponent`),
authority: {
permission: [],
}
};
routerMap['MoldComponentCreate']= {
name: '模具设计',
icon: 'idcard',
path: `/Mold/MoldComponentAdd`,
meta:{
invisible: true,
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldComponent/Edit`),
authority: {
permission: [],
}
};
routerMap['MoldComponentUpdate']= {
name: '模具设计',
icon: 'idcard',
path: `/Mold/MoldComponentUpdate/:id`,
meta:{
invisible: true,
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldComponent/Edit`),
authority: {
permission: [],
}
};
routerMap['MoldComponentCategory']= {
name: '模具设计',
icon: 'idcard',
path: `/Mold/MoldComponentCategory`,
meta:{
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldComponentCategory/List`),
authority: {
permission: [],
}
};
routerMap['MoldComponentCategoryCreate']= {
name: '模具设计',
icon: 'idcard',
path: `/Mold/MoldComponentCategoryAdd`,
meta:{
invisible: true,
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldComponentCategory/Edit`),
authority: {
permission: [],
}
};
routerMap['MoldComponentCategoryUpdate']= {
name: '模具设计',
icon: 'idcard',
path: `/Mold/MoldComponentCategoryUpdate/:id`,
meta:{
invisible: true,
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldComponentCategory/Edit`),
authority: {
permission: [],
}
};
routerMap['MoldSchemeCategory']= {
name: '模具分类',
icon: 'idcard',
path: `/Mold/MoldSchemeCategory`,
meta:{
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldSchemeCategory/List`),
authority: {
permission: [],
}
};
routerMap['MoldSchemeCategoryCreate']= {
name: '模具分类',
icon: 'idcard',
path: `/Mold/MoldSchemeCategoryAdd`,
meta:{
invisible: true,
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldSchemeCategory/Edit`),
authority: {
permission: [],
}
};
routerMap['MoldSchemeCategoryUpdate']= {
name: '模具分类',
icon: 'idcard',
path: `/Mold/MoldSchemeCategoryUpdate/:id`,
meta:{
invisible: true,
page:{ cacheAble:false}
},
component: () => import(`@/pages/Middle/Mold/MoldSchemeCategory/Edit`),
authority: {
permission: [],
}
};
export default routerMap

View File

@ -15,7 +15,7 @@ import Bathroom from '@/router/Middle/bathroom/router.map.js'
import Mes from '@/router/Middle/Mes/router.map.js'
import Chatgpt from '@/router/Middle/Chatgpt/router.map.js'
import ProvideLoanApply from '@/router/Middle/ProvideLoanApply/router.map.js'
import Mold from '@/router/Middle/Mold/router.map.js'
import Test from '@/router/Test/router.map.js'
@ -42,6 +42,8 @@ const routerMap = Object.assign({
//车贷
ProvideLoanApply,
//模具
Mold,
//测试
Test