|
|
|
|
@ -15,17 +15,17 @@ |
|
|
|
|
class="demo-ruleForm" |
|
|
|
|
> |
|
|
|
|
<el-row :gutter="24"> |
|
|
|
|
<el-col :span="8"> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="模板编码:" prop="code"> |
|
|
|
|
<el-input v-model="ruleForm.code"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="8"> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="模板名称:" prop="name"> |
|
|
|
|
<el-input v-model="ruleForm.name"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="8"> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="模板类型:" prop="templateType"> |
|
|
|
|
<el-select v-model="ruleForm.templateType" placeholder="请选择" clearable filterable> |
|
|
|
|
<el-option |
|
|
|
|
@ -37,7 +37,7 @@ |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="8"> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="作业中心:" prop="workCenterId"> |
|
|
|
|
<el-select v-model="ruleForm.workCenterId" placeholder="请选择" clearable filterable> |
|
|
|
|
<el-option v-for="item in workCenterList" :label="item.wcName" :value="item.id"> |
|
|
|
|
@ -45,7 +45,7 @@ |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="8"> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="镀种分类:" prop="platingType"> |
|
|
|
|
<el-select v-model="ruleForm.platingType" placeholder="请选择" clearable filterable> |
|
|
|
|
<el-option |
|
|
|
|
@ -57,145 +57,264 @@ |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="8"> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="优先级:" prop="priority"> |
|
|
|
|
<el-input-number |
|
|
|
|
v-model="ruleForm.priority" |
|
|
|
|
controls-position="right" |
|
|
|
|
@change="handleChange" |
|
|
|
|
:min="1" |
|
|
|
|
:max="10" |
|
|
|
|
></el-input-number> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="16"> |
|
|
|
|
<el-col :span="8"> |
|
|
|
|
<el-form-item label="备注:" prop="remarks"> |
|
|
|
|
<el-input v-model="ruleForm.remarks" type="textarea" :rows="3"></el-input> |
|
|
|
|
<el-input v-model="ruleForm.remarks" type="textarea" :rows="2"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<div class="process-box"> |
|
|
|
|
<div class="process-left"> |
|
|
|
|
<el-tree |
|
|
|
|
:data="treeData" |
|
|
|
|
:props="defaultProps" |
|
|
|
|
@node-click="handleNodeClick" |
|
|
|
|
:default-expand-all="true" |
|
|
|
|
:expand-on-click-node="false" |
|
|
|
|
/> |
|
|
|
|
</div> |
|
|
|
|
<div class="process-right"> |
|
|
|
|
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> |
|
|
|
|
<el-tab-pane label="工序" name="1" v-if="treeLeave == 1"></el-tab-pane> |
|
|
|
|
<el-tab-pane label="项目" name="2" v-if="treeLeave == 2"></el-tab-pane> |
|
|
|
|
</el-tabs> |
|
|
|
|
<div style="margin-bottom: 12px" v-if="moldAddMore"> |
|
|
|
|
<el-button type="primary" @click="addTable">插入一行</el-button> |
|
|
|
|
<el-button type="danger" @click="delTable">删除选择行</el-button> |
|
|
|
|
</div> |
|
|
|
|
<!-- 全局错误提示 --> |
|
|
|
|
<div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px"> |
|
|
|
|
{{ formError }} |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div style="margin-bottom: 12px" v-if="moldAddMore"> |
|
|
|
|
<el-button type="primary" @click="addTable">插入一行</el-button> |
|
|
|
|
<el-button type="danger" @click="delTable">删除行</el-button> |
|
|
|
|
<el-table v-if="activeName == '1'" :data="ruleForm.tableData" style="width: 100%"> |
|
|
|
|
<el-table-column type="selection" width="55"> </el-table-column> |
|
|
|
|
<el-table-column prop="processNo" label="工序号" align="left"> |
|
|
|
|
<template #header> |
|
|
|
|
<span><i style="color: red">*</i>工序号</span> |
|
|
|
|
</template> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-form-item |
|
|
|
|
:prop="`tableData[${scope.$index}].processNo`" |
|
|
|
|
:rules="rules.tableData.processNo" |
|
|
|
|
label-width="0" |
|
|
|
|
> |
|
|
|
|
<el-input v-model="scope.row.processNo" placeholder="请输入内容"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="processCode" label="工序名称" align="left"> |
|
|
|
|
<template #header> |
|
|
|
|
<span><i style="color: red">*</i>工序名称</span> |
|
|
|
|
</template> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-form-item |
|
|
|
|
:prop="`tableData[${scope.$index}].processCode`" |
|
|
|
|
:rules="rules.tableData.processCode" |
|
|
|
|
label-width="0" |
|
|
|
|
> |
|
|
|
|
<el-select |
|
|
|
|
v-model="scope.row.processCode" |
|
|
|
|
placeholder="请选择" |
|
|
|
|
@change="processChange(scope.row, scope.$index)" |
|
|
|
|
clearable |
|
|
|
|
filterable |
|
|
|
|
> |
|
|
|
|
<el-option |
|
|
|
|
v-for="(item, index) in processList" |
|
|
|
|
:label="item.name" |
|
|
|
|
:value="item.id" |
|
|
|
|
> |
|
|
|
|
</el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="craftCode" label="工艺能力" align="left"> |
|
|
|
|
<template #header> |
|
|
|
|
<span><i style="color: red">*</i>工艺能力</span> |
|
|
|
|
</template> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-form-item |
|
|
|
|
:prop="`tableData[${scope.$index}].craftCode`" |
|
|
|
|
:rules="rules.tableData.craftCode" |
|
|
|
|
label-width="0" |
|
|
|
|
> |
|
|
|
|
<el-select |
|
|
|
|
v-model="scope.row.craftCode" |
|
|
|
|
placeholder="请选择" |
|
|
|
|
clearable |
|
|
|
|
filterable |
|
|
|
|
> |
|
|
|
|
<el-option v-for="item in craftCodeList" :label="item.name" :value="item.id"> |
|
|
|
|
</el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="workHours" label="工时(分钟)" align="left"> |
|
|
|
|
<template #header> |
|
|
|
|
<span><i style="color: red">*</i>工时(分钟)</span> |
|
|
|
|
</template> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-form-item |
|
|
|
|
:prop="`tableData[${scope.$index}].workHours`" |
|
|
|
|
:rules="rules.tableData.workHours" |
|
|
|
|
label-width="0" |
|
|
|
|
> |
|
|
|
|
<el-input-number |
|
|
|
|
v-model="scope.row.workHours" |
|
|
|
|
controls-position="right" |
|
|
|
|
:min="1" |
|
|
|
|
:max="10" |
|
|
|
|
></el-input-number> |
|
|
|
|
</el-form-item> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="proDes" label="工序描述" align="left"> |
|
|
|
|
<template #header> |
|
|
|
|
<span><i style="color: red">*</i>工序描述</span> |
|
|
|
|
</template> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-form-item |
|
|
|
|
:prop="`tableData[${scope.$index}].proDes`" |
|
|
|
|
:rules="rules.tableData.proDes" |
|
|
|
|
label-width="0" |
|
|
|
|
> |
|
|
|
|
<el-input v-model="scope.row.proDes" placeholder="请输入内容"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="partName" label="主工序" align="left"> |
|
|
|
|
<template #header> |
|
|
|
|
<span><i style="color: red">*</i>主工序</span> |
|
|
|
|
</template> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-form-item |
|
|
|
|
:prop="`tableData[${scope.$index}].isMain`" |
|
|
|
|
:rules="rules.tableData.isMain" |
|
|
|
|
label-width="0" |
|
|
|
|
> |
|
|
|
|
<el-select v-model="scope.row.isMain" placeholder="请选择" clearable filterable> |
|
|
|
|
<el-option label="是" value="1"> </el-option> |
|
|
|
|
<el-option label="否" value="2"> </el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
<el-table v-if="activeName == '2'" :data="ruleForm.tableData2" style="width: 100%"> |
|
|
|
|
<el-table-column type="selection" width="55"> </el-table-column> |
|
|
|
|
<el-table-column prop="trialNo" label="工序号"> |
|
|
|
|
<template #header> |
|
|
|
|
<span><i style="color: red">*</i>工序号</span> |
|
|
|
|
</template> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-form-item |
|
|
|
|
:prop="`tableData2[${scope.$index}].trialNo`" |
|
|
|
|
:rules="rules.tableData2.trialNo" |
|
|
|
|
label-width="0" |
|
|
|
|
> |
|
|
|
|
<el-input |
|
|
|
|
v-model="scope.row.trialNo" |
|
|
|
|
placeholder="请输入" |
|
|
|
|
style="width: 100%" |
|
|
|
|
></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="projectCode" label="检验项目"> |
|
|
|
|
<template #header> |
|
|
|
|
<span><i style="color: red">*</i>检验项目</span> |
|
|
|
|
</template> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-form-item |
|
|
|
|
:prop="`tableData2[${scope.$index}].projectCode`" |
|
|
|
|
:rules="rules.tableData2.projectCode" |
|
|
|
|
label-width="0" |
|
|
|
|
> |
|
|
|
|
<el-select |
|
|
|
|
v-model="scope.row.projectCode" |
|
|
|
|
placeholder="请选择" |
|
|
|
|
clearable |
|
|
|
|
filterable |
|
|
|
|
@change="projectChange(scope.row, scope.$index)" |
|
|
|
|
> |
|
|
|
|
<el-option |
|
|
|
|
v-for="(item, index) in projectOptions" |
|
|
|
|
:label="item.name" |
|
|
|
|
:value="item.id" |
|
|
|
|
></el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="projectStandard" label="检验标准"> |
|
|
|
|
<template #header> |
|
|
|
|
<span><i style="color: red">*</i>检验标准</span> |
|
|
|
|
</template> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-form-item |
|
|
|
|
:prop="`tableData2[${scope.$index}].projectStandard`" |
|
|
|
|
:rules="rules.tableData2.projectStandard" |
|
|
|
|
label-width="0" |
|
|
|
|
> |
|
|
|
|
<el-select |
|
|
|
|
v-model="scope.row.projectStandard" |
|
|
|
|
placeholder="请选择" |
|
|
|
|
clearable |
|
|
|
|
filterable |
|
|
|
|
@change="standardChange(scope.row, scope.$index)" |
|
|
|
|
> |
|
|
|
|
<el-option |
|
|
|
|
v-for="(item, index) in standardList" |
|
|
|
|
:label="item.name" |
|
|
|
|
:value="item.id" |
|
|
|
|
></el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="proHours" label="定额工时(分钟)"> |
|
|
|
|
<template #header> |
|
|
|
|
<span><i style="color: red">*</i>定额工时(分钟)</span> |
|
|
|
|
</template> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-form-item |
|
|
|
|
:prop="`tableData2[${scope.$index}].proHours`" |
|
|
|
|
:rules="rules.tableData2.proHours" |
|
|
|
|
label-width="0" |
|
|
|
|
> |
|
|
|
|
<el-input |
|
|
|
|
v-model="scope.row.proHours" |
|
|
|
|
placeholder="请输入" |
|
|
|
|
style="width: 100%" |
|
|
|
|
></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="prepareHours" label="准备工时(分钟)"> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-input |
|
|
|
|
v-model="scope.row.prepareHours" |
|
|
|
|
placeholder="请输入" |
|
|
|
|
style="width: 100%" |
|
|
|
|
></el-input> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<!-- 全局错误提示 --> |
|
|
|
|
<div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px"> |
|
|
|
|
{{ formError }} |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<el-table :data="ruleForm.tableData" style="width: 100%"> |
|
|
|
|
<el-table-column type="selection" width="55"> </el-table-column> |
|
|
|
|
<el-table-column prop="processNo" label="工序号" align="left"> |
|
|
|
|
<template #header> |
|
|
|
|
<span><i style="color: red">*</i>工序号</span> |
|
|
|
|
</template> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-form-item |
|
|
|
|
:prop="`tableData[${scope.$index}].processNo`" |
|
|
|
|
:rules="rules.processNo" |
|
|
|
|
label-width="0" |
|
|
|
|
> |
|
|
|
|
<el-input v-model="scope.row.processNo" placeholder="请输入内容"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="processCode" label="工序名称" align="left"> |
|
|
|
|
<template #header> |
|
|
|
|
<span><i style="color: red">*</i>工序名称</span> |
|
|
|
|
</template> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-form-item |
|
|
|
|
:prop="`tableData[${scope.$index}].processCode`" |
|
|
|
|
:rules="rules.processCode" |
|
|
|
|
label-width="0" |
|
|
|
|
> |
|
|
|
|
<el-select |
|
|
|
|
v-model="scope.row.processCode" |
|
|
|
|
placeholder="请选择" |
|
|
|
|
@change="processChange(scope.row, scope.$index)" |
|
|
|
|
clearable |
|
|
|
|
filterable |
|
|
|
|
> |
|
|
|
|
<el-option v-for="(item, index) in processList" :label="item.name" :value="item.id"> |
|
|
|
|
</el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<!-- <el-table-column prop="processName" label="工序名称" align="left"> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<span>{{ scope.row.processName }}</span> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> --> |
|
|
|
|
<el-table-column prop="craftCode" label="工艺能力" align="left"> |
|
|
|
|
<template #header> |
|
|
|
|
<span><i style="color: red">*</i>工艺能力</span> |
|
|
|
|
</template> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-form-item |
|
|
|
|
:prop="`tableData[${scope.$index}].craftCode`" |
|
|
|
|
:rules="rules.craftCode" |
|
|
|
|
label-width="0" |
|
|
|
|
> |
|
|
|
|
<el-select v-model="scope.row.craftCode" placeholder="请选择" clearable filterable> |
|
|
|
|
<el-option v-for="item in craftCodeList" :label="item.name" :value="item.id"> |
|
|
|
|
</el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="workHours" label="工时(分钟)" align="left"> |
|
|
|
|
<template #header> |
|
|
|
|
<span><i style="color: red">*</i>工时(分钟)</span> |
|
|
|
|
</template> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-form-item |
|
|
|
|
:prop="`tableData[${scope.$index}].workHours`" |
|
|
|
|
:rules="rules.workHours" |
|
|
|
|
label-width="0" |
|
|
|
|
> |
|
|
|
|
<el-input-number |
|
|
|
|
v-model="scope.row.workHours" |
|
|
|
|
controls-position="right" |
|
|
|
|
:min="1" |
|
|
|
|
:max="10" |
|
|
|
|
></el-input-number> |
|
|
|
|
</el-form-item> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="proDes" label="工序描述" align="left"> |
|
|
|
|
<template #header> |
|
|
|
|
<span><i style="color: red">*</i>工序描述</span> |
|
|
|
|
</template> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-form-item |
|
|
|
|
:prop="`tableData[${scope.$index}].proDes`" |
|
|
|
|
:rules="rules.proDes" |
|
|
|
|
label-width="0" |
|
|
|
|
> |
|
|
|
|
<el-input v-model="scope.row.proDes" placeholder="请输入内容"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column prop="partName" label="主工序" align="left"> |
|
|
|
|
<template #header> |
|
|
|
|
<span><i style="color: red">*</i>主工序</span> |
|
|
|
|
</template> |
|
|
|
|
<template #default="scope"> |
|
|
|
|
<el-form-item |
|
|
|
|
:prop="`tableData[${scope.$index}].isMain`" |
|
|
|
|
:rules="rules.isMain" |
|
|
|
|
label-width="0" |
|
|
|
|
> |
|
|
|
|
<el-select v-model="scope.row.isMain" placeholder="请选择" clearable filterable> |
|
|
|
|
<el-option label="是" value="1"> </el-option> |
|
|
|
|
<el-option label="否" value="2"> </el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</el-form> |
|
|
|
|
|
|
|
|
|
<template #footer> |
|
|
|
|
@ -215,6 +334,7 @@ import { |
|
|
|
|
getDetail, |
|
|
|
|
getProcessAbilityList, |
|
|
|
|
} from '@/api/processManagement/processTemplate'; |
|
|
|
|
import { getProject, getStandardList } from '@/api/processManagement/taskProcessing'; |
|
|
|
|
import { getList } from '@/api/processManagement/basicProcesses'; |
|
|
|
|
import { getWorkCenterList } from '@/api/processManagement/addQuantity'; |
|
|
|
|
import pinyin from 'pinyin'; |
|
|
|
|
@ -239,7 +359,75 @@ export default { |
|
|
|
|
}, |
|
|
|
|
data() { |
|
|
|
|
return { |
|
|
|
|
formLoading:false, |
|
|
|
|
treeData: [ |
|
|
|
|
{ |
|
|
|
|
label: '工序列表', |
|
|
|
|
processList: [ |
|
|
|
|
{ |
|
|
|
|
processInfo: { |
|
|
|
|
processName: '工序1', |
|
|
|
|
}, |
|
|
|
|
projectInfo: [ |
|
|
|
|
{ |
|
|
|
|
jobName: '作业1', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
jobName: '作业2', |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
processInfo: { |
|
|
|
|
processName: '工序2', |
|
|
|
|
}, |
|
|
|
|
projectInfo: [ |
|
|
|
|
{ |
|
|
|
|
jobName: '作业2', |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
jobName: '作业3', |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
], //组织树的数据 |
|
|
|
|
defaultProps: { |
|
|
|
|
label: data => { |
|
|
|
|
// Level 1: 根分组(如 "工序列表") |
|
|
|
|
if (data.label && data.processList) { |
|
|
|
|
return data.label; |
|
|
|
|
} |
|
|
|
|
// Level 2: 工序节点 |
|
|
|
|
if (data.processInfo) { |
|
|
|
|
return data.processInfo.processName || '未命名工序'; |
|
|
|
|
} |
|
|
|
|
// Level 3: 项目/作业节点 |
|
|
|
|
if (data.jobName !== undefined) { |
|
|
|
|
return data.jobName; |
|
|
|
|
} |
|
|
|
|
return '未知节点'; |
|
|
|
|
}, |
|
|
|
|
children: data => { |
|
|
|
|
// Level 1 → Level 2 |
|
|
|
|
if (data.processList) { |
|
|
|
|
return data.processList; |
|
|
|
|
} |
|
|
|
|
// Level 2 → Level 3 |
|
|
|
|
if (data.processInfo && data.projectInfo) { |
|
|
|
|
return data.projectInfo; |
|
|
|
|
} |
|
|
|
|
// Level 3 无子节点 |
|
|
|
|
return []; |
|
|
|
|
}, |
|
|
|
|
isLeaf: data => { |
|
|
|
|
// 只有最底层(jobName)是叶子节点 |
|
|
|
|
return data.jobName !== undefined; |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
activeName: '1', |
|
|
|
|
treeLeave: 1, //组织树选中层级 |
|
|
|
|
formLoading: false, |
|
|
|
|
craftCodeList: [], //工艺能力列表 |
|
|
|
|
formError: '', // 全局错误提示 |
|
|
|
|
processTemplateList: [], |
|
|
|
|
@ -255,6 +443,7 @@ export default { |
|
|
|
|
platingType: '', |
|
|
|
|
priority: '', |
|
|
|
|
tableData: [], |
|
|
|
|
tableData2: [], |
|
|
|
|
}, |
|
|
|
|
rules: { |
|
|
|
|
code: [{ required: true, message: '请输入', trigger: 'blur' }], |
|
|
|
|
@ -281,6 +470,24 @@ export default { |
|
|
|
|
trigger: 'submit', |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
tableData2: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请至少添加一行数据', |
|
|
|
|
trigger: 'submit', |
|
|
|
|
type: 'array', // 明确类型为数组 |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
validator: (rule, value, callback) => { |
|
|
|
|
if (value.length === 0) { |
|
|
|
|
callback(new Error('请至少添加一行数据')); |
|
|
|
|
} else { |
|
|
|
|
callback(); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
trigger: 'submit', |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
processNo: [{ required: true, message: '请输入工序号', trigger: 'blur' }], |
|
|
|
|
processCode: [{ required: true, message: '请选择工序代码', trigger: 'blur' }], |
|
|
|
|
craftCode: [{ required: true, message: '请选择工艺能力', trigger: 'blur' }], |
|
|
|
|
@ -288,7 +495,10 @@ export default { |
|
|
|
|
proDes: [{ required: true, message: '请输入工序描述', trigger: 'blur' }], |
|
|
|
|
isMain: [{ required: true, message: '请选择主工序', trigger: 'blur' }], |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
workCenterList: [], //作业中心列表 |
|
|
|
|
projectOptions: [], //检验项目列表 |
|
|
|
|
standardList: [], //检验标准列表 |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|
mounted() { |
|
|
|
|
@ -299,12 +509,57 @@ export default { |
|
|
|
|
this.getProcessList(); |
|
|
|
|
this.getWorkCenterList(); |
|
|
|
|
this.getProcessAbilityList(); |
|
|
|
|
this.getProject(); |
|
|
|
|
this.getStandardList(); |
|
|
|
|
if (this.title == '修改') { |
|
|
|
|
this.getDetail(); |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
methods: { |
|
|
|
|
// 获取检验项目名字 |
|
|
|
|
projectChange(row, index) { |
|
|
|
|
let selectName = this.projectOptions.find(item => item.id == row.projectCode); |
|
|
|
|
this.form2.tableData2[index].projectName = selectName.name; |
|
|
|
|
}, |
|
|
|
|
// 获取检验标准名字 |
|
|
|
|
standardChange(row, index) { |
|
|
|
|
let selectName = this.standardList.find(item => item.id == row.projectStandard); |
|
|
|
|
this.form2.tableData2[index].projectStandardName = selectName.name; |
|
|
|
|
}, |
|
|
|
|
getStandardList() { |
|
|
|
|
getStandardList().then(res => { |
|
|
|
|
this.standardList = res.data.data; |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
getProject() { |
|
|
|
|
getProject({ size: 999999, current: 1 }).then(res => { |
|
|
|
|
this.projectOptions = res.data.data.records; |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
// 组织树点击 |
|
|
|
|
handleNodeClick(nodes, node, self) { |
|
|
|
|
const data = nodes; |
|
|
|
|
if (data.label && data.processList) { |
|
|
|
|
this.activeName = '1'; |
|
|
|
|
this.treeLeave = 1; |
|
|
|
|
this.ruleForm.tableData = data.processList; |
|
|
|
|
} else if (data.processInfo) { |
|
|
|
|
this.activeName = '2'; |
|
|
|
|
this.treeLeave = 2; |
|
|
|
|
this.ruleForm.tableData2 = [data.projectInfo]; |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
// 右侧tab切换 |
|
|
|
|
handleClick(value) { |
|
|
|
|
console.log(999999, value); |
|
|
|
|
// this.form1.deleteIds = []; |
|
|
|
|
// this.form2.deleteIds = []; |
|
|
|
|
// this.form3.deleteIds = []; |
|
|
|
|
// this.form4.deleteIds = []; |
|
|
|
|
}, |
|
|
|
|
nameChange() {}, |
|
|
|
|
|
|
|
|
|
// 获取工序号 |
|
|
|
|
getProcessNo(table) { |
|
|
|
|
const len = table; |
|
|
|
|
@ -384,7 +639,7 @@ export default { |
|
|
|
|
submit() { |
|
|
|
|
this.$refs.ruleForm.validate(valid => { |
|
|
|
|
if (valid) { |
|
|
|
|
this.formLoading = true |
|
|
|
|
this.formLoading = true; |
|
|
|
|
const pinyinArr = pinyin(this.ruleForm.name, { |
|
|
|
|
style: pinyin.STYLE_NORMAL, // 无声调(STYLE_TONE 带声调) |
|
|
|
|
heteronym: false, // 不考虑多音字 |
|
|
|
|
@ -399,28 +654,32 @@ export default { |
|
|
|
|
|
|
|
|
|
// 修改 |
|
|
|
|
if (!this.moldAddMore) { |
|
|
|
|
update(query).then(res => { |
|
|
|
|
this.formLoading = false |
|
|
|
|
this.$message({ |
|
|
|
|
type: 'success', |
|
|
|
|
message: '操作成功!', |
|
|
|
|
update(query) |
|
|
|
|
.then(res => { |
|
|
|
|
this.formLoading = false; |
|
|
|
|
this.$message({ |
|
|
|
|
type: 'success', |
|
|
|
|
message: '操作成功!', |
|
|
|
|
}); |
|
|
|
|
this.$emit('closeDialog'); |
|
|
|
|
}) |
|
|
|
|
.catch(err => { |
|
|
|
|
this.formLoading = false; |
|
|
|
|
}); |
|
|
|
|
this.$emit('closeDialog'); |
|
|
|
|
}).catch(err=>{ |
|
|
|
|
this.formLoading = false |
|
|
|
|
}); |
|
|
|
|
} else { |
|
|
|
|
// 新增 |
|
|
|
|
add(query).then(res => { |
|
|
|
|
this.formLoading = false |
|
|
|
|
this.$message({ |
|
|
|
|
type: 'success', |
|
|
|
|
message: '操作成功!', |
|
|
|
|
add(query) |
|
|
|
|
.then(res => { |
|
|
|
|
this.formLoading = false; |
|
|
|
|
this.$message({ |
|
|
|
|
type: 'success', |
|
|
|
|
message: '操作成功!', |
|
|
|
|
}); |
|
|
|
|
this.$emit('closeDialog'); |
|
|
|
|
}) |
|
|
|
|
.catch(err => { |
|
|
|
|
this.formLoading = false; |
|
|
|
|
}); |
|
|
|
|
this.$emit('closeDialog'); |
|
|
|
|
}).catch(err=>{ |
|
|
|
|
this.formLoading = false |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
// 校验失败:显示提示并滚动到第一个错误字段 |
|
|
|
|
@ -475,4 +734,32 @@ export default { |
|
|
|
|
padding: 0 !important; |
|
|
|
|
line-height: 50px !important; |
|
|
|
|
} |
|
|
|
|
.process-box { |
|
|
|
|
display: flex; |
|
|
|
|
flex-direction: row; |
|
|
|
|
height: calc(100vh - 280px); |
|
|
|
|
.process-left { |
|
|
|
|
// padding: 20px; |
|
|
|
|
width: 240px; |
|
|
|
|
border: 1px solid #ccc; |
|
|
|
|
} |
|
|
|
|
.process-right { |
|
|
|
|
padding: 12px; |
|
|
|
|
flex: 1; |
|
|
|
|
border: 1px solid #ccc; |
|
|
|
|
border-left: 0; |
|
|
|
|
.table-btn { |
|
|
|
|
width: 100%; |
|
|
|
|
height: 50px; |
|
|
|
|
|
|
|
|
|
.table-btn-left { |
|
|
|
|
float: left; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.table-btn-right { |
|
|
|
|
float: right; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|
|