生产追溯维护和电子档案页面开发

dev-scheduling
zhangdi 5 days ago
parent a88d4cc6e7
commit fc58bc46df
  1. 245
      src/views/costManagement/costConfiguration.vue
  2. 299
      src/views/costManagement/subjectFeeMaintenance.vue
  3. 182
      src/views/costStatistics/index.vue
  4. 28
      src/views/zhgd-work/eleFilesEdit/index.vue
  5. 89
      src/views/zhgd-work/eleFilesEdit/sintering.vue
  6. 124
      src/views/zhgd-work/eleFilesEdit/tableProcessing.vue
  7. 217
      src/views/zhgd-work/retrospectDefend/components/oneRetrospectDefend.vue
  8. 74
      src/views/zhgd-work/retrospectDefend/components/twoRetrospectDefend.vue
  9. 29
      src/views/zhgd-work/retrospectDefend/index.vue

@ -30,11 +30,11 @@
@on-load="onLoad"
>
<template #menu-left>
<el-button icon="el-icon-plus" type="primary" @click="handleAdd">新增</el-button>
<el-button icon="el-icon-delete" type="danger" @click="handleDelete"
>删除</el-button
>
<el-button icon="el-icon-upload" type="success" @click="handleImport">导入</el-button>
<el-button type="primary" @click="handleAdd">新增</el-button>
<el-button type="danger" @click="handleDelete">删除</el-button>
</template>
<template #menu-right>
<el-button type="primary" @click="handleImport">导入</el-button>
</template>
<template #menu="scope">
<el-button
@ -53,9 +53,7 @@
</avue-crud>
<el-dialog :title="title" append-to-body v-model="showDialog" width="60%">
<div style="margin-bottom: 10px">
<el-button type="primary" icon="el-icon-plus" @click="insertEvent()"
>插入一行</el-button
>
<el-button type="primary" icon="el-icon-plus" @click="insertEvent()">插入一行</el-button>
<el-button plain type="danger" @click="remove">删除选择行</el-button>
<el-button type="primary" @click="handleSave">保存</el-button>
</div>
@ -90,9 +88,7 @@
</el-dialog>
<el-dialog :title="title" append-to-body v-model="showMaterial" width="60%">
<div style="margin-bottom: 10px">
<el-button type="primary" icon="el-icon-plus" @click="insertRow()"
>插入一行</el-button
>
<el-button type="primary" icon="el-icon-plus" @click="insertRow()">插入一行</el-button>
<el-button plain type="danger" @click="removeRow">删除选择行</el-button>
<el-button type="primary" @click="handleSave">保存</el-button>
</div>
@ -100,10 +96,7 @@
<el-table-column type="selection" width="55px"></el-table-column>
<el-table-column align="center" label="物料编号" prop="goodsNo">
<template #default="{ row, $index }">
<el-select
v-model="row.goodsNo"
@change="(event) => changeGoodsNo(event, $index)"
>
<el-select v-model="row.goodsNo" @change="event => changeGoodsNo(event, $index)">
<el-option
v-for="item in goodsData"
:label="item.label"
@ -113,34 +106,34 @@
</el-select>
</template>
</el-table-column>
<el-table-column
align="center"
label="物料名称"
prop="goodsName"
></el-table-column>
<el-table-column align="center" label="物料名称" prop="goodsName"></el-table-column>
</el-table>
</el-dialog>
<!-- 导入 -->
<basic-import v-if="isShowImport" title="导入" :isShow="isShowImport"
<basic-import
v-if="isShowImport"
title="导入"
:isShow="isShowImport"
templateUrl="/blade-desk/QA/CycleTestItem/download-excel-template"
templateName="试验项目模板.xls"
importUrl="/blade-desk/QA/CycleTestItem/import-excel"
@closeDialog="closeDialog"></basic-import>
@closeDialog="closeDialog"
></basic-import>
</basic-container>
</template>
<script>
import costColumnData from "./js/costColumnData";
import basicImport from '@/components/basic-import/main.vue'
import costColumnData from './js/costColumnData';
import basicImport from '@/components/basic-import/main.vue';
export default {
components: {
basicImport,
},
data() {
return {
isShowImport:false,
tabPosition: "processMaintenance",
isShowImport: false,
tabPosition: 'processMaintenance',
loading: false,
showDialog: false,
showMaterial: false,
@ -150,20 +143,20 @@ export default {
materialData: [],
data: [],
goodsData: [
{ label: "0399-222-21", value: "物料一" },
{ label: "0399-222-22", value: "物料二" },
{ label: "0399-222-23", value: "物料三" },
{ label: "0399-222-24", value: "物料四" },
{ label: '0399-222-21', value: '物料一' },
{ label: '0399-222-22', value: '物料二' },
{ label: '0399-222-23', value: '物料三' },
{ label: '0399-222-24', value: '物料四' },
],
form: {},
title: "新增",
title: '新增',
page: {
pageSize: 10,
currentPage: 1,
total: 0,
},
option: {
height: "auto",
height: 'auto',
calcHeight: 32,
tip: false,
simplePage: true,
@ -179,14 +172,14 @@ export default {
delBtn: false,
addBtn: false,
editBtn: false,
editBtnText: "修改",
viewBtnIcon: " ",
delBtnIcon: " ",
editBtnIcon: " ",
viewBtnText: "详情",
editBtnText: '修改',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
viewBtnText: '详情',
labelWidth: 120,
searchLabelWidth: 120,
menuWidth: 220,
menuWidth: 100,
dialogWidth: 1200,
dialogClickModal: false,
searchEnter: true,
@ -198,18 +191,18 @@ export default {
columnSort: true,
index: false,
showOverflowTooltip: true,
searchLabelPosition: "left",
searchLabelPosition: "left",
searchLabelPosition: 'left',
searchLabelPosition: 'left',
searchGutter: 24,
searchSpan: 6,
menuAlign: "left",
menuAlign: 'left',
gridBtn: false,
searchMenuPosition: "right",
addBtnIcon: " ",
viewBtnIcon: " ",
delBtnIcon: " ",
editBtnIcon: " ",
align: "center",
searchMenuPosition: 'right',
addBtnIcon: ' ',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
align: 'center',
column: [],
},
@ -221,51 +214,51 @@ export default {
methods: {
//
handleImport() {
this.isShowImport = true
this.isShowImport = true;
},
selectionChange(val) {
this.selectionList = val;
},
changeGoodsNo(event, index) {
let tmp = this.goodsData.find((item) => item.label == event);
let tmp = this.goodsData.find(item => item.label == event);
this.materialData[index].goodsName = tmp.value;
},
//
handleDelete() {
if (this.selectionList.length == 0) {
this.$message.error("请先选择数据");
this.$message.error('请先选择数据');
return;
}
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then((res) => {});
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(res => {});
},
deleteRow(row) {
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then((res) => {});
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(res => {});
},
tabPositionChange(val) {
if (val == "materialMaintenance") {
if (val == 'materialMaintenance') {
this.option.menu = false;
this.data = [
{
id: 1,
goodsNo: "0399-222-21",
goodsName: "物料一",
createUser: "李四",
createTime: "2023-08-20 11:23:25",
goodsNo: '0399-222-21',
goodsName: '物料一',
createUser: '李四',
createTime: '2023-08-20 11:23:25',
},
{
id: 2,
goodsNo: "0399-222-22",
goodsName: "物料二",
createUser: "李四",
createTime: "2023-08-20 11:23:25",
goodsNo: '0399-222-22',
goodsName: '物料二',
createUser: '李四',
createTime: '2023-08-20 11:23:25',
},
];
this.page.total = this.data.length;
@ -274,30 +267,30 @@ export default {
this.data = [
{
id: 1,
workCenter: "镀金大批量作业中心",
processVal: ["1", "2", "3"],
processTitle: "镀金、滚金、化学镀镍",
formulaMode: "1",
createUser: "张三",
createTime: "2023-11-20 11:23:25",
workCenter: '镀金大批量作业中心',
processVal: ['1', '2', '3'],
processTitle: '镀金、滚金、化学镀镍',
formulaMode: '1',
createUser: '张三',
createTime: '2023-11-20 11:23:25',
},
{
id: 2,
workCenter: "镀金大批量作业中心",
processVal: ["1", "3"],
processTitle: "镀金、化学镀镍",
formulaMode: "2",
createUser: "张三",
createTime: "2023-11-20 11:23:25",
workCenter: '镀金大批量作业中心',
processVal: ['1', '3'],
processTitle: '镀金、化学镀镍',
formulaMode: '2',
createUser: '张三',
createTime: '2023-11-20 11:23:25',
},
{
id: 3,
workCenter: "镀金大批量作业中心",
processVal: ["1", "2"],
processTitle: "镀金、滚金",
formulaMode: "1",
createUser: "张三",
createTime: "2023-11-20 11:23:25",
workCenter: '镀金大批量作业中心',
processVal: ['1', '2'],
processTitle: '镀金、滚金',
formulaMode: '1',
createUser: '张三',
createTime: '2023-11-20 11:23:25',
},
];
this.page.total = this.data.length;
@ -305,16 +298,16 @@ export default {
this.option.column = costColumnData[this.tabPosition];
},
maintainProcess(row) {
this.title = "维护";
this.title = '维护';
this.processData = [{ ...row }];
this.showDialog = true;
},
handleAdd() {
if (this.tabPosition == "materialMaintenance") {
if (this.tabPosition == 'materialMaintenance') {
this.materialData = [];
this.showMaterial = true;
} else {
this.title = "新增";
this.title = '新增';
this.processData = [];
this.showDialog = true;
}
@ -337,42 +330,42 @@ export default {
},
//
removeRow() {
let arr = this.materialData.filter((item) => item._select);
let arr = this.materialData.filter(item => item._select);
if (arr.length != 0) {
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
if (this.rowId) {
let deleteData = this.materialData.filter((item) => item._select);
this.deleteProcessArr = deleteData.filter((item) => item.tidId);
let deleteData = this.materialData.filter(item => item._select);
this.deleteProcessArr = deleteData.filter(item => item.tidId);
}
let deleteArr = this.materialData.filter((item) => !item._select);
let deleteArr = this.materialData.filter(item => !item._select);
this.materialData = deleteArr;
});
} else {
this.$message.error("请至少选择一条数据进行操作!");
this.$message.error('请至少选择一条数据进行操作!');
}
},
//
remove() {
let arr = this.processData.filter((item) => item._select);
let arr = this.processData.filter(item => item._select);
if (arr.length != 0) {
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
if (this.rowId) {
let deleteData = this.processData.filter((item) => item._select);
this.deleteProcessArr = deleteData.filter((item) => item.tidId);
let deleteData = this.processData.filter(item => item._select);
this.deleteProcessArr = deleteData.filter(item => item.tidId);
}
let deleteArr = this.processData.filter((item) => !item._select);
let deleteArr = this.processData.filter(item => !item._select);
this.processData = deleteArr;
});
} else {
this.$message.error("请至少选择一条数据进行操作!");
this.$message.error('请至少选择一条数据进行操作!');
}
},
handleSave() {
@ -383,30 +376,30 @@ export default {
this.data = [
{
id: 1,
workCenter: "镀金大批量作业中心",
processVal: ["1", "2", "3"],
processTitle: "镀金、滚金、化学镀镍",
formulaMode: "1",
createUser: "张三",
createTime: "2023-11-20 11:23:25",
workCenter: '镀金大批量作业中心',
processVal: ['1', '2', '3'],
processTitle: '镀金、滚金、化学镀镍',
formulaMode: '1',
createUser: '张三',
createTime: '2023-11-20 11:23:25',
},
{
id: 1,
workCenter: "镀金大批量作业中心",
processVal: ["1", "3"],
processTitle: "镀金、化学镀镍",
formulaMode: "2",
createUser: "张三",
createTime: "2023-11-20 11:23:25",
workCenter: '镀金大批量作业中心',
processVal: ['1', '3'],
processTitle: '镀金、化学镀镍',
formulaMode: '2',
createUser: '张三',
createTime: '2023-11-20 11:23:25',
},
{
id: 1,
workCenter: "镀金大批量作业中心",
processVal: ["1", "2"],
processTitle: "镀金、滚金",
formulaMode: "1",
createUser: "张三",
createTime: "2023-11-20 11:23:25",
workCenter: '镀金大批量作业中心',
processVal: ['1', '2'],
processTitle: '镀金、滚金',
formulaMode: '1',
createUser: '张三',
createTime: '2023-11-20 11:23:25',
},
];
this.page.total = this.data.length;

@ -1,15 +1,31 @@
<template>
<basic-container>
<!-- 科目费用维护 -->
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud"
@row-update="rowUpdate" @row-save="rowSave" @search-change="searchChange" @search-reset="searchReset"
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" @on-load="onLoad">
<avue-crud
:option="option"
:table-loading="loading"
:data="data"
v-model="form"
v-model:page="page"
ref="crud"
@row-update="rowUpdate"
@row-save="rowSave"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
>
<template #menu-left>
<el-button type="primary" icon="el-icon-plus" @click="handleAdd">新增</el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleDelete">删除</el-button>
<el-button type="success" icon="el-icon-upload" @click="handleImport">导入</el-button>
<el-button type="warning" icon="el-icon-s-finance" @click="handleCostCalculation">成本计算</el-button>
<el-button type="primary" @click="handleAdd">新增</el-button>
<el-button type="danger" @click="handleDelete">删除</el-button>
<el-button type="primary" @click="handleCostCalculation">成本计算</el-button>
</template>
<template #menu-right>
<el-button type="primary" @click="handleImport">导入</el-button>
</template>
<template #menu="scope">
@ -17,7 +33,13 @@
<el-button type="text" @click="maintainRow(scope.row)">维护</el-button>
</template>
</avue-crud>
<el-dialog append-to-body title="新增" :model-value="showAdd" @update:model-value="val => showAdd = val">
<el-dialog
append-to-body
title="新增"
:model-value="showAdd"
@update:model-value="val => (showAdd = val)"
width="25%"
>
<el-form ref="addForm" :model="addForm" :rules="addRules">
<el-form-item label="费用科目" prop="expenseAccount">
<el-input v-model="addForm.expenseAccount" placeholder="请输入费用科目"></el-input>
@ -31,11 +53,22 @@
</template>
</el-dialog>
<!-- 维护弹窗 -->
<el-dialog append-to-body :title="title" :model-value="showMaintain" @update:model-value="val => showMaintain = val">
<el-dialog
append-to-body
:title="title"
:model-value="showMaintain"
@update:model-value="val => (showMaintain = val)"
>
<el-form :inline="true" :model="maintainForm" ref="maintainForm" :rules="maintainRules">
<el-form-item label="月份" prop="month">
<el-date-picker v-model="maintainForm.month" type="month" placeholder="选择月份" format="YYYY年MM月"
value-format="YYYY-MM" :disabled="title == '详情'"></el-date-picker>
<el-date-picker
v-model="maintainForm.month"
type="month"
placeholder="选择月份"
format="YYYY年MM月"
value-format="YYYY-MM"
:disabled="title == '详情'"
></el-date-picker>
</el-form-item>
<el-form-item label="费用分配方式" prop="distributeType">
<el-radio-group v-model="maintainForm.distributeType" :disabled="title == '详情'">
@ -44,8 +77,12 @@
</el-radio-group>
</el-form-item>
<el-form-item label="总费用金额" prop="totalCost">
<el-input-number v-model="maintainForm.totalCost" controls-position="right" :min="1"
:disabled="title == '详情'"></el-input-number>
<el-input-number
v-model="maintainForm.totalCost"
controls-position="right"
:min="1"
:disabled="title == '详情'"
></el-input-number>
</el-form-item>
</el-form>
<el-table :data="tableData">
@ -53,14 +90,23 @@
<el-table-column label="作业中心" prop="workCenter"></el-table-column>
<el-table-column label="比例" prop="ratio">
<template #default="scope">
<el-input-number v-model="scope.row.ratio" controls-position="right" :min="1" :max="100"
:disabled="title == '详情'"></el-input-number>
<el-input-number
v-model="scope.row.ratio"
controls-position="right"
:min="1"
:max="100"
:disabled="title == '详情'"
></el-input-number>
</template>
</el-table-column>
<el-table-column label="费用金额(元)" prop="money">
<template #default="scope">
<el-input-number v-model="scope.row.money" controls-position="right" :min="1"
:disabled="title == '详情'"></el-input-number>
<el-input-number
v-model="scope.row.money"
controls-position="right"
:min="1"
:disabled="title == '详情'"
></el-input-number>
</template>
</el-table-column>
</el-table>
@ -72,12 +118,24 @@
</template>
</el-dialog>
<!-- 导入 -->
<basic-import v-if="isShowImport" title="导入" :isShow="isShowImport"
templateUrl="/blade-desk/QA/CycleTestItem/download-excel-template" templateName="试验项目模板.xls"
importUrl="/blade-desk/QA/CycleTestItem/import-excel" @closeDialog="closeDialog"></basic-import>
<basic-import
v-if="isShowImport"
title="导入"
:isShow="isShowImport"
templateUrl="/blade-desk/QA/CycleTestItem/download-excel-template"
templateName="试验项目模板.xls"
importUrl="/blade-desk/QA/CycleTestItem/import-excel"
@closeDialog="closeDialog"
></basic-import>
<!-- 成本计算月份选择弹窗 -->
<el-dialog append-to-body title="成本计算" :model-value="showCostCalculation" @update:model-value="val => showCostCalculation = val" width="400px">
<el-dialog
append-to-body
title="成本计算"
:model-value="showCostCalculation"
@update:model-value="val => (showCostCalculation = val)"
width="400px"
>
<el-form ref="costForm" :model="costForm" :rules="costRules">
<el-form-item label="选择月份" prop="month">
<el-date-picker
@ -101,7 +159,7 @@
</template>
<script>
import basicImport from '@/components/basic-import/main.vue'
import basicImport from '@/components/basic-import/main.vue';
export default {
components: {
basicImport,
@ -111,29 +169,29 @@ export default {
isShowImport: false,
data: [],
form: {},
distributeType: "",
distributeType: '',
loading: false,
showAdd: false,
title: "详情",
title: '详情',
tableData: [],
addForm: {},
selectionList: [],
showMaintain: false,
showCostCalculation: false,
costForm: {
month: ''
month: '',
},
costRules: {
month: [{ required: true, message: "请选择月份", trigger: "change" }]
month: [{ required: true, message: '请选择月份', trigger: 'change' }],
},
calculatedMonths: ['2023-10', '2023-11'], //
addRules: {
expenseAccount: [{ required: true, message: "请输入费用科目", trigger: "blur" }],
expenseAccount: [{ required: true, message: '请输入费用科目', trigger: 'blur' }],
},
maintainForm: {},
maintainRules: {
month: [{ required: true, message: "请选择月份", trigger: "change" }],
totalCost: [{ required: true, message: "请输入总费用金额", trigger: "blur" }],
month: [{ required: true, message: '请选择月份', trigger: 'change' }],
totalCost: [{ required: true, message: '请输入总费用金额', trigger: 'blur' }],
},
page: {
pageSize: 10,
@ -141,12 +199,12 @@ export default {
total: 0,
},
option: {
height: "auto",
height: 'auto',
calcHeight: 32,
tip: false,
simplePage: true,
searchShow: true,
searchMenuSpan: 6,
searchMenuSpan: 18,
searchIcon: true,
searchIndex: 3,
tree: false,
@ -157,14 +215,13 @@ export default {
delBtn: false,
addBtn: false,
editBtn: false,
editBtnText: "修改",
viewBtnIcon: " ",
delBtnIcon: " ",
editBtnIcon: " ",
viewBtnText: "详情",
editBtnText: '修改',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
viewBtnText: '详情',
labelWidth: 120,
searchLabelWidth: 120,
menuWidth: 220,
menuWidth: 100,
dialogWidth: 1200,
dialogClickModal: false,
searchEnter: true,
@ -176,92 +233,92 @@ export default {
columnSort: true,
index: false,
showOverflowTooltip: true,
searchLabelPosition: "left",
searchLabelPosition: "left",
searchLabelPosition: 'left',
searchLabelPosition: 'left',
searchGutter: 24,
searchSpan: 6,
menuAlign: "left",
menuAlign: 'left',
gridBtn: false,
searchMenuPosition: "right",
addBtnIcon: " ",
viewBtnIcon: " ",
delBtnIcon: " ",
editBtnIcon: " ",
align: "center",
searchMenuPosition: 'right',
addBtnIcon: ' ',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
align: 'center',
column: [
{
label: "费用科目",
prop: "expenseAccount",
label: '费用科目',
prop: 'expenseAccount',
search: true,
sortable: true,
overHidden: true,
rules: [
{
required: true,
message: "请输入费用科目",
trigger: "blur",
message: '请输入费用科目',
trigger: 'blur',
},
],
},
{
label: "分配方式",
prop: "distributeType",
type: "select",
label: '分配方式',
prop: 'distributeType',
type: 'select',
search: false,
sortable: true,
overHidden: true,
rules: [
{
required: true,
message: "请输入分配方式",
trigger: "blur",
message: '请输入分配方式',
trigger: 'blur',
},
],
dicData: [
{ label: "按金额", value: "1" },
{ label: "按比例", value: "2" },
{ label: '按金额', value: '1' },
{ label: '按比例', value: '2' },
],
},
{
label: "费用总金额(元)",
prop: "totalCost",
label: '费用总金额(元)',
prop: 'totalCost',
search: false,
sortable: true,
overHidden: true,
rules: [
{
required: true,
message: "请输入费用总金额(元)",
trigger: "blur",
message: '请输入费用总金额(元)',
trigger: 'blur',
},
],
},
{
label: "操作人",
prop: "createUser",
label: '操作人',
prop: 'createUser',
search: false,
sortable: true,
overHidden: true,
rules: [
{
required: true,
message: "请输入操作人",
trigger: "blur",
message: '请输入操作人',
trigger: 'blur',
},
],
},
{
label: "更新时间",
prop: "updateTime",
label: '更新时间',
prop: 'updateTime',
search: false,
sortable: true,
overHidden: true,
rules: [
{
required: true,
message: "请输入更新时间",
trigger: "blur",
message: '请输入更新时间',
trigger: 'blur',
},
],
},
@ -269,11 +326,11 @@ export default {
},
};
},
mounted() { },
mounted() {},
methods: {
//
handleImport() {
this.isShowImport = true
this.isShowImport = true;
},
//
selectionChange(val) {
@ -282,14 +339,14 @@ export default {
//
handleDelete() {
if (this.selectionList.length == 0) {
this.$message.error("请先选择数据");
this.$message.error('请先选择数据');
return;
}
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then((res) => { });
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(res => {});
},
//
handleAdd() {
@ -297,7 +354,7 @@ export default {
},
//
submitAdd() {
this.$refs.addForm.validate((valid) => {
this.$refs.addForm.validate(valid => {
if (valid) {
this.showAdd = false;
}
@ -305,7 +362,7 @@ export default {
},
//
submitMaintain() {
this.$refs.maintainForm.validate((valid) => {
this.$refs.maintainForm.validate(valid => {
if (valid) {
this.showMaintain = false;
}
@ -313,14 +370,14 @@ export default {
},
//
viewRow(row) {
this.title = "详情";
this.title = '详情';
this.maintainForm = { ...row, month: row.month || this.getCurrentMonth() };
this.tableData = row.tableData;
this.showMaintain = true;
},
//
maintainRow(row) {
this.title = "维护";
this.title = '维护';
this.maintainForm = { ...row, month: row.month || this.getCurrentMonth() };
this.tableData = row.tableData;
this.showMaintain = true;
@ -339,26 +396,28 @@ export default {
},
//
submitCostCalculation() {
this.$refs.costForm.validate((valid) => {
this.$refs.costForm.validate(valid => {
if (valid) {
const selectedMonth = this.costForm.month;
const year = selectedMonth.split('-')[0];
const month = selectedMonth.split('-')[1];
//
if (this.calculatedMonths.includes(selectedMonth)) {
this.$confirm(`${year}${month}月已计算成本,是否重新计算?`, {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.performCostCalculation(selectedMonth);
}).catch(() => {
this.$message({
type: 'info',
message: '已取消成本计算'
});
});
type: 'warning',
})
.then(() => {
this.performCostCalculation(selectedMonth);
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消成本计算',
});
});
} else {
this.performCostCalculation(selectedMonth);
}
@ -370,19 +429,19 @@ export default {
// API
this.$message({
type: 'success',
message: `${month}成本计算中,请稍候...`
message: `${month}成本计算中,请稍候...`,
});
setTimeout(() => {
//
if (!this.calculatedMonths.includes(month)) {
this.calculatedMonths.push(month);
}
this.showCostCalculation = false;
this.$message({
type: 'success',
message: `${month}成本计算完成`
message: `${month}成本计算完成`,
});
}, 2000);
},
@ -390,41 +449,41 @@ export default {
this.data = [
{
id: 1,
expenseAccount: "房租补贴",
distributeType: "1",
expenseAccount: '房租补贴',
distributeType: '1',
totalCost: 1000,
createUser: "张三",
updateTime: "2016-09-21 08:50:08",
createUser: '张三',
updateTime: '2016-09-21 08:50:08',
tableData: [
{ workCenter: "作业中心一", ratio: 40, money: 400 },
{ workCenter: "作业中心二", ratio: 30, money: 300 },
{ workCenter: "作业中心三", ratio: 30, money: 300 },
{ workCenter: '作业中心一', ratio: 40, money: 400 },
{ workCenter: '作业中心二', ratio: 30, money: 300 },
{ workCenter: '作业中心三', ratio: 30, money: 300 },
],
},
{
id: 2,
expenseAccount: "电话费",
distributeType: "2",
expenseAccount: '电话费',
distributeType: '2',
totalCost: 1000,
createUser: "张三",
updateTime: "2016-09-21 08:50:08",
createUser: '张三',
updateTime: '2016-09-21 08:50:08',
tableData: [
{ workCenter: "作业中心一", ratio: 20, money: 200 },
{ workCenter: "作业中心二", ratio: 50, money: 500 },
{ workCenter: "作业中心三", ratio: 30, money: 300 },
{ workCenter: '作业中心一', ratio: 20, money: 200 },
{ workCenter: '作业中心二', ratio: 50, money: 500 },
{ workCenter: '作业中心三', ratio: 30, money: 300 },
],
},
{
id: 3,
expenseAccount: "差旅费",
distributeType: "1",
expenseAccount: '差旅费',
distributeType: '1',
totalCost: 1000,
createUser: "张三",
updateTime: "2016-09-21 08:50:08",
createUser: '张三',
updateTime: '2016-09-21 08:50:08',
tableData: [
{ workCenter: "作业中心一", ratio: 15, money: 150 },
{ workCenter: "作业中心二", ratio: 35, money: 350 },
{ workCenter: "作业中心三", ratio: 50, money: 500 },
{ workCenter: '作业中心一', ratio: 15, money: 150 },
{ workCenter: '作业中心二', ratio: 35, money: 350 },
{ workCenter: '作业中心三', ratio: 50, money: 500 },
],
},
];

@ -3,12 +3,7 @@
<!-- 成本统计 -->
<el-form :inline="true" :model="searchForm">
<el-form-item label="月份">
<el-date-picker
v-model="searchForm.monthDate"
type="month"
placeholder="选择月"
required
>
<el-date-picker v-model="searchForm.monthDate" type="month" placeholder="选择月" required>
</el-date-picker>
</el-form-item>
<el-form-item>
@ -40,7 +35,9 @@
<el-button type="primary" @click="openCostCalcDialog">成本计算</el-button>
<!-- <el-button type="primary" @click="isLockClick">锁定/解锁</el-button> -->
<el-button type="danger" @click="handleDelete">删除</el-button>
<el-button type="success">导出</el-button>
</template>
<template #menu-right>
<el-button type="primary">导出</el-button>
</template>
<!-- <template #wcCode="{ row }">{{ row.saCostConfig.bsWorkCenter.wcCode }}</template>
@ -64,20 +61,23 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
style="margin-top: 46px; margin-left: 12px"
style="margin-top: 30px; margin-left: 12px"
></avue-crud>
</el-col>
</el-row>
<el-dialog
:modelValue="openShow"
title="提示"
width="400px"
<el-dialog
:modelValue="openShow"
title="提示"
width="400px"
:close-on-click-modal="false"
class="cost-confirm-dialog"
>
<div class="dialog-content">
<i class="el-icon-warning"></i>
<p><span class="month-highlight">{{ selectMonth }}</span>月已计算成本是否重新计算</p>
<p>
<span class="month-highlight">{{ selectMonth }}</span
>月已计算成本是否重新计算
</p>
</div>
<template #footer>
<div class="dialog-footer">
@ -105,10 +105,9 @@ export default {
total: 0,
},
option: {
height: "auto",
height: 'auto',
calcHeight: 32,
tip: false,
size: "medium",
simplePage: true,
searchShow: true,
searchMenuSpan: 6,
@ -122,8 +121,8 @@ export default {
delBtn: false,
addBtn: false,
editBtn: false,
editBtnText: "修改",
viewBtnText: "详情",
editBtnText: '修改',
viewBtnText: '详情',
labelWidth: 120,
searchLabelWidth: 120,
menu: false,
@ -139,88 +138,87 @@ export default {
columnSort: true,
index: false,
showOverflowTooltip: true,
searchLabelPosition: "left",
searchLabelPosition: "left",
searchLabelPosition: 'left',
searchGutter: 24,
searchSpan: 6,
menuAlign: "left",
menuAlign: 'left',
gridBtn: false,
searchMenuPosition: "right",
addBtnIcon: " ",
viewBtnIcon: " ",
delBtnIcon: " ",
editBtnIcon: " ",
align: "center",
searchMenuPosition: 'right',
addBtnIcon: ' ',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
align: 'center',
column: [
{
label: "作业中心",
prop: "wcName",
label: '作业中心',
prop: 'wcName',
search: false,
sortable: true,
sortable: false,
overHidden: true,
},
{
label: "月份",
prop: "month",
label: '月份',
prop: 'month',
search: false,
sortable: true,
sortable: false,
overHidden: true,
},
{
label: "制造费用(元)",
prop: "drainCosts",
label: '制造费用(元)',
prop: 'drainCosts',
search: false,
sortable: true,
sortable: false,
overHidden: true,
width: 130,
width: 100,
},
{
label: "作业中心材料费用(元)",
prop: "materialCosts",
label: '作业中心材料费用(元)',
prop: 'materialCosts',
search: false,
sortable: true,
sortable: false,
overHidden: true,
width: 200,
width: 160,
},
{
label: "辅助人员材料费用(元)",
prop: "materialCosts1",
label: '辅助人员材料费用(元)',
prop: 'materialCosts1',
search: false,
width: 200,
sortable: true,
width: 160,
sortable: false,
overHidden: true,
},
{
label: "单位成本(元)",
prop: "unitCost",
label: '单位成本(元)',
prop: 'unitCost',
search: false,
sortable: true,
sortable: false,
overHidden: true,
width: 130,
width: 120,
},
{
label: "月度产出(dm²)",
prop: "monthlyOutput",
label: '月度产出(dm²)',
prop: 'monthlyOutput',
search: false,
width: 150,
sortable: true,
width: 120,
sortable: false,
overHidden: true,
},
{
label: "月度产出(v)",
prop: "volumeOutput2",
label: '月度产出(v)',
prop: 'volumeOutput2',
search: false,
sortable: true,
sortable: false,
overHidden: true,
},
],
},
detailsOption: {
height: "auto",
height: 'auto',
calcHeight: 32,
tip: false,
size: "medium",
size: 'medium',
simplePage: true,
searchShow: true,
searchMenuSpan: 6,
@ -234,8 +232,8 @@ export default {
delBtn: false,
addBtn: false,
editBtn: false,
editBtnText: "修改",
viewBtnText: "详情",
editBtnText: '修改',
viewBtnText: '详情',
labelWidth: 120,
searchLabelWidth: 120,
menu: false,
@ -251,34 +249,34 @@ export default {
columnSort: true,
index: false,
showOverflowTooltip: true,
searchLabelPosition: "left",
searchLabelPosition: "left",
searchLabelPosition: 'left',
searchLabelPosition: 'left',
searchGutter: 24,
searchSpan: 6,
menuAlign: "left",
menuAlign: 'left',
gridBtn: false,
searchMenuPosition: "right",
addBtnIcon: " ",
viewBtnIcon: " ",
delBtnIcon: " ",
editBtnIcon: " ",
align: "center",
searchMenuPosition: 'right',
addBtnIcon: ' ',
viewBtnIcon: ' ',
delBtnIcon: ' ',
editBtnIcon: ' ',
align: 'center',
menu: false,
header: false,
column: [
{
label: "类型",
prop: "wcCode",
label: '类型',
prop: 'wcCode',
search: false,
sortable: true,
sortable: false,
overHidden: true,
},
{
label: "金额",
prop: "wcCode1",
label: '金额',
prop: 'wcCode1',
search: false,
sortable: true,
sortable: false,
overHidden: true,
},
],
@ -288,50 +286,50 @@ export default {
mounted() {},
methods: {
openCostCalcDialog() {
this.openShow = true
this.openShow = true;
},
CloseDialog() {
this.openShow = false
this.openShow = false;
},
handleRecalculate() {
this.$message.success("重新计算成功")
this.openShow = false
this.$message.success('重新计算成功');
this.openShow = false;
},
selectionChange(val) {
this.selectionList = val;
},
isLockClick() {
if (this.selectionList.length == 0) {
this.$message.error("请先选择数据");
this.$message.error('请先选择数据');
return;
}
},
handleDelete() {
if (this.selectionList.length == 0) {
this.$message.error("请先选择数据");
this.$message.error('请先选择数据');
return;
}
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
this.$confirm('确定将选择数据删除?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {});
},
onLoad() {
this.data = [
{
id: 1,
wcName: "作业中心1",
month: "2025-3",
wcName: '作业中心1',
month: '2025-3',
materialCosts: 99,
materialCosts1: 0,
unitCost: "89",
unitCost: '89',
monthlyOutput: 0,
volumeOutput: "9",
drainCosts: "99",
volumeOutput2: "90",
wcCode: "类型1",
wcCode1: "4",
volumeOutput: '9',
drainCosts: '99',
volumeOutput2: '90',
wcCode: '类型1',
wcCode1: '4',
},
];
},

@ -1,3 +1,27 @@
<template>
<div>电子档案维护</div>
</template>
<basic-container>
<el-tabs v-model="activeName" class="demo-tabs">
<el-tab-pane label="表处理模块" name="tableProcessing"></el-tab-pane>
<el-tab-pane label="烧结特定模块" name="sintering"></el-tab-pane>
</el-tabs>
<tableProcessing v-if="activeName=='tableProcessing'"></tableProcessing>
<sintering v-if="activeName=='sintering'"></sintering>
</basic-container>
</template>
<script>
import tableProcessing from './tableProcessing.vue';
import sintering from './sintering.vue';
export default {
components: {
tableProcessing,
sintering,
},
data() {
return {
activeName: 'tableProcessing',
};
},
};
</script>
<style lang="scss" scoped>
</style>

@ -0,0 +1,89 @@
<template>
<div>
<el-form ref="form" inline @submit.native.prevent>
<el-row>
<el-col :span="8">
<el-form-item label="流程卡号:" label-width="100px">
<el-input
ref="codeFocus"
v-model="cardNo"
placeholder="请扫描流程卡号"
@keyup.enter.native="codeKeyUp"
style="width: 220px"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item v-limits="'RB250906'" label="设备编码:" prop="ecId">
<!-- <equipment-card v-model="ecId" clearable /> -->
</el-form-item>
</el-col>
<el-form-item>
<el-button
v-limits="'RB251905'"
:disabled="qcProduceRunList.length == 0"
style="margin-top: 4px"
type="primary"
@click="onSubmit"
>保存</el-button
>
</el-form-item>
<el-form-item>
<el-button
v-limits="'RB251907'"
:disabled="!wpId"
style="margin-top: 4px"
type="danger"
@click="deletedFun"
>删除</el-button
>
</el-form-item>
</el-row>
</el-form>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span style="color: rgb(85, 85, 243)">绑定数据</span>
<el-button
v-limits="'RB250906'"
v-if="wpId"
style="float: right; padding: 3px 0"
type="text"
@click="insertEvent"
>新增记录</el-button
>
</div>
</el-card>
</div>
</template>
<script>
export default {
data() {
return {
cardNo: '',
qcProduceRunList: [],
prWorkPlanList: [],
isOpen: false,
itemObj: { procedureSet: {} },
mtnCode: null,
wpId: null,
recOpen: false,
recList: [],
rfpId: null,
dsRbFilePreserveList: [],
ecId: null,
lineType: null,
};
},
methods: {
async codeKeyUp() {
if (this.cardNo) {
// const res = await this.$ajax.get('prWorkPlan/getWorkOrderProcess/' + this.cardNo);
// if (this.$ifAjax(res)) {
// this.prWorkPlanList = res.data;
// this.isOpen = true;
// }
}
},
},
};
</script>

@ -0,0 +1,124 @@
<template>
<div>
<el-form ref="form" inline @submit.native.prevent>
<el-row>
<el-col :span="8">
<el-form-item label="流程卡号:" label-width="100px">
<el-input
ref="codeFocus"
v-model="cardNo"
placeholder="请扫描流程卡号"
@keyup.enter.native="codeKeyUp"
style="width: 220px;"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="模板:" prop="rfpId">
<el-select
v-model="rfpId"
clearable
placeholder="请选择"
@change="rbFilePreserveChange"
style="width: 220px;"
>
<el-option
v-for="item in dsRbFilePreserveList"
:key="item.rfpId"
:label="item.name"
:value="item.rfpId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="设备编码:" prop="ecId">
<!-- <equipment-card v-model="ecId" clearable /> -->
</el-form-item>
</el-col>
<el-col :span="24">
<el-radio v-model="lineType" :label="2">自动线</el-radio>
<el-radio v-model="lineType" :label="1">上线前</el-radio>
<el-radio v-model="lineType" :label="3">下线后</el-radio>
<el-button
v-limits="'RB251902'"
:disabled="preserveSlotList.length == 0"
style="margin-top: 4px"
type="primary"
@click="onSubmit"
>保存</el-button
>
<el-button
v-limits="'RB251904'"
:disabled="!wpId"
style="margin-top: 4px"
type="danger"
@click="deletedFun"
>删除</el-button
>
</el-col>
<el-col :span="8"> </el-col>
</el-row>
</el-form>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span style="color: rgb(85, 85, 243)">电子档案</span>
</div>
<div class="tableBox"></div>
</el-card>
</div>
</template>
<script>
export default {
data() {
return {
cardNo: '',
preserveSlotList: [],
prWorkPlanList: [],
isOpen: false,
itemObj: {},
mtnCode: null,
wpId: null,
recOpen: false,
recList: [],
rfpId: null,
dsRbFilePreserveList: [],
ecId: null,
lineType: null,
};
},
methods: {
//
async getRbFilePreserve(wpId) {
// const res = await this.$ajax.post(
// 'dsRbFilePreserve/getRbFilePreserveByWpId',
// {
// wpId
// }
// );
// if (this.$ifAjax(res)) {
// this.dsRbFilePreserveList = res.data;
// }
},
//
async codeKeyUp() {
if (this.cardNo) {
// const res = await this.$ajax.get('prWorkPlan/getWorkOrderProcess/' + this.cardNo);
// if (this.$ifAjax(res)) {
// this.prWorkPlanList = res.data;
// this.isOpen = true;
// }
}
},
//
async rbFilePreserveChange() {
// const res = await this.$ajax.get('dsRbFilePreserveSlot/getByRfpId/' + this.rfpId);
// if (this.$ifAjax(res)) {
// this.mtnCode = null;
// const { preserveSlotList } = res.data;
// this.preserveSlotList = preserveSlotList;
// }
},
},
};
</script>

@ -0,0 +1,217 @@
<template>
<div>
<el-form ref="form" inline @submit.native.prevent>
<el-row>
<el-col :span="5">
<el-form-item label="流程卡号:">
<el-input
ref="codeFocus"
v-model="cardNo"
placeholder="请扫描流程卡号"
@keyup.enter.native="codeKeyUp"
/>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="同槽编号:">
<el-input
ref="codeFocus"
v-model="mtnCode"
placeholder="请扫描同槽编号"
@keyup.enter.native="codeKeyUpMtnCode"
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item style="margin: 0px 20px 0px 20px">
<el-switch v-model="line" active-text="上线前" inactive-text="下线后" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button
:disabled="wpList.length == 0"
style="margin-top: 4px"
type="primary"
@click="onSubmit"
>保存</el-button
>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table :data="wpList" :export-excel="false" :height="400" border>
<el-table-column type="index" width="50px" align="center" />
<el-table-column label="车间订单号" align="center" prop="poCode" />
<el-table-column label="产品号" align="center" prop="partCode" />
<el-table-column label="批次号" align="center" prop="batchNo" />
<el-table-column label="当前工序" align="center" prop="currentWpTitle" />
<el-table-column align="center" width="100" fixed="right" label="操作">
<template #scope="scope">
<el-button type="text" size="mini" @click="deleteRow(scope.row.currentWpId)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span style="color: rgb(85, 85, 243)">维护电子档案</span>
</div>
<el-form ref="form" :model="formData" :rules="rulesMold" inline>
<el-row>
<el-col :span="6">
<el-form-item label="设备编码:" prop="ecId">
<!-- <equipment-card v-model="formData.ecId" clearable /> -->
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="模板:" prop="rfpId">
<el-select
v-model="formData.rfpId"
clearable
placeholder="请选择"
@change="rbFilePreserveChange"
style="width: 220px"
>
<el-option
v-for="item in dsRbFilePreserveList"
:key="item.rfpId"
:label="item.name"
:value="item.rfpId"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
</div>
</template>
<script>
export default {
data() {
return {
cardNo: '',
mtnCode: '',
dsRbFilePreserveList: [],
preserveSlotList: [],
wpList: [],
line: true,
formData: { ecId: null, rfpId: null },
rulesMold: {
// ecId: [this.$validation.required],
// rfpId: [this.$validation.required],
},
};
},
methods: {
codeKeyUp() {
if (this.cardNo) {
this.commonMethod(this.cardNo);
}
},
commonMethod(item) {
if (item) {
// this.$ajax.get('prMakeRec/loadCurrentWp/' + item).then(res => {
// if (this.$ifAjax(res)) {
// const obj = this.wpList.find(item => {
// return item.currentWpId == res.data.currentWpId;
// });
// if (obj != null) {
// return this.$message.warning('');
// }
// this.dsRbFilePreserveList = [];
// this.wpList.push(res.data);
// this.getRbFilePreserve(res.data.currentWpId);
// }
// });
}
},
codeKeyUpMtnCode() {
if (this.mtnCode) {
// this.$ajax.get('prMacToolUse/loadPrMacToolUseByMtnCode/' + this.mtnCode).then((res) => {
// if (this.$ifAjax(res)) {
// console.log(res);
// const list = res.data;
// for(var i =0;i < list.length; i++){
// this.commonMethod(list[i]);
// }
// }
// });
}
},
//
deleteRow(currentWpId) {
this.wpList.forEach((item, index) => {
if (item.currentWpId === currentWpId) {
this.wpList.splice(index, 1);
}
});
},
//
onSubmit() {
this.$refs.form.validate(valid => {
if (valid) {
const wpIdList = [];
this.wpList.forEach(item => {
wpIdList.push(item.currentWpId);
});
// this.$ajax
// .post('prMakeRec/saveRetrospectDefend', {
// wpIdList,
// ecId: this.formData.ecId,
// rfpId: this.formData.rfpId,
// line: this.line,
// preserveSlotList: this.preserveSlotList,
// })
// .then(res => {
// if (this.$ifAjax(res)) {
// this.$message.success(this.$t('global.saveOk'));
// this.$refs.form.resetFields();
// this.formData = {};
// this.cardNo = '';
// this.wpList = [];
// this.preserveSlotList = [];
// }
// });
}
});
},
},
};
</script>
<style lang="scss" scoped>
.tableBox {
height: 430px;
overflow: auto;
padding-bottom: 30px;
table {
tr {
page-break-inside: avoid;
}
td {
width: 168px;
height: 30px;
border: 1px solid #000;
background: transparent;
color: #000;
font-size: 14px;
text-align: center;
// padding: 0;
// margin: 0;
// /deep/ .el-input__inner {
// text-align: center;
// height: 26px !important;
// width: 80% !important;
// }
}
}
}
.box-card {
margin-top: 10px !important;
}
</style>

@ -0,0 +1,74 @@
<template>
<div>
<el-form ref="form" inline @submit.native.prevent>
<el-row>
<el-col :span="6">
<el-form-item label="流程卡号:">
<el-input
ref="codeFocus"
v-model="cardNo"
placeholder="请扫描流程卡号"
@keyup.enter.native="codeKeyUp"
/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item style="margin: 0px 20px 0px 20px">
<el-switch v-model="line" active-text="上线前" inactive-text="下线后" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button
:disabled="preserveSlotList.length == 0"
style="margin-top: 4px"
type="primary"
@click="onSubmit"
>保存</el-button
>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span style="color: rgb(85, 85, 243)">电子档案</span>
</div>
</el-card>
</div>
</template>
<script>
export default {
data() {
return {
cardNo: '',
preserveSlotList: [],
line: true,
obj: {},
};
},
methods: {
codeKeyUp() {
if (this.cardNo) {
// this.$ajax
// .post('prMakeRec/remarryRedeemRetrospectDefend', {
// cardNo: this.cardNo,
// line: this.line
// })
// .then((res) => {
// if (this.$ifAjax(res)) {
// if (
// res.data != null &&
// res.data.dsRbFilePreserveSlotList.length <= 0
// ) {
// return this.$message.warning('');
// }
// this.preserveSlotList = res.data.dsRbFilePreserveSlotList;
// this.obj = res.data;
// }
// });
}
},
},
};
</script>

@ -1,7 +1,34 @@
<template>
<basic-container>生产追溯维护</basic-container>
<basic-container>
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane label="首次维护" name="oneRetrospectDefend"></el-tab-pane>
<el-tab-pane label="后续维护" name="twoRetrospectDefend"></el-tab-pane>
</el-tabs>
<oneRetrospectDefend v-if="activeName == 'oneRetrospectDefend'"></oneRetrospectDefend>
<twoRetrospectDefend v-if="activeName == 'twoRetrospectDefend'"></twoRetrospectDefend>
</basic-container>
</template>
<script>
import oneRetrospectDefend from './components/oneRetrospectDefend.vue';
import twoRetrospectDefend from './components/twoRetrospectDefend.vue';
export default {
components: {
oneRetrospectDefend,
twoRetrospectDefend,
},
data() {
return {
activeName: 'oneRetrospectDefend',
};
},
methods: {
handleClick() {
if (this.activeName === 'twoRetrospectDefend') {
this.$refs.listRef.loadData();
}
},
},
};
</script>
<style lang="scss" scoped>

Loading…
Cancel
Save