|
|
@@ -1,74 +1,77 @@
|
|
|
<template>
|
|
|
<div class="ele-body">
|
|
|
<el-card shadow="never">
|
|
|
- <el-form
|
|
|
- label-width="120px"
|
|
|
- ref="manageForm"
|
|
|
- :model="form"
|
|
|
- :rules="rules"
|
|
|
- >
|
|
|
+ <el-form label-width="120px" ref="manageForm" :model="form" :rules="rules">
|
|
|
<headerTitle title="基本信息">
|
|
|
<el-button @click="cancel">返回</el-button>
|
|
|
- <el-button type="primary" @click="submit" :loading="loading"
|
|
|
- >保存</el-button
|
|
|
- ></headerTitle
|
|
|
- >
|
|
|
+ <el-button type="primary" @click="submit" :loading="loading">保存</el-button>
|
|
|
+ </headerTitle>
|
|
|
|
|
|
<el-row :gutter="24">
|
|
|
-
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="分类" prop="categoryLevelName">
|
|
|
- <el-input
|
|
|
- v-model="form.categoryLevelName"
|
|
|
- @click.native="openCategory"
|
|
|
- />
|
|
|
+ <el-input v-model="form.categoryLevelName" @click.native="openCategory" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
|
|
|
-
|
|
|
- <el-col :span="8">
|
|
|
+
|
|
|
+ <el-col :span="8" v-if="ruleCode == '自定义'" >
|
|
|
<el-form-item label="编码" prop="code">
|
|
|
- <el-input v-model="form.code" />
|
|
|
+ <el-input v-model="form.code" readonly @click.native="openCode" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+
|
|
|
+ <el-col :span="8" v-else>
|
|
|
+ <el-form-item label="编码" prop="code">
|
|
|
+ <el-input v-model="form.code" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="名称" prop="name">
|
|
|
<el-input v-model="form.name" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
-
|
|
|
+
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="牌号" prop="brandNum">
|
|
|
<el-input v-model="form.brandNum" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="型号" prop="modelType">
|
|
|
+ <el-input v-model="form.modelType" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="规格" prop="specification">
|
|
|
<el-input v-model="form.specification" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="型号" prop="modelType">
|
|
|
- <el-input v-model="form.modelType" />
|
|
|
+ <el-form-item label="计量单位" prop="measuringUnit">
|
|
|
+ <DictSelection dictName="计量单位" clearable v-model="form.measuringUnit">
|
|
|
+ </DictSelection>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="计量单位" prop="measuringUnit">
|
|
|
- <DictSelection
|
|
|
- dictName="计量单位"
|
|
|
- clearable
|
|
|
- v-model="form.measuringUnit"
|
|
|
- >
|
|
|
+ <el-form-item label="重量单位" prop="roughWeight">
|
|
|
+ <DictSelection dictName="重量单位" clearable v-model="form.roughWeight">
|
|
|
</DictSelection>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="包装单位" prop="packingUnit">
|
|
|
- <DictSelection
|
|
|
- dictName="包装单位"
|
|
|
- clearable
|
|
|
- v-model="form.packingUnit"
|
|
|
- >
|
|
|
+ <DictSelection dictName="包装单位" clearable v-model="form.packingUnit">
|
|
|
</DictSelection>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -76,12 +79,7 @@
|
|
|
<el-form-item label="体积">
|
|
|
<div class="form-line">
|
|
|
<el-input v-model="form.volume" />
|
|
|
- <DictSelection
|
|
|
- class="line-select"
|
|
|
- dictName="体积单位"
|
|
|
- clearable
|
|
|
- v-model="form.volumeUnit"
|
|
|
- >
|
|
|
+ <DictSelection class="line-select" dictName="体积单位" clearable v-model="form.volumeUnit">
|
|
|
</DictSelection>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
@@ -90,12 +88,7 @@
|
|
|
<el-form-item label="毛重">
|
|
|
<div class="form-line">
|
|
|
<el-input v-model="form.roughWeight" />
|
|
|
- <DictSelection
|
|
|
- class="line-select"
|
|
|
- dictName="重量单位"
|
|
|
- clearable
|
|
|
- v-model="form.weightUnit"
|
|
|
- >
|
|
|
+ <DictSelection class="line-select" dictName="重量单位" clearable v-model="form.weightUnit">
|
|
|
</DictSelection>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
@@ -104,38 +97,28 @@
|
|
|
<el-form-item label="净重">
|
|
|
<div class="form-line">
|
|
|
<el-input v-model="form.netWeight" />
|
|
|
- <DictSelection
|
|
|
- class="line-select"
|
|
|
- dictName="重量单位"
|
|
|
- clearable
|
|
|
- v-model="form.weightUnit"
|
|
|
- >
|
|
|
+ <DictSelection class="line-select" dictName="重量单位" clearable v-model="form.weightUnit">
|
|
|
</DictSelection>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="所属部门">
|
|
|
- <deptSelect
|
|
|
- v-model="form.deptLeaderId"
|
|
|
- @changeGroup="searchDeptNodeClick"
|
|
|
- />
|
|
|
+ <deptSelect v-model="form.deptLeaderId" @changeGroup="searchDeptNodeClick" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="负责人">
|
|
|
- <personSelect
|
|
|
- ref="directorRef"
|
|
|
- v-model="form.deptId"
|
|
|
- @selfChange="handleDirectorChange"
|
|
|
- :init="false"
|
|
|
- />
|
|
|
+ <personSelect ref="directorRef" v-model="form.deptId" @selfChange="handleDirectorChange" :init="false" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
</el-card>
|
|
|
|
|
|
+
|
|
|
+ <!-- 自定义编码 -->
|
|
|
+ <CodeDialog ref="codeRefs" @chooseCode="chooseCode"></CodeDialog>
|
|
|
<!-- 分类选择弹窗 -->
|
|
|
<CategoryDialog ref="categoryRefs" @chooseCategory="confirmCategory" />
|
|
|
<!-- 仓储配置 -->
|
|
|
@@ -155,265 +138,307 @@
|
|
|
<!-- 备注信息 -->
|
|
|
<RemarkInfo ref="remarkRefs" :form="remarkform" />
|
|
|
<!-- 关联信息 -->
|
|
|
- <linkMsg
|
|
|
- ref="linkMsgRef"
|
|
|
- :id="$route.query.id"
|
|
|
- :categoryLevelId="form.categoryLevelId"
|
|
|
- :categoryLevelGroupId = "form.categoryLevelGroupId"
|
|
|
- />
|
|
|
+ <linkMsg ref="linkMsgRef" :id="$route.query.id" :categoryLevelId="form.categoryLevelId"
|
|
|
+ :categoryLevelGroupId="form.categoryLevelGroupId" />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import GroupDialog from './components/GroupDialog.vue';
|
|
|
- import CategoryDialog from './components/CategoryDialog.vue';
|
|
|
- import WarehouseInfo from './components/WarehouseInfo.vue';
|
|
|
- import ProcureInfo from './components/ProcureInfo.vue';
|
|
|
- import ProductionInfo from './components/ProductionInfo.vue';
|
|
|
- import PlanInfo from './components/PlanInfo.vue';
|
|
|
- import SalesInfo from './components/SalesInfo.vue';
|
|
|
- import QualityInfo from './components/QualityInfo.vue';
|
|
|
- import BoatInfo from './components/BoatInfo.vue';
|
|
|
- import TurnoverInfo from './components/TurnoverInfo.vue';
|
|
|
- import MoldInfo from './components/MoldInfo.vue';
|
|
|
- import RemarkInfo from './components/RemarkInfo.vue';
|
|
|
- import deptSelect from '@/components/CommomSelect/dept-select.vue';
|
|
|
- import personSelect from '@/components/CommomSelect/person-select.vue';
|
|
|
- import linkMsg from './components/link-msg.vue';
|
|
|
- import { getDetails } from '@/api/classifyManage/itemInformation';
|
|
|
- import { addMaterial } from '@/api/material/manage.js';
|
|
|
- import { deepClone } from '@/utils/index';
|
|
|
- import { finishPageTab, reloadPageTab } from '@/utils/page-tab-util';
|
|
|
- export default {
|
|
|
- name: 'ManageMaterial',
|
|
|
- components: {
|
|
|
- linkMsg,
|
|
|
- GroupDialog,
|
|
|
- deptSelect,
|
|
|
- personSelect,
|
|
|
- WarehouseInfo,
|
|
|
- ProcureInfo,
|
|
|
- ProductionInfo,
|
|
|
- PlanInfo,
|
|
|
- SalesInfo,
|
|
|
- QualityInfo,
|
|
|
- BoatInfo,
|
|
|
- TurnoverInfo,
|
|
|
- MoldInfo,
|
|
|
- RemarkInfo,
|
|
|
- CategoryDialog
|
|
|
- },
|
|
|
- data () {
|
|
|
- return {
|
|
|
- loading: false,
|
|
|
- form: {
|
|
|
- categoryLevelGroupName: '',
|
|
|
- categoryLevelName: ''
|
|
|
- },
|
|
|
- remarkform: {
|
|
|
- remarkAttach: []
|
|
|
- },
|
|
|
- categoryAps: {},
|
|
|
- categoryMes: {},
|
|
|
- categoryMold: {},
|
|
|
- categoryPallet: {},
|
|
|
- categoryQms: {},
|
|
|
- categoryVehicle: {},
|
|
|
- categoryWms: {},
|
|
|
- // 表单验证规则
|
|
|
- rules: {
|
|
|
- categoryLevelGroupName: [
|
|
|
- { required: true, message: '请选择所属物料组', trigger: 'change' }
|
|
|
- ],
|
|
|
- code: [{ required: true, message: '请输入编码', trigger: 'blur' }],
|
|
|
- name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
|
|
|
- categoryLevelName: [
|
|
|
- { required: true, message: '请选择所属分类', trigger: 'change' }
|
|
|
- ],
|
|
|
- measuringUnit: [
|
|
|
- { required: true, message: '请选择计量单位', trigger: 'change' }
|
|
|
- ]
|
|
|
- },
|
|
|
- PathInfo: {},
|
|
|
- id: null
|
|
|
- };
|
|
|
- },
|
|
|
- created () {
|
|
|
- this._getDetails();
|
|
|
- },
|
|
|
- methods: {
|
|
|
- async _getDetails () {
|
|
|
- const data = await getDetails(this.$route.query.id);
|
|
|
- const info = deepClone(data);
|
|
|
- this.form = {
|
|
|
- ...info.category
|
|
|
- };
|
|
|
- this.judgeSet(info);
|
|
|
- this.searchDeptNodeClick(this.form.deptLeaderId);
|
|
|
- },
|
|
|
- // 判断字段类型并赋值
|
|
|
- judgeSet (info) {
|
|
|
- if (typeof info.categoryAps == 'string') {
|
|
|
- this.categoryAps = {};
|
|
|
- } else {
|
|
|
- this.categoryAps = info.categoryAps;
|
|
|
- }
|
|
|
- if (typeof info.categoryMes == 'string') {
|
|
|
- this.categoryMes = {};
|
|
|
- } else {
|
|
|
- this.categoryMes = info.categoryMes;
|
|
|
- }
|
|
|
- if (typeof info.categoryMold == 'string') {
|
|
|
- this.categoryMold = {};
|
|
|
- } else {
|
|
|
- this.categoryMold = info.categoryMold;
|
|
|
- }
|
|
|
- if (typeof info.categoryPallet == 'string') {
|
|
|
- this.categoryPallet = {};
|
|
|
- } else {
|
|
|
- this.categoryPallet = info.categoryPallet;
|
|
|
- }
|
|
|
- if (typeof info.categoryQms == 'string') {
|
|
|
- this.categoryQms = {};
|
|
|
- } else {
|
|
|
- this.categoryQms = info.categoryQms;
|
|
|
- }
|
|
|
- if (typeof info.categoryVehicle == 'string') {
|
|
|
- this.categoryVehicle = {};
|
|
|
- } else {
|
|
|
- this.categoryVehicle = info.categoryVehicle;
|
|
|
- }
|
|
|
- if (typeof info.categoryWms == 'string') {
|
|
|
- this.categoryWms = {};
|
|
|
- } else {
|
|
|
- this.categoryWms = info.categoryWms;
|
|
|
- }
|
|
|
- },
|
|
|
- // 选择所属部门
|
|
|
- searchDeptNodeClick (id, info) {
|
|
|
- // 根据部门获取人员
|
|
|
- const params = { executeGroupId: id };
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.directorRef.getList(params);
|
|
|
- });
|
|
|
+import GroupDialog from './components/GroupDialog.vue';
|
|
|
+import CodeDialog from './components/codeDialog.vue'
|
|
|
+import CategoryDialog from './components/CategoryDialog.vue';
|
|
|
+import WarehouseInfo from './components/WarehouseInfo.vue';
|
|
|
+import ProcureInfo from './components/ProcureInfo.vue';
|
|
|
+import ProductionInfo from './components/ProductionInfo.vue';
|
|
|
+import PlanInfo from './components/PlanInfo.vue';
|
|
|
+import SalesInfo from './components/SalesInfo.vue';
|
|
|
+import QualityInfo from './components/QualityInfo.vue';
|
|
|
+import BoatInfo from './components/BoatInfo.vue';
|
|
|
+import TurnoverInfo from './components/TurnoverInfo.vue';
|
|
|
+import MoldInfo from './components/MoldInfo.vue';
|
|
|
+import RemarkInfo from './components/RemarkInfo.vue';
|
|
|
+import deptSelect from '@/components/CommomSelect/dept-select.vue';
|
|
|
+import personSelect from '@/components/CommomSelect/person-select.vue';
|
|
|
+import linkMsg from './components/link-msg.vue';
|
|
|
+import { getDetails } from '@/api/classifyManage/itemInformation';
|
|
|
+
|
|
|
+import { getCode } from '@/api/codeManagement';
|
|
|
+
|
|
|
+import { addMaterial } from '@/api/material/manage.js';
|
|
|
+import { deepClone } from '@/utils/index';
|
|
|
+import { finishPageTab, reloadPageTab } from '@/utils/page-tab-util';
|
|
|
+export default {
|
|
|
+ name: 'ManageMaterial',
|
|
|
+ components: {
|
|
|
+ linkMsg,
|
|
|
+ GroupDialog,
|
|
|
+ deptSelect,
|
|
|
+ personSelect,
|
|
|
+ WarehouseInfo,
|
|
|
+ ProcureInfo,
|
|
|
+ ProductionInfo,
|
|
|
+ PlanInfo,
|
|
|
+ SalesInfo,
|
|
|
+ QualityInfo,
|
|
|
+ BoatInfo,
|
|
|
+ TurnoverInfo,
|
|
|
+ MoldInfo,
|
|
|
+ RemarkInfo,
|
|
|
+ CategoryDialog,
|
|
|
+ CodeDialog
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ loading: false,
|
|
|
+ form: {
|
|
|
+ categoryLevelGroupName: '',
|
|
|
+ categoryLevelName: ''
|
|
|
},
|
|
|
- //选择负责人
|
|
|
- handleDirectorChange (id, info) {},
|
|
|
- // 确定分类
|
|
|
- confirmCategory (node, title, PathInfo) {
|
|
|
- if (title == '选择产品分类') {
|
|
|
- this.$set(this.form, 'productCategoryLevelName', node.name);
|
|
|
- this.$set(this.form, 'productCategoryLevelId', node.id);
|
|
|
- } else {
|
|
|
- this.$set(this.form, 'categoryLevelName', node.name);
|
|
|
- this.$set(this.form, 'categoryLevelId', node.id);
|
|
|
- this.$set(this.form, 'categoryLevelPath', node.name);
|
|
|
- this.$set(this.form, 'categoryLevelPathId', node.id);
|
|
|
- this.PathInfo = PathInfo;
|
|
|
- }
|
|
|
+ remarkform: {
|
|
|
+ remarkAttach: []
|
|
|
},
|
|
|
- openCategory () {
|
|
|
- this.$refs.categoryRefs.open(this.form.categoryLevelId);
|
|
|
+ categoryAps: {},
|
|
|
+ categoryMes: {},
|
|
|
+ categoryMold: {},
|
|
|
+ categoryPallet: {},
|
|
|
+ categoryQms: {},
|
|
|
+ categoryVehicle: {},
|
|
|
+ categoryWms: {
|
|
|
+ isUnpack: 1
|
|
|
},
|
|
|
- cancel () {
|
|
|
- finishPageTab();
|
|
|
- this.$router.go(-1);
|
|
|
+ // 表单验证规则
|
|
|
+ rules: {
|
|
|
+ categoryLevelGroupName: [
|
|
|
+ { required: true, message: '请选择所属物料组', trigger: 'change' }
|
|
|
+ ],
|
|
|
+ code: [{ required: true, message: '请输入编码', trigger: 'blur' }],
|
|
|
+ name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
|
|
|
+ categoryLevelName: [
|
|
|
+ { required: true, message: '请选择所属分类', trigger: 'change' }
|
|
|
+ ],
|
|
|
+ measuringUnit: [
|
|
|
+ { required: true, message: '请选择计量单位', trigger: 'change' }
|
|
|
+ ]
|
|
|
},
|
|
|
+ PathInfo: {},
|
|
|
+ id: null,
|
|
|
+
|
|
|
+ ruleCode: null
|
|
|
+ };
|
|
|
+ },
|
|
|
+ async created() {
|
|
|
+ if (this.$route.query.id) {
|
|
|
+ this._getDetails();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ async _getDetails() {
|
|
|
+ const data = await getDetails(this.$route.query.id);
|
|
|
+ const info = deepClone(data);
|
|
|
+ this.form = {
|
|
|
+ ...info.category
|
|
|
+ };
|
|
|
+ this.judgeSet(info);
|
|
|
+ this.searchDeptNodeClick(this.form.deptLeaderId);
|
|
|
+ },
|
|
|
+ // 判断字段类型并赋值
|
|
|
+ judgeSet(info) {
|
|
|
+ if (typeof info.categoryAps == 'string') {
|
|
|
+ this.categoryAps = {};
|
|
|
+ } else {
|
|
|
+ this.categoryAps = info.categoryAps;
|
|
|
+ }
|
|
|
+ if (typeof info.categoryMes == 'string') {
|
|
|
+ this.categoryMes = {};
|
|
|
+ } else {
|
|
|
+ this.categoryMes = info.categoryMes;
|
|
|
+ }
|
|
|
+ if (typeof info.categoryMold == 'string') {
|
|
|
+ this.categoryMold = {};
|
|
|
+ } else {
|
|
|
+ this.categoryMold = info.categoryMold;
|
|
|
+ }
|
|
|
+ if (typeof info.categoryPallet == 'string') {
|
|
|
+ this.categoryPallet = {};
|
|
|
+ } else {
|
|
|
+ this.categoryPallet = info.categoryPallet;
|
|
|
+ }
|
|
|
+ if (typeof info.categoryQms == 'string') {
|
|
|
+ this.categoryQms = {};
|
|
|
+ } else {
|
|
|
+ this.categoryQms = info.categoryQms;
|
|
|
+ }
|
|
|
+ if (typeof info.categoryVehicle == 'string') {
|
|
|
+ this.categoryVehicle = {};
|
|
|
+ } else {
|
|
|
+ this.categoryVehicle = info.categoryVehicle;
|
|
|
+ }
|
|
|
+ if (typeof info.categoryWms == 'string') {
|
|
|
+ this.categoryWms = {};
|
|
|
+ } else {
|
|
|
+ this.categoryWms = info.categoryWms;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 选择所属部门
|
|
|
+ searchDeptNodeClick(id, info) {
|
|
|
+ // 根据部门获取人员
|
|
|
+ const params = { executeGroupId: id };
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.directorRef.getList(params);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //选择负责人
|
|
|
+ handleDirectorChange(id, info) { },
|
|
|
+ // 确定分类
|
|
|
+ async confirmCategory(node, title, PathInfo, ruleCode) {
|
|
|
+ this.form.code = null
|
|
|
+ console.log(ruleCode)
|
|
|
+ if (title == '选择产品分类') {
|
|
|
+ this.$set(this.form, 'productCategoryLevelName', node.name);
|
|
|
+ this.$set(this.form, 'productCategoryLevelId', node.id);
|
|
|
+ } else {
|
|
|
+ this.$set(this.form, 'categoryLevelName', node.name);
|
|
|
+ this.$set(this.form, 'categoryLevelId', node.id);
|
|
|
+ this.$set(this.form, 'categoryLevelPath', node.name);
|
|
|
+ this.$set(this.form, 'categoryLevelPathId', node.id);
|
|
|
+ this.PathInfo = PathInfo;
|
|
|
+
|
|
|
+ this.ruleCode = ruleCode
|
|
|
+
|
|
|
+ if(ruleCode && ruleCode != '自定义') {
|
|
|
+ const code = await getCode(ruleCode);
|
|
|
+ this.$set(this.form, 'code', code);
|
|
|
+ this.$forceUpdate()
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
- // 保存
|
|
|
- submit () {
|
|
|
- this.$refs.manageForm.validate((valid) => {
|
|
|
- if (!valid) {
|
|
|
- return false;
|
|
|
- }
|
|
|
- this.loading = true;
|
|
|
- // const imgList = this.remarkform.imgList;
|
|
|
- // const arr = [];
|
|
|
- // if (imgList.length) {
|
|
|
- // imgList.map((item) => {
|
|
|
- // arr.push(item.storePath);
|
|
|
- // });
|
|
|
- // this.form.remarkAttach = arr.join(',');
|
|
|
- // }
|
|
|
- // this.form.remark = this.remarkform.remark
|
|
|
- // ? this.remarkform.remark
|
|
|
- // : '';
|
|
|
- const data = {
|
|
|
- categoryWms: this.categoryWms,
|
|
|
- categoryAps: this.categoryAps,
|
|
|
- categoryMes: this.categoryMes,
|
|
|
- categoryMold: this.categoryMold,
|
|
|
- categoryPallet: this.categoryPallet,
|
|
|
- categoryQms: this.categoryQms,
|
|
|
- categoryVehicle: this.categoryVehicle,
|
|
|
- category: {
|
|
|
- ...this.form,
|
|
|
- ...this.remarkform,
|
|
|
- ...this.PathInfo
|
|
|
- }
|
|
|
- };
|
|
|
- addMaterial(data)
|
|
|
- .then((msg) => {
|
|
|
- this.loading = false;
|
|
|
- this.$message.success(msg);
|
|
|
- finishPageTab();
|
|
|
- reloadPageTab({ fullPath: '/material/product' });
|
|
|
- this.$router.go(-1);
|
|
|
- })
|
|
|
- .catch((e) => {
|
|
|
- this.loading = false;
|
|
|
- });
|
|
|
- });
|
|
|
}
|
|
|
+ },
|
|
|
+ openCategory() {
|
|
|
+ this.$refs.categoryRefs.open();
|
|
|
+ },
|
|
|
+
|
|
|
+ openCode() {
|
|
|
+ this.$refs.codeRefs.open()
|
|
|
+ },
|
|
|
+
|
|
|
+ chooseCode(code) {
|
|
|
+ this.$set(this.form, 'code', code);
|
|
|
+ this.$forceUpdate()
|
|
|
+ },
|
|
|
+
|
|
|
+ cancel() {
|
|
|
+ finishPageTab();
|
|
|
+ this.$router.go(-1);
|
|
|
+ },
|
|
|
+
|
|
|
+ // 保存
|
|
|
+ submit() {
|
|
|
+ this.$refs.manageForm.validate((valid) => {
|
|
|
+ if (!valid) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ this.loading = true;
|
|
|
+ // const imgList = this.remarkform.imgList;
|
|
|
+ // const arr = [];
|
|
|
+ // if (imgList.length) {
|
|
|
+ // imgList.map((item) => {
|
|
|
+ // arr.push(item.storePath);
|
|
|
+ // });
|
|
|
+ // this.form.remarkAttach = arr.join(',');
|
|
|
+ // }
|
|
|
+ // this.form.remark = this.remarkform.remark
|
|
|
+ // ? this.remarkform.remark
|
|
|
+ // : '';
|
|
|
+ const data = {
|
|
|
+ categoryWms: this.categoryWms,
|
|
|
+ categoryAps: this.categoryAps,
|
|
|
+ categoryMes: this.categoryMes,
|
|
|
+ categoryMold: this.categoryMold,
|
|
|
+ categoryPallet: this.categoryPallet,
|
|
|
+ categoryQms: this.categoryQms,
|
|
|
+ categoryVehicle: this.categoryVehicle,
|
|
|
+ category: {
|
|
|
+ ...this.form,
|
|
|
+ ...this.remarkform,
|
|
|
+ ...this.PathInfo
|
|
|
+ }
|
|
|
+ };
|
|
|
+ addMaterial(data)
|
|
|
+ .then((msg) => {
|
|
|
+ this.loading = false;
|
|
|
+ this.$message.success(msg);
|
|
|
+ finishPageTab();
|
|
|
+ reloadPageTab({ fullPath: '/material/product' });
|
|
|
+ this.$router.go(-1);
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ });
|
|
|
}
|
|
|
- };
|
|
|
+ }
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
- .ele-page-header {
|
|
|
- border: none;
|
|
|
- }
|
|
|
- .body-top {
|
|
|
+.ele-page-header {
|
|
|
+ border: none;
|
|
|
+}
|
|
|
+
|
|
|
+.body-top {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ background: #fff;
|
|
|
+
|
|
|
+ .top-left {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- justify-content: space-between;
|
|
|
- background: #fff;
|
|
|
- .top-left {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: flex-start;
|
|
|
- margin-left: -25px;
|
|
|
- .el-form-item {
|
|
|
- margin-bottom: 0;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- .divider {
|
|
|
- margin: 20px 0;
|
|
|
- .title {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- margin-bottom: 10px;
|
|
|
- div {
|
|
|
- width: 8px;
|
|
|
- height: 20px;
|
|
|
- margin-right: 10px;
|
|
|
- }
|
|
|
- span {
|
|
|
- font-size: 20px;
|
|
|
- }
|
|
|
- }
|
|
|
- .ele-width {
|
|
|
- width: 100%;
|
|
|
- height: 2px;
|
|
|
+ justify-content: flex-start;
|
|
|
+ margin-left: -25px;
|
|
|
+
|
|
|
+ .el-form-item {
|
|
|
+ margin-bottom: 0;
|
|
|
}
|
|
|
}
|
|
|
- .form-line {
|
|
|
+}
|
|
|
+
|
|
|
+.divider {
|
|
|
+ margin: 20px 0;
|
|
|
+
|
|
|
+ .title {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- justify-content: space-between;
|
|
|
- .line-select {
|
|
|
- margin-left: 15px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+
|
|
|
+ div {
|
|
|
+ width: 8px;
|
|
|
+ height: 20px;
|
|
|
+ margin-right: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ span {
|
|
|
+ font-size: 20px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ .ele-width {
|
|
|
+ width: 100%;
|
|
|
+ height: 2px;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.form-line {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+
|
|
|
+ .line-select {
|
|
|
+ margin-left: 15px;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|