代码提交

dev-scheduling
zhangdi 1 day ago
parent 7280f8c9bb
commit 82b6843b27
  1. 94
      src/api/processManagement/taskProcessing.js
  2. 22
      src/api/productionSchedulingPlan/scheduling.js
  3. 16
      src/views/processManagement/components/assignDaialog.vue
  4. 226
      src/views/processManagement/components/processMainte/dsCraft.vue
  5. 511
      src/views/processManagement/components/processMainte/dsPartBasicInfo.vue
  6. 27
      src/views/processManagement/components/processMainte/dsPartIndex.vue
  7. 14
      src/views/processManagement/components/processMainte/partDetails.vue
  8. 753
      src/views/processManagement/components/processMainte/processPlanning.vue
  9. 1
      src/views/processManagement/procepssPlanning.vue
  10. 7
      src/views/processManagement/taskDispatch.vue
  11. 48
      src/views/processManagement/taskProcessing.vue

@ -56,13 +56,11 @@ export const getPartDetail = (taskId) => {
} }
// 查询任务工艺编制详情 dsTasking/processAuthorized // 查询任务工艺编制详情 dsTasking/processAuthorized
export const getProcessAuthorized = (taskId) => { export const getProcessAuthorized = (params) => {
return request({ return request({
url: '/blade-desk/dsTasking/processAuthorized', url: '/blade-desk/dsTasking/processAuthorized',
method: 'get', method: 'get',
params: { params: params,
taskId
},
}); });
} }
@ -121,7 +119,93 @@ export const taskReception = data => {
return request({ return request({
url: '/blade-desk/dsTasking/taskReception', url: '/blade-desk/dsTasking/taskReception',
method: 'post', method: 'post',
data data:data
});
}
// 零件编制保存
export const authorizedAccomplish = data => {
return request({
url: '/blade-desk/dsTasking/authorizedAccomplish',
method: 'post',
data:data
});
}
// 工艺编制保存
export const authorizedAccomplish2 = data => {
return request({
url: '/blade-desk/dsTasking/authorizedAccomplish',
method: 'post',
data:data
});
}
// 工艺检验项目保存
export const saveProcessProjectSave = data => {
return request({
url: '/blade-desk/dsTasking/saveProcessProjectSave',
method: 'post',
data:data
}); });
} }
// 工艺 尺寸量具保存
export const saveProcessMeasuringTool = data => {
return request({
url: '/blade-desk/dsTasking/saveProcessMeasuringTool',
method: 'post',
data:data
});
}
// 工装保存
export const saveProcessMoldTool = data => {
return request({
url: '/blade-desk/dsTasking/saveProcessMoldTool',
method: 'post',
data:data
});
}
// 工艺模板下拉数据
export const getModelList = (params) => {
return request({
url: '/blade-desk/dsProModel/getModelList',
method: 'get',
params: params,
});
}
// 工艺模板下拉数据导入
export const getModelDetailList = (params) => {
return request({
url: '/blade-desk/dsProDetail/getModelDetailList',
method: 'get',
params: params,
});
}
// 工序信息查询
export const getProcessSetList = (params) => {
return request({
url: '/blade-desk/bsProcessSet/getProcessSetList',
method: 'get',
params: params,
});
}
// 工艺能力查询
export const getCraftAbilityList = (params) => {
return request({
url: '/blade-desk/bsCraftAbility/getCraftAbilityList',
method: 'get',
params: params,
});
}

@ -23,10 +23,30 @@ export const getYieldOrderList = (current, size, params) => {
}; };
// 排产看板数据 // 排产看板数据
export const schedulingCount = row => { export const schedulingCount = params => {
return request({ return request({
url: '/blade-scheduling/workOrder/schedulingCount', url: '/blade-scheduling/workOrder/schedulingCount',
method: 'post', method: 'post',
params: params,
});
};
// 排产 获取班组
export const selectTeam = params => {
return request({
url: '/blade-scheduling/workOrder/selectTeam',
method: 'get',
params: params,
});
};
// 排产 获取设备
export const selectEquip = row => {
return request({
url: '/blade-scheduling/workOrder/selectEquip',
method: 'get',
data: row, data: row,
}); });
}; };

@ -83,17 +83,23 @@ export default {
this.updateRow.forEach((item, index) => { this.updateRow.forEach((item, index) => {
arr.push(item.id); arr.push(item.id);
}); });
let query = {
dtIdList: arr.join(','),
userId: this.$refs.from.form.userId,
// remarks:''
};
if (this.title == '转派') { if (this.title == '转派') {
let query = {
craftMan: this.$refs.from.form.userId,
id: arr[0],
// remarks:''
};
taskRedeploy(query).then(res => { taskRedeploy(query).then(res => {
this.$message.success('操作成功!'); this.$message.success('操作成功!');
this.cancel(true); this.cancel(true);
}); });
} else { } else {
let query = {
dtIdList: arr.join(','),
userId: this.$refs.from.form.userId,
// remarks:''
};
setDispatch(query).then(res => { setDispatch(query).then(res => {
this.$message.success('操作成功!'); this.$message.success('操作成功!');
this.cancel(true); this.cancel(true);

@ -1,47 +1,91 @@
<template> <template>
<div style="width:100%;"> <div style="width: 100%">
<el-form ref="form" :model="dsCraftMold" :rules="rules" class="vd-form" label-width="80px" size="mini" v-if="!disabled"> <el-form
ref="form"
:model="dsCraftMold"
:rules="rules"
class="vd-form"
label-width="80px"
size="mini"
v-if="!disabled"
>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<!-- 级别 --> <!-- 级别 -->
<el-form-item :label="'工艺级别'" prop="rank"> <el-form-item :label="'工艺级别'" prop="rank">
<el-select v-model="dsCraftMold.rank" :placeholder="'请选择'"> <el-select v-model="dsCraftMold.rank" :placeholder="'请选择'">
<el-option v-for="item in rankList" :key="item.value" :label="item.label" :value="item.value" /> <el-option
v-for="item in rankList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<!-- 生产标识 --> <!-- 生产标识 -->
<el-form-item :label="'生产标识'" prop="qualityGrade"> <el-form-item :label="'生产标识'" prop="qualityGrade">
<procedure-qua v-model="dsCraftMold.qualityGrade" :option="procedureQuaOption" multiple style="width:120px" <procedure-qua
@change="procedureQuaChange" /> v-model="dsCraftMold.qualityGrade"
:option="procedureQuaOption"
multiple
style="width: 120px"
@change="procedureQuaChange"
/>
<el-select v-model="dsCraftMold.qualityGrade" :placeholder="'请选择'"> <el-select v-model="dsCraftMold.qualityGrade" :placeholder="'请选择'">
<el-option v-for="item in rankList" :key="item.value" :label="item.label" :value="item.value" /> <el-option
v-for="item in rankList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<el-tabs v-model="activeName" type="border-card"> <el-tabs v-model="activeName" type="border-card">
<!-- 工艺维护 --> <!-- 工艺维护 -->
<el-tab-pane :label="'工序'" name="1"> <el-tab-pane :label="'工序'" name="1">
<avue-crud ref="crud" :option="dsProcessOption" :data="data" @row-update="rowUpdate" @row-save="rowSave" <avue-crud
@row-click="handleRowClick"> ref="crud"
<template #menu-left="{ }"> :option="dsProcessOption"
:data="data"
@row-update="rowUpdate"
@row-save="rowSave"
@row-click="handleRowClick"
>
<template #menu-left="{}">
<el-button @click="addRow">删除选择行</el-button> <el-button @click="addRow">删除选择行</el-button>
</template> </template>
<template #menu-right="{ }"> <template #menu-right="{}">
<el-cascader v-model="cascaderValue" :props="{ expandTrigger: 'hover' }" :options="cascaderOptions" <el-cascader
style="width: 260px;height:30px; margin:0 12px;" class="proModel" @change="handleChange" /> v-model="cascaderValue"
:props="{ expandTrigger: 'hover' }"
:options="cascaderOptions"
style="width: 260px; height: 30px; margin: 0 12px"
class="proModel"
@change="handleChange"
/>
<el-button @click="importTemplate">导入模板 </el-button> <el-button @click="importTemplate">导入模板 </el-button>
</template> </template>
<template #menu="{ row, index }"> <template #menu="{ row, index }">
<el-button text type="primary" :icon="row.$cellEdit ? 'el-icon-plus' : 'el-icon-edit'" <el-button
@click="rowCell(row, index)"> text
type="primary"
:icon="row.$cellEdit ? 'el-icon-plus' : 'el-icon-edit'"
@click="rowCell(row, index)"
>
{{ row.$cellEdit ? '保存' : '修改' }} {{ row.$cellEdit ? '保存' : '修改' }}
</el-button> </el-button>
<el-button v-if="row.$cellEdit" text icon="el-icon-cancel" type="primary" @click="rowCancel(row, index)"> <el-button
v-if="row.$cellEdit"
text
icon="el-icon-cancel"
type="primary"
@click="rowCancel(row, index)"
>
取消 取消
</el-button> </el-button>
</template> </template>
@ -51,22 +95,24 @@
</div> </div>
</template> </template>
<script> <script>
import { getProcessManagementAuthorized } from '@/api/processManagement/taskProcessing';
export default { export default {
name: 'CraftIndex', name: 'CraftIndex',
components: { }, components: {},
props: { props: {
height: { height: {
type: Number, type: Number,
default: 600 default: 600,
}, },
partId: { partId: {
type: [Number, String], type: [Number, String],
default: null default: null,
}, },
dialogType: { dialogType: {
type: String, type: String,
default: '', default: '',
} },
}, },
data() { data() {
// var checkCraftNo = (rule, value, callback) => { // var checkCraftNo = (rule, value, callback) => {
@ -90,7 +136,7 @@ export default {
// }); // });
// }; // };
return { return {
disabled:false, disabled: false,
craftWay: '', craftWay: '',
dsCraftMold: { dsCraftMold: {
qualityGrade: [], qualityGrade: [],
@ -98,7 +144,7 @@ export default {
dsPart: { partId: this.partId }, dsPart: { partId: this.partId },
priority: 3, priority: 3,
craftNo: 'C000000', craftNo: 'C000000',
rank: 2 rank: 2,
}, },
procedureQuaOption: [], procedureQuaOption: [],
activeName: '1', activeName: '1',
@ -106,34 +152,34 @@ export default {
priorityList: [ priorityList: [
{ {
label: '本次使用', label: '本次使用',
value: 1 value: 1,
}, },
{ {
label: '正式工艺', label: '正式工艺',
value: 2 value: 2,
}, },
{ {
label: '临时工艺', label: '临时工艺',
value: 3 value: 3,
} },
], ],
rankList: [ rankList: [
{ {
label: '一级', label: '一级',
value: 1 value: 1,
}, },
{ {
label: '二级', label: '二级',
value: 2 value: 2,
}, },
{ {
label: '三级', label: '三级',
value: 3 value: 3,
} },
], ],
rules: { rules: {
priority: [{ required: true }], priority: [{ required: true }],
rank: [{ required: true }] rank: [{ required: true }],
}, },
procedureQuaList: [], procedureQuaList: [],
dsProcessOption: { dsProcessOption: {
@ -149,18 +195,17 @@ export default {
selection: true, selection: true,
tip: false, tip: false,
border: true, border: true,
searchLabelPosition:'left', searchLabelPosition: 'left',
searchLabelPosition:'left', searchGutter: 24,
searchGutter:24, searchSpan: 6,
searchSpan:6, menuAlign: 'left',
menuAlign: 'left', gridBtn: false,
gridBtn:false, searchMenuPosition: 'right',
searchMenuPosition:'right', addBtnIcon: ' ',
addBtnIcon: ' ',
viewBtnIcon: ' ', viewBtnIcon: ' ',
delBtnIcon: ' ', delBtnIcon: ' ',
editBtnIcon: ' ', editBtnIcon: ' ',
searchShowBtn:false, searchShowBtn: false,
align: 'center', align: 'center',
column: [ column: [
{ {
@ -172,10 +217,11 @@ addBtnIcon: ' ',
{ {
required: true, required: true,
message: '请输入密码', message: '请输入密码',
trigger: 'blur' trigger: 'blur',
} },
] ],
}, { },
{
label: '工序', label: '工序',
prop: 'bsProcedureSet.ppsId', prop: 'bsProcedureSet.ppsId',
bind: 'bsProcedureSet.ppsId', bind: 'bsProcedureSet.ppsId',
@ -185,36 +231,37 @@ addBtnIcon: ' ',
{ {
required: true, required: true,
message: '请输入密码', message: '请输入密码',
trigger: 'blur' trigger: 'blur',
} },
] ],
}, { },
{
label: '工序代码', label: '工序代码',
prop: 'bsProcedureSet.ppsCode', prop: 'bsProcedureSet.ppsCode',
bind: "bsProcedureSet.ppsCode", bind: 'bsProcedureSet.ppsCode',
cell: true, cell: true,
span: 23, span: 23,
rules: [ rules: [
{ {
required: true, required: true,
message: '请输入密码', message: '请输入密码',
trigger: 'blur' trigger: 'blur',
} },
] ],
}, },
{ {
label: '工艺能力', label: '工艺能力',
prop: 'bsCraftAbility.caId', prop: 'bsCraftAbility.caId',
bind: "bsCraftAbility.caId", bind: 'bsCraftAbility.caId',
cell: true, cell: true,
span: 23, span: 23,
rules: [ rules: [
{ {
required: true, required: true,
message: '请输入密码', message: '请输入密码',
trigger: 'blur' trigger: 'blur',
} },
] ],
}, },
{ {
label: '工时定额', label: '工时定额',
@ -225,9 +272,9 @@ addBtnIcon: ' ',
{ {
required: true, required: true,
message: '请输入密码', message: '请输入密码',
trigger: 'blur' trigger: 'blur',
} },
] ],
}, },
{ {
label: '工序描述', label: '工序描述',
@ -238,9 +285,9 @@ addBtnIcon: ' ',
{ {
required: true, required: true,
message: '请输入密码', message: '请输入密码',
trigger: 'blur' trigger: 'blur',
} },
] ],
}, },
{ {
label: '主工序', label: '主工序',
@ -251,20 +298,18 @@ addBtnIcon: ' ',
{ {
required: true, required: true,
message: '请输入密码', message: '请输入密码',
trigger: 'blur' trigger: 'blur',
} },
] ],
}, },
],
},
]
}
}; };
}, },
watch: { watch: {
activeName: function () { activeName: function () {
this.loadDetail(); this.loadDetail();
} },
}, },
mounted() { mounted() {
this.$refs.form.resetFields(); this.$refs.form.resetFields();
@ -275,13 +320,29 @@ addBtnIcon: ' ',
dsPart: { partId: this.partId }, dsPart: { partId: this.partId },
priority: 3, priority: 3,
craftNo: 'C000000', craftNo: 'C000000',
rank: 2 rank: 2,
}; };
this.$refs.processRef.processList = []; this.$refs.processRef.processList = [];
this.disabled = this.dialogType=='view'?true:false this.disabled = this.dialogType == 'view' ? true : false;
this.getPartDetails()
}, },
methods: { methods: {
//
getPartDetails() {
getProcessManagementAuthorized(this.partId).then(res => {
this.formData = res.data.data.dsPartEntity;
this.data = res.data.data.dsPartEntities
if (res.data.data.dsPartEntity.isGlassCake === '0') {
this.formData.isGlassCake = false;
} else {
this.formData.isGlassCake = true;
}
});
},
refreshLoad() { refreshLoad() {
this.$refs.processRef.processList = []; this.$refs.processRef.processList = [];
}, },
@ -289,7 +350,7 @@ addBtnIcon: ' ',
const list = this.procedureQuaList.concat(item); const list = this.procedureQuaList.concat(item);
this.procedureQuaList = this.$removedup(list, 'pqId'); this.procedureQuaList = this.$removedup(list, 'pqId');
this.dsCraftMold.quGrText = []; this.dsCraftMold.quGrText = [];
idList.forEach((idItem) => { idList.forEach(idItem => {
this.procedureQuaList.forEach((item, index) => { this.procedureQuaList.forEach((item, index) => {
if (item.pqId === idItem) { if (item.pqId === idItem) {
this.dsCraftMold.quGrText.push(item.pqName); this.dsCraftMold.quGrText.push(item.pqName);
@ -301,21 +362,19 @@ addBtnIcon: ' ',
if (!craftId) return; if (!craftId) return;
this.craftId = craftId; this.craftId = craftId;
this.loadDetail(); this.loadDetail();
this.$ajax.get('dsCraft/getByKey/' + craftId).then((res) => { this.$ajax.get('dsCraft/getByKey/' + craftId).then(res => {
this.dsCraftMold = res.data; this.dsCraftMold = res.data;
if (!this.dsCraftMold.qualityGrade) { if (!this.dsCraftMold.qualityGrade) {
this.dsCraftMold.qualityGrade = []; this.dsCraftMold.qualityGrade = [];
this.procedureQuaOption = []; this.procedureQuaOption = [];
} else { } else {
this.dsCraftMold.qualityGrade = JSON.parse( this.dsCraftMold.qualityGrade = JSON.parse(this.dsCraftMold.qualityGrade);
this.dsCraftMold.qualityGrade
);
this.dsCraftMold.quGrText = JSON.parse(this.dsCraftMold.quGrText); this.dsCraftMold.quGrText = JSON.parse(this.dsCraftMold.quGrText);
this.procedureQuaOption = []; this.procedureQuaOption = [];
this.dsCraftMold.quGrText.forEach((item, index) => { this.dsCraftMold.quGrText.forEach((item, index) => {
this.procedureQuaOption.push({ this.procedureQuaOption.push({
pqId: this.dsCraftMold.qualityGrade[index], pqId: this.dsCraftMold.qualityGrade[index],
pqName: item pqName: item,
}); });
}); });
} }
@ -330,12 +389,12 @@ addBtnIcon: ' ',
dsPart: { partId: this.partId }, dsPart: { partId: this.partId },
priority: 3, priority: 3,
craftNo: 'C000000', craftNo: 'C000000',
rank: 2 rank: 2,
}; };
this.$refs.processRef.processList = []; this.$refs.processRef.processList = [];
}, },
validateForm() { validateForm() {
this.$refs.form.validate((valid) => { this.$refs.form.validate(valid => {
if (valid) { if (valid) {
if (this.activeName === '1') { if (this.activeName === '1') {
this.$refs.processRef.submit(); this.$refs.processRef.submit();
@ -357,8 +416,8 @@ addBtnIcon: ' ',
if (isCall) { if (isCall) {
this.loadData(craftId); this.loadData(craftId);
} }
} },
} },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@ -368,4 +427,5 @@ addBtnIcon: ' ',
// .vd-form /deep/ .el-form-item--mini.el-form-item, // .vd-form /deep/ .el-form-item--mini.el-form-item,
// .el-form-item--small.el-form-item { // .el-form-item--small.el-form-item {
// margin-bottom: 4px; // margin-bottom: 4px;
// }</style> // }
</style>

@ -4,8 +4,15 @@
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span style="font-size: 20px">基本信息</span> <span style="font-size: 20px">基本信息</span>
</div> </div>
<el-form ref="testForm" :model="formData" :rules="rules" label-width="120px" label-position="right" <el-form
:validate-on-rule-change="false" class="vd-form-three"> ref="testForm"
:model="formData"
:rules="rules"
label-width="120px"
label-position="right"
:validate-on-rule-change="false"
class="vd-form-three"
>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="零件号:" prop="partCode"> <el-form-item label="零件号:" prop="partCode">
@ -24,8 +31,12 @@
</el-col> </el-col>
<el-col :span="8" v-if="partType == '烧结'"> <el-col :span="8" v-if="partType == '烧结'">
<el-form-item label="是否为玻璃饼:" prop="isGlassCake"> <el-form-item label="是否为玻璃饼:" prop="isGlassCake">
<el-switch v-model="formData.isGlassCake" :disabled="disabled" active-color="#13ce66" <el-switch
inactive-color="#ff4949" /> v-model="formData.isGlassCake"
:disabled="disabled"
active-color="#13ce66"
inactive-color="#ff4949"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" v-if="partType == '烧结'"> <el-col :span="8" v-if="partType == '烧结'">
@ -71,7 +82,10 @@
<el-input v-model="formData.material" placeholder="请输入" /> <el-input v-model="formData.material" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" v-if="partType == '热表' || (partType == '烧结' && formData.isGlassCake)"> <el-col
:span="8"
v-if="partType == '热表' || (partType == '烧结' && formData.isGlassCake)"
>
<el-form-item label="物料编码:" prop="wuliaobianma"> <el-form-item label="物料编码:" prop="wuliaobianma">
<el-select v-model="value" placeholder="请选择" style="width: 250px"> <el-select v-model="value" placeholder="请选择" style="width: 250px">
<el-option label="物料一" value="1" /> <el-option label="物料一" value="1" />
@ -131,7 +145,6 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="16"> <el-col :span="16">
<el-form-item label="工艺路线:" prop="craftWay"> <el-form-item label="工艺路线:" prop="craftWay">
@ -150,85 +163,161 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="有效周期(天):" prop="expirationPeriod"> <el-form-item label="有效周期(天):" prop="expirationPeriod">
<el-date-picker v-model="formData.expirationPeriod" type="date" placeholder="请选择" format="YYYY-MM-DD" <el-input-number
style="width:250px" /> :max="100000"
:min="0"
v-model="formData.expirationPeriod"
precision="0"
controls-position="right"
placeholder="请输入"
style="width: 250px"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="到期提醒(天):" prop="advanceRemind"> <el-form-item label="到期提醒(天):" prop="advanceRemind">
<el-input-number :max="100000" :min="0" v-model="formData.advanceRemind" precision="0" <el-input-number
controls-position="right" placeholder="请输入" style="width:250px" /> :max="100000"
:min="0"
v-model="formData.advanceRemind"
precision="0"
controls-position="right"
placeholder="请输入"
style="width: 250px"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="涂色标个数:" prop="tsbNum"> <el-form-item label="涂色标个数:" prop="tsbNum">
<el-input-number v-model="formData.tsbNum" :min="1" :max="10" controls-position="right" <el-input-number
placeholder="请输入" /> v-model="formData.tsbNum"
:min="1"
:max="10"
controls-position="right"
placeholder="请输入"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="涂色带个数:" prop="tsdNum"> <el-form-item label="涂色带个数:" prop="tsdNum">
<el-input-number v-model="formData.tsdNum" :min="1" :max="10" controls-position="right" <el-input-number
placeholder="请输入" /> v-model="formData.tsdNum"
:min="1"
:max="10"
controls-position="right"
placeholder="请输入"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="涂箭头个数:" prop="tjtNum"> <el-form-item label="涂箭头个数:" prop="tjtNum">
<el-input-number v-model="formData.tjtNum" :min="1" :max="10" controls-position="right" <el-input-number
placeholder="请输入" /> v-model="formData.tjtNum"
:min="1"
:max="10"
controls-position="right"
placeholder="请输入"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="16"> <el-col :span="16">
<el-form-item label="色标色带:" prop="memo"> <el-form-item label="色标色带:" prop="memo">
<el-input v-model="formData.memo" :rows="3" type="textarea" maxlength="150" show-word-limit <el-input
placeholder="请输入" /> v-model="formData.memo"
:rows="3"
type="textarea"
maxlength="150"
show-word-limit
placeholder="请输入"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="16"> <el-col :span="16">
<el-form-item label="关键信息:" prop="keyInfo"> <el-form-item label="关键信息:" prop="keyInfo">
<el-input v-model="formData.keyInfo" type="textarea" maxlength="150" show-word-limit rows="3" <el-input
placeholder="请输入" /> v-model="formData.keyInfo"
type="textarea"
maxlength="150"
show-word-limit
rows="3"
placeholder="请输入"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="24" v-if="partType == '热表' || (partType == '烧结' && !formData.isGlassCake)"> <el-col
:span="24"
v-if="partType == '热表' || (partType == '烧结' && !formData.isGlassCake)"
>
<el-form-item label="工艺校验:" prop="sinTer"> <el-form-item label="工艺校验:" prop="sinTer">
<el-checkbox v-model="formData.goldMark" v-if="partType == '热表'">镀金标识</el-checkbox> <el-checkbox v-model="formData.goldMark" v-if="partType == '热表'"
<el-checkbox v-model="formData.markingsTest" @change="setDataLocal">涂色标</el-checkbox> >镀金标识</el-checkbox
<el-checkbox v-model="formData.fluorescenceCheck" @change="setDataLocal" >
v-if="partType == '热表'">荧光检</el-checkbox> <el-checkbox v-model="formData.markingsTest" @change="setDataLocal"
<el-checkbox v-model="formData.hotDispose" @change="setDataLocal" >涂色标</el-checkbox
v-if="partType == '热表'">热处理检验</el-checkbox> >
<el-checkbox v-model="formData.inkjetPrinting" @change="setDataLocal" v-if="partType == '热表'">喷码</el-checkbox> <el-checkbox
v-model="formData.fluorescenceCheck"
@change="setDataLocal"
v-if="partType == '热表'"
>荧光检</el-checkbox
>
<el-checkbox
v-model="formData.hotDispose"
@change="setDataLocal"
v-if="partType == '热表'"
>热处理检验</el-checkbox
>
<el-checkbox
v-model="formData.inkjetPrinting"
@change="setDataLocal"
v-if="partType == '热表'"
>喷码</el-checkbox
>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
</el-card> </el-card>
<el-card class="box-card" v-if="formData.isSintering == '1' && (!formData.isGlassCake)" style="margin-top:24px"> <el-card
class="box-card"
v-if="formData.isSintering == '0' && !formData.isGlassCake"
style="margin-top: 24px"
>
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span style="font-size: 20px">子件信息</span> <span style="font-size: 20px">子件信息</span>
</div> </div>
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud" <avue-crud
@row-del="rowDel" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" :option="option"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"> :table-loading="loading"
:data="data"
v-model="form"
v-model:page="page"
ref="crud"
@search-change="searchChange"
@search-reset="searchReset"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
>
</avue-crud> </avue-crud>
</el-card> </el-card>
</div> </div>
</template> </template>
<script> <script>
import { getPartDetail,authorizedAccomplish } from '@/api/processManagement/taskProcessing';
export default { export default {
components: { components: {},
},
props: { props: {
partType: { partType: {
type: String, type: String,
@ -250,6 +339,10 @@ export default {
type: Object, type: Object,
default: null, default: null,
}, },
dsPartInfo: {
type: Object,
default: null,
},
}, },
data() { data() {
var checkCode = (rule, value, callback) => { var checkCode = (rule, value, callback) => {
@ -258,7 +351,7 @@ export default {
partId: this.formData.partId, partId: this.formData.partId,
partCode: value, partCode: value,
}) })
.then((res) => { .then(res => {
if (res.data) { if (res.data) {
callback(new Error(this.$t('global.duplicateCode'))); callback(new Error(this.$t('global.duplicateCode')));
} else { } else {
@ -281,8 +374,7 @@ export default {
periodOfValidity: '1', periodOfValidity: '1',
youxiaozhouqi: '', youxiaozhouqi: '',
expirationPeriod: '', expirationPeriod: '',
fenzhong: '' fenzhong: '',
}, },
validateObj: { validateObj: {
fluorescenceCheck: false, fluorescenceCheck: false,
@ -301,10 +393,7 @@ export default {
isGlassCake: [{ required: true, message: '请选择', trigger: 'blur' }], isGlassCake: [{ required: true, message: '请选择', trigger: 'blur' }],
printing: [{ required: true, message: '请选择', trigger: 'blur' }], printing: [{ required: true, message: '请选择', trigger: 'blur' }],
dueDate: [{ required: true, message: '请选择', trigger: 'blur' }], dueDate: [{ required: true, message: '请选择', trigger: 'blur' }],
partCode: [ partCode: [{ required: true ,message: '请选择', trigger: 'blur' }],
{ required: true },
{ validator: checkCode, trigger: 'blur' },
],
partName: [{ required: true, message: '请选择', trigger: 'blur' }], partName: [{ required: true, message: '请选择', trigger: 'blur' }],
craftWay: [{ required: true, message: '请输入', trigger: 'blur' }], craftWay: [{ required: true, message: '请输入', trigger: 'blur' }],
area: [ area: [
@ -343,7 +432,6 @@ export default {
header: false, header: false,
index: true, index: true,
searchLabelPosition: 'left', searchLabelPosition: 'left',
searchLabelPosition: 'left',
searchGutter: 24, searchGutter: 24,
searchSpan: 6, searchSpan: 6,
menuAlign: 'left', menuAlign: 'left',
@ -396,55 +484,67 @@ export default {
search: false, search: false,
sortable: true, sortable: true,
overHidden: true, overHidden: true,
type: "select", type: 'select',
cell: true, cell: true,
dicData: [ dicData: [
{ {
label: '插针', label: '插针',
value: "1" value: '1',
}, },
{ {
label: '壳体', label: '壳体',
value: "2" value: '2',
}, },
{ {
label: '石墨模', label: '石墨模',
value: "5" value: '5',
}, },
{ {
label: '自制玻璃饼', label: '自制玻璃饼',
value: "3" value: '3',
}, },
{ {
label: '其他', label: '其他',
value: "4" value: '4',
} },
] ],
} },
] ],
} },
}; };
}, },
created() { created() {},
},
mounted() { mounted() {
this.disabled = this.dialogType == 'view' ? true : false this.disabled = this.dialogType == 'view' ? true : false;
// this.formData = this.dsPartInfo;
this.getPartDetails();
}, },
methods: { methods: {
// //
getPartDetails() {
getPartDetail(this.partId).then(res => {
this.formData = res.data.data.dsPartEntity;
this.data = res.data.data.dsPartEntities
if (res.data.data.dsPartEntity.isGlassCake === '0') {
this.formData.isGlassCake = false;
} else {
this.formData.isGlassCake = true;
}
});
},
//
periodOfValidityFn(value) { periodOfValidityFn(value) {
if (value == 2) { if (value == 2) {
this.rules.youxiaozhouqi = [{ required: true, message: '请输入', trigger: 'blur' }] this.rules.youxiaozhouqi = [{ required: true, message: '请输入', trigger: 'blur' }];
this.rules.expirationPeriod = [{ required: true, message: '请输入', trigger: 'blur' }] this.rules.expirationPeriod = [{ required: true, message: '请输入', trigger: 'blur' }];
} else { } else {
this.rules.youxiaozhouqi = [{ required: false, message: '请输入', trigger: 'blur' }] this.rules.youxiaozhouqi = [{ required: false, message: '请输入', trigger: 'blur' }];
this.rules.expirationPeriod = [{ required: false, message: '请输入', trigger: 'blur' }] this.rules.expirationPeriod = [{ required: false, message: '请输入', trigger: 'blur' }];
} }
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.testForm.clearValidate(); // this.$refs.testForm.clearValidate(); //
}) });
}, },
clear() { clear() {
this.formData = {}; this.formData = {};
@ -516,7 +616,8 @@ export default {
// }, // },
submit(flag) { submit(flag) {
this.submitLoading = true; this.submitLoading = true;
this.$refs.form.validate((valid) => { console.log(98989, this.formData);
this.$refs.testForm.validate(valid => {
if (valid) { if (valid) {
let isReturn = false; let isReturn = false;
if (this.formData.plateCode || this.formData.plateThickness) { if (this.formData.plateCode || this.formData.plateThickness) {
@ -541,13 +642,17 @@ export default {
this.formData.childPage = this.childPage; this.formData.childPage = this.childPage;
this.formData.psId = this.psId; this.formData.psId = this.psId;
authorizedAccomplish( {dsPart:this.formData,partList:this.data}).then(res=>{
console.log('9999res',res)
this.cancel(flag, res.data);
})
// this.$ajax.post('dsPart/addOrEdit', this.formData).then((res) => { // this.$ajax.post('dsPart/addOrEdit', this.formData).then((res) => {
// if (this.$ifAjax(res)) { // if (this.$ifAjax(res)) {
// this.$message.success( // this.$message.success(
// this.$t('videaVueLib.publics.message.success') // this.$t('videaVueLib.publics.message.success')
// ); // );
// this.cancel(flag, res.data); // this.cancel(flag, res.data);
this.$refs.craftEdit.getData(this.partId, true); // this.$refs.craftEdit.getData(this.partId, true);
// } // }
// this.submitLoading = false; // this.submitLoading = false;
// }); // });
@ -562,274 +667,6 @@ export default {
// this.$refs.craftEdit.refreshLoad(); // this.$refs.craftEdit.refreshLoad();
// } // }
}, },
onLoad() {
this.data = [
{
$cellEdit: true,
"area": 3.0,
"configNo": "B1",
"keyValue": 195827,
"material": "XXXX",
"memo": null,
"partCode": "21E8-040-17188-A1",
"plate": "XXXX",
"plateCode": "6",
"plateThickness": null,
"prepared": false,
"productType": "1",
"psId": 195827,
"quota": 1.0,
"sinTerType": 5,
"sinTerTypeTitle": "石墨模",
"subCode": "21E2-505-522-B1",
"subName": "设备架喷漆部件",
"subType": "R",
"subTypeTitle": "原材料",
"updateMan": {
"accountId": 622,
"card": null,
"createTime": "2025-06-26",
"curStatus": 1,
"deleted": false,
"deptName": null,
"dimissionTime": null,
"factoryId": 1,
"head": 1,
"jobName": null,
"keyValue": 601,
"ldapName": "zd001",
"mail": null,
"mobile": null,
"pfDepartment": {
"appLink": null,
"createTime": "2022-08-31",
"deleted": false,
"deptCode": "001",
"deptId": 1,
"deptName": "MES开发部",
"deptType": 1,
"deptTypeTitle": "厂",
"keyValue": 1,
"memo": null,
"orders": "00",
"parentDeptId": null,
"parentPath": null,
"ucDeptId": null,
"updateTime": "2022-08-31 16:32:46"
},
"pinyinIndex": "ZHANGDI,ZD",
"ucUserId": null,
"updateTime": "2025-06-26 15:31:23",
"userCode": "zd001",
"userId": 601,
"userName": "张迪",
"userSex": 1,
"userSources": "张迪",
"userString": "601:A:张迪",
"userType": "A"
},
"updateTime": "2025-07-11 17:46:06"
},
{
$cellEdit: true,
"area": 60.0,
"configNo": "L79",
"keyValue": 195828,
"material": null,
"memo": null,
"partCode": "21E8-040-17188-A1",
"plate": "12",
"plateCode": null,
"plateThickness": "3",
"prepared": false,
"productType": "3",
"psId": 195828,
"quota": 1.0,
"sinTerType": 2,
"sinTerTypeTitle": "壳体",
"subCode": "21E8-570-23998-L79",
"subName": "锌黄丙烯酸聚氨酯底漆",
"subType": "R",
"subTypeTitle": "原材料",
"updateMan": {
"accountId": null,
"card": null,
"createTime": "2022-08-31",
"curStatus": 1,
"deleted": false,
"deptName": null,
"dimissionTime": null,
"factoryId": 41,
"head": 0,
"jobName": "总工",
"keyValue": 1,
"ldapName": "admin",
"mail": "13699999999@136.com",
"mobile": "13699999999",
"pfDepartment": {
"appLink": null,
"createTime": "2022-08-31",
"deleted": false,
"deptCode": "001",
"deptId": 1,
"deptName": "MES开发部",
"deptType": 1,
"deptTypeTitle": "厂",
"keyValue": 1,
"memo": null,
"orders": "00",
"parentDeptId": null,
"parentPath": null,
"ucDeptId": null,
"updateTime": "2022-08-31 16:32:46"
},
"pinyinIndex": "ADMIN,ADMIN",
"ucUserId": null,
"updateTime": "2022-08-31 16:32:46",
"userCode": "00",
"userId": 1,
"userName": "admin",
"userSex": 1,
"userSources": "admin",
"userString": "1:A:admin",
"userType": "A"
},
"updateTime": "2025-09-23 13:24:24"
},
{
$cellEdit: true,
"area": 101.0,
"configNo": "A1",
"keyValue": 222030,
"material": null,
"memo": null,
"partCode": "21E8-040-17188-A1",
"plate": "12",
"plateCode": null,
"plateThickness": null,
"prepared": false,
"productType": "2",
"psId": 222030,
"quota": 1.0,
"sinTerType": 2,
"sinTerTypeTitle": "壳体",
"subCode": "21ET8-571-2901-A1",
"subName": "锌黄丙烯酸聚氨酯底漆1",
"subType": "R",
"subTypeTitle": "原材料",
"updateMan": {
"accountId": null,
"card": null,
"createTime": "2022-08-31",
"curStatus": 1,
"deleted": false,
"deptName": null,
"dimissionTime": null,
"factoryId": 41,
"head": 0,
"jobName": "总工",
"keyValue": 1,
"ldapName": "admin",
"mail": "13699999999@136.com",
"mobile": "13699999999",
"pfDepartment": {
"appLink": null,
"createTime": "2022-08-31",
"deleted": false,
"deptCode": "001",
"deptId": 1,
"deptName": "MES开发部",
"deptType": 1,
"deptTypeTitle": "厂",
"keyValue": 1,
"memo": null,
"orders": "00",
"parentDeptId": null,
"parentPath": null,
"ucDeptId": null,
"updateTime": "2022-08-31 16:32:46"
},
"pinyinIndex": "ADMIN,ADMIN",
"ucUserId": null,
"updateTime": "2022-08-31 16:32:46",
"userCode": "00",
"userId": 1,
"userName": "admin",
"userSex": 1,
"userSources": "admin",
"userString": "1:A:admin",
"userType": "A"
},
"updateTime": "2025-07-11 15:35:56"
},
{
$cellEdit: true,
"area": 8.0,
"configNo": "L16",
"keyValue": 222031,
"material": "3",
"memo": null,
"partCode": "21E8-040-17188-A1",
"plate": "12",
"plateCode": "77",
"plateThickness": null,
"prepared": true,
"productType": "4",
"psId": 222031,
"quota": 1.0,
"sinTerType": 3,
"sinTerTypeTitle": "自制玻璃饼",
"subCode": "21E8-571-4251-L16",
"subName": "锌黄丙烯酸聚氨酯底漆1",
"subType": "R",
"subTypeTitle": "原材料",
"updateMan": {
"accountId": null,
"card": null,
"createTime": "2022-08-31",
"curStatus": 1,
"deleted": false,
"deptName": null,
"dimissionTime": null,
"factoryId": 41,
"head": 0,
"jobName": "总工",
"keyValue": 1,
"ldapName": "admin",
"mail": "13699999999@136.com",
"mobile": "13699999999",
"pfDepartment": {
"appLink": null,
"createTime": "2022-08-31",
"deleted": false,
"deptCode": "001",
"deptId": 1,
"deptName": "MES开发部",
"deptType": 1,
"deptTypeTitle": "厂",
"keyValue": 1,
"memo": null,
"orders": "00",
"parentDeptId": null,
"parentPath": null,
"ucDeptId": null,
"updateTime": "2022-08-31 16:32:46"
},
"pinyinIndex": "ADMIN,ADMIN",
"ucUserId": null,
"updateTime": "2022-08-31 16:32:46",
"userCode": "00",
"userId": 1,
"userName": "admin",
"userSex": 1,
"userSources": "admin",
"userString": "1:A:admin",
"userType": "A"
},
"updateTime": "2025-07-11 15:36:02"
}
]
}
}, },
}; };
</script> </script>
@ -854,4 +691,4 @@ export default {
} }
} }
} }
</style> </style>

@ -5,12 +5,12 @@
<!-- 零件信息--> <!-- 零件信息-->
<el-tab-pane label="零件信息" name="1"> <el-tab-pane label="零件信息" name="1">
<dsPartBasicInfo ref="dsPartRef" v-if="activeName == '1'" :part-id="partId" @cancelClose="cancelClose" <dsPartBasicInfo ref="dsPartRef" v-if="activeName == '1'" :part-id="partId" @cancelClose="cancelClose"
:dialogType="dialogType" :partType="partType" /> :dialogType="dialogType" :partType="partType" :dsPartInfo="dsPartInfo" />
</el-tab-pane> </el-tab-pane>
<!-- 子件信息 --> <!-- 子件信息 -->
<el-tab-pane label="工艺编制" name="2"> <el-tab-pane label="工艺编制" name="2">
<!-- 工艺编制 --> <!-- 工艺编制 -->
<processPlanning ref="craftEdit" v-if="activeName == '2'" :part-id="partId" :dialogType="dialogType"></processPlanning> <processPlanning ref="craftEdit" v-if="activeName == '2'" :part-id="partId" :dialogType="dialogType" :updateRow="updateRow"></processPlanning>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<div class="content-right"> <div class="content-right">
@ -18,10 +18,10 @@
</div> </div>
</div> </div>
<template #footer> <template #footer v-if="activeName == '1'">
<div class="dialog-footer"> <div class="dialog-footer">
<el-button @click="cancel()">取消</el-button> <el-button @click="cancel()">取消</el-button>
<el-button type="primary" @click="cancel()"> <el-button type="primary" @click="submit()">
确认 确认
</el-button> </el-button>
</div> </div>
@ -32,6 +32,11 @@
import dsPartBasicInfo from './dsPartBasicInfo.vue'; import dsPartBasicInfo from './dsPartBasicInfo.vue';
import dsCraftPage from './dsCraft.vue' import dsCraftPage from './dsCraft.vue'
import processPlanning from './processPlanning.vue' import processPlanning from './processPlanning.vue'
import {
getPartDetail,getModelList
} from '@/api/processManagement/taskProcessing';
export default { export default {
name: 'DsPartIndex', name: 'DsPartIndex',
components: { components: {
@ -55,16 +60,23 @@ export default {
dialogType: { dialogType: {
type: String, type: String,
default: '', default: '',
},
updateRow:{
type:Object,
default:{}
} }
}, },
data() { data() {
return { return {
setCrewShow: false, setCrewShow: false,
activeName: '1' activeName: '1',
dsPartInfo:{}
}; };
}, },
methods: { methods: {
opened() { opened() {
// this.getPartDetails()
// if (this.partId) { // if (this.partId) {
// this.$refs.dsPartRef.loadData(this.partId); // this.$refs.dsPartRef.loadData(this.partId);
// } // }
@ -91,6 +103,11 @@ export default {
// this.$refs.dsPartRef.clear(); // this.$refs.dsPartRef.clear();
this.setCrewShow = false this.setCrewShow = false
this.$emit('cancel', typeof refresh === 'boolean' && refresh); this.$emit('cancel', typeof refresh === 'boolean' && refresh);
},
submit(){
if(this.activeName=='1'){
this.$refs.dsPartRef.submit()
}
} }
}, },
mounted() { mounted() {

@ -400,7 +400,6 @@
</template> </template>
<script> <script>
import dsPartBasicInfo from './dsPartBasicInfo.vue'; import dsPartBasicInfo from './dsPartBasicInfo.vue';
import dsCraftPage from './dsCraft.vue';
import processPlanning from './processPlanning.vue'; import processPlanning from './processPlanning.vue';
import { import {
getPartManagementDetail, getPartManagementDetail,
@ -413,7 +412,6 @@ export default {
name: 'DsPartIndex', name: 'DsPartIndex',
components: { components: {
dsPartBasicInfo, dsPartBasicInfo,
dsCraftPage,
processPlanning, processPlanning,
}, },
props: { props: {
@ -477,7 +475,6 @@ export default {
header: false, header: false,
index: true, index: true,
searchLabelPosition: 'left', searchLabelPosition: 'left',
searchLabelPosition: 'left',
searchGutter: 24, searchGutter: 24,
searchSpan: 6, searchSpan: 6,
menuAlign: 'left', menuAlign: 'left',
@ -609,9 +606,11 @@ export default {
// - // -
if (this.detailsType == 'processPlanning') { if (this.detailsType == 'processPlanning') {
let query = { let query = {
partId: this.rowData.partId, partId: 4,
partVersion: this.rowData.partVersion, partVersion: '1.3',
rank:'2'
}; };
debugger
getProcessManagementAuthorized(query).then(res => { getProcessManagementAuthorized(query).then(res => {
// this.craftData = res.data; // this.craftData = res.data;
@ -630,8 +629,9 @@ export default {
// - // -
if (this.detailsType == 'processPlanning') { if (this.detailsType == 'processPlanning') {
let query = { let query = {
partId: this.rowData.partId, partId: 4,
partVersion: this.rowData.partVersion, partVersion: '1.3',
rank:'2'
}; };
getPartManagementDetail(query).then(res => { getPartManagementDetail(query).then(res => {
this.formData = res.data.data.dsPartEntity; this.formData = res.data.data.dsPartEntity;

@ -6,7 +6,7 @@
<el-form :model="form" label-width="auto"> <el-form :model="form" label-width="auto">
<el-form-item label="工艺级别:"> <el-form-item label="工艺级别:">
<el-select <el-select
v-model="processLevel" v-model="rank"
placeholder="请选择" placeholder="请选择"
style="width: 220px" style="width: 220px"
@change="leavelChange" @change="leavelChange"
@ -71,107 +71,372 @@
<div class="table-btn-left"> <div class="table-btn-left">
<el-button type="primary" plain @click="addTable()">插入一行</el-button> <el-button type="primary" plain @click="addTable()">插入一行</el-button>
<el-button type="danger" plain @click="delTable()">删除选择行</el-button> <el-button type="danger" plain @click="delTable()">删除选择行</el-button>
<el-button type="primary" @click="saveInfo()">保存</el-button>
</div> </div>
<div class="table-btn-right" v-if="!(activeName == '3' || activeName == '4')"> <div class="table-btn-right" v-if="activeName == '1'">
<el-select <el-select
v-model="processLevel" v-model="modelLevel"
placeholder="选择工艺模板" placeholder="选择工艺模板"
style="width: 220px; margin-right: 12px" style="width: 220px; margin-right: 12px"
> >
<el-option label="模板一" value="1" /> <el-option
<el-option label="模板二" value="2" /> v-for="(item, index) in modelOption"
<el-option label="模板三" value="3" /> :key="index"
:label="item.name"
:value="item.id"
/>
</el-select> </el-select>
<el-button type="primary">导入模板</el-button> <el-button type="primary" @change="modelLevelChange()">导入模板</el-button>
</div> </div>
</div> </div>
<el-table :data="tableData1" style="width: 100%" v-if="activeName == '1'"> <!-- 工序 -->
<el-table-column type="selection" width="55"></el-table-column> <el-form
<el-table-column prop="date" label="工序号"></el-table-column> ref="tableForm1"
<el-table-column prop="name" label="工序"> :model="form1"
<template #header> :rules="formRules1"
<span><i style="color: red">*</i>工序</span> label-width="0px"
</template> v-if="activeName == '1'"
</el-table-column> >
<el-table-column prop="address" label="工艺能力"> <el-table :data="form1.tableData1" style="width: 100%">
<template #header> <el-table-column type="selection" width="55"></el-table-column>
<span><i style="color: red">*</i>工艺能力</span> <el-table-column prop="processNo" label="工序号">
</template> <template #default="scope">
</el-table-column> <el-input
<el-table-column prop="address" label="工序描述"> v-model="scope.row.processNo"
<template #header> placeholder="请输入"
<span><i style="color: red">*</i>工序描述</span> style="width: 100%"
</template> ></el-input>
</el-table-column> </template>
<el-table-column prop="address" label="定额工时(分钟)"> </el-table-column>
<template #header> <el-table-column prop="processName" label="工序">
<span><i style="color: red">*</i>定额工时(分钟)</span> <template #header>
</template> <span><i style="color: red">*</i>工序</span>
</el-table-column> </template>
<el-table-column prop="address" label="准备工时(分钟)"> </el-table-column> <template #default="scope">
<el-table-column prop="address" label="是否主工序"> <el-form-item
<el-select v-model="value" placeholder="请选择"> :prop="`tableData1[${scope.$index}].processName`"
<el-option label="是" value="1"></el-option> :rules="formRules1.processName"
<el-option label="否" value="2"></el-option> >
</el-select> <el-select v-model="scope.row.processName" placeholder="请选择">
</el-table-column> <el-option
</el-table> v-for="(item, index) in processSetOption"
<el-table :data="tableData2" style="width: 100%" v-if="activeName == '2'"> :key="index"
<el-table-column type="selection" width="55"></el-table-column> label="是"
<el-table-column prop="date" label="工序号"></el-table-column> value="1"
<el-table-column prop="date" label="检验项目"> ></el-option>
<template #header> </el-select>
<span><i style="color: red">*</i>检验项目</span> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="date" label="检验标准"> <el-table-column prop="address" label="工艺能力">
<template #header> <template #header>
<span><i style="color: red">*</i>检验标准</span> <span><i style="color: red">*</i>工艺能力</span>
</template> </template>
</el-table-column> <template #default="scope">
<el-table-column prop="date" label="标准值"> </el-table-column> <el-form-item
<el-table-column prop="date" label="上限"> </el-table-column> :prop="`tableData1[${scope.$index}].address`"
<el-table-column prop="date" label="下限"> </el-table-column> :rules="formRules1.address"
<el-table-column prop="date" label="定额工时(分钟)"> >
<template #header> <el-select v-model="scope.row.address" placeholder="请选择">
<span><i style="color: red">*</i>定额工时(分钟)</span> <el-option
</template> v-for="(item, index) in craftAbilityOption"
</el-table-column> :key="index"
<el-table-column prop="date" label="准备工时(分钟)"></el-table-column> label="是"
</el-table> value="1"
<el-table :data="tableData3" style="width: 100%" v-if="activeName == '3'"> ></el-option>
<el-table-column type="selection" width="55"></el-table-column> </el-select>
<el-table-column prop="date" label="工序号"></el-table-column> </el-form-item>
<el-table-column prop="date" label="镀前镀后"> </template>
<template #header> </el-table-column>
<span><i style="color: red">*</i>镀前镀后</span> <el-table-column prop="proDes" label="工序描述">
</template> <template #header>
</el-table-column> <span><i style="color: red">*</i>工序描述</span>
<el-table-column prop="date" label="量具"> </template>
<template #header> <template #default="scope">
<span><i style="color: red">*</i>量具</span> <el-form-item :prop="`tableData1[${scope.$index}].proDes`" :rules="formRules1.proDes">
</template> <el-input
</el-table-column> v-model="scope.row.proDes"
<el-table-column prop="date" label="量具尺寸"></el-table-column> placeholder="请输入"
<el-table-column prop="date" label="图纸尺寸"></el-table-column> style="width: 100%"
</el-table> ></el-input>
<el-table :data="tableData4" style="width: 100%" v-if="activeName == '4'"> </el-form-item>
<el-table-column type="selection" width="55"></el-table-column> </template>
<el-table-column prop="date" label="工序号"></el-table-column> </el-table-column>
<el-table-column prop="date" label="对应工装"> <el-table-column prop="proHours" label="定额工时(分钟)">
<template #header> <template #header>
<span><i style="color: red">*</i>对应工装</span> <span><i style="color: red">*</i>定额工时(分钟)</span>
</template> </template>
</el-table-column> <template #default="scope">
<el-table-column prop="date" label="工装名称"></el-table-column> <el-form-item
<el-table-column prop="date" label="是否印字"></el-table-column> :prop="`tableData1[${scope.$index}].proHours`"
<el-table-column prop="date" label="印字版编号"></el-table-column> :rules="formRules1.proHours"
<el-table-column prop="date" label="测试夹具号"></el-table-column> >
</el-table> <el-input
v-model="scope.row.proHours"
placeholder="请输入"
style="width: 100%"
></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="setoutHours" label="准备工时(分钟)">
<template #default="scope">
<el-input
v-model="scope.row.proHours"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="isMain" label="是否主工序">
<template #default="scope">
<el-form-item :prop="`tableData1[${scope.$index}].isMain`" :rules="formRules1.isMain">
<el-select v-model="scope.row.isMain" placeholder="请选择">
<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>
<!-- 项目 -->
<el-form
ref="tableForm2"
:model="form2"
:rules="formRules2"
label-width="0px"
v-if="activeName == '2'"
>
<el-table :data="form2.tableData2" style="width: 100%">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="trialNo" label="工序号">
<template #default="scope">
<el-input
v-model="scope.row.trialNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="projectName" label="检验项目">
<template #header>
<span><i style="color: red">*</i>检验项目</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData2[${scope.$index}].projectName`"
:rules="formRules2.projectName"
>
<el-select v-model="scope.row.projectName" placeholder="请选择">
<el-option label="是" value="1"></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="formRules2.projectStandard"
>
<el-input
v-model="scope.row.projectStandard"
placeholder="请输入"
style="width: 100%"
></el-input>
</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="formRules2.proHours"
>
<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>
</el-form>
<!-- 量具 -->
<el-form
ref="tableForm3"
:model="form3"
:rules="formRules3"
label-width="0px"
v-if="activeName == '3'"
>
<el-table :data="form3.tableData3" style="width: 100%">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="trialNo" label="工序号">
<template #default="scope">
<el-input
v-model="scope.row.trialNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="testType" label="镀前镀后">
<template #header>
<span><i style="color: red">*</i>镀前镀后</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData3[${scope.$index}].testType`"
:rules="formRules3.testType"
>
<el-select v-model="scope.row.testType" placeholder="请选择">
<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-column prop="tool" label="量具">
<template #header>
<span><i style="color: red">*</i>量具</span>
</template>
<template #default="scope">
<el-form-item :prop="`tableData3[${scope.$index}].tool`" :rules="formRules3.tool">
<el-select v-model="scope.row.tool" placeholder="请选择">
<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-column prop="toolSize" label="量具尺寸">
<template #default="scope">
<el-input
v-model="scope.row.toolSize"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="toolInfo" label="图纸尺寸">
<template #default="scope">
<el-input
v-model="scope.row.toolInfo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
</el-table>
</el-form>
<!-- 工装 -->
<el-form
ref="tableForm4"
:model="form4"
:rules="formRules4"
label-width="0px"
v-if="activeName == '4'"
>
<el-table :data="form4.tableData4" style="width: 100%">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column prop="trialNo" label="工序号">
<template #default="scope">
<el-input
v-model="scope.row.trialNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="moldCode" label="对应工装">
<template #header>
<span><i style="color: red">*</i>对应工装</span>
</template>
<template #default="scope">
<el-form-item
:prop="`tableData1[${scope.$index}].moldCode`"
:rules="formRules4.moldCode"
>
<el-input
v-model="scope.row.moldCode"
placeholder="请输入"
style="width: 100%"
></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column prop="moldName" label="工装名称">
<template #default="scope">
<el-input
v-model="scope.row.moldName"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="isPrint" label="是否印字">
<template #default="scope">
<el-input
v-model="scope.row.isPrint"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="printNo" label="印字版编号">
<template #default="scope">
<el-input
v-model="scope.row.printNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
<el-table-column prop="testFixtureNo" label="测试夹具号">
<template #default="scope">
<el-input
v-model="scope.row.testFixtureNo"
placeholder="请输入"
style="width: 100%"
></el-input>
</template>
</el-table-column>
</el-table>
</el-form>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import {
getProcessAuthorized,
getModelList,
getModelDetailList,
authorizedAccomplish2,
saveProcessProjectSave,
saveProcessMeasuringTool,
saveProcessMoldTool,
getProcessSetList,
getCraftAbilityList,
} from '@/api/processManagement/taskProcessing';
export default { export default {
name: 'CraftIndex', name: 'CraftIndex',
components: {}, components: {},
@ -188,58 +453,16 @@ export default {
type: String, type: String,
default: '', default: '',
}, },
updateRow: {
type: Object,
default: {},
},
}, },
data() { data() {
return { return {
rank: '2',
processLevel: '2', processLevel: '2',
data: [ data: [],
{
label: '零件号A',
disabled: true,
children: [
{
label: 'B0001-C0001',
children: [
{
label: '清洗',
},
{
label: '镀后检验',
children: [
{
label: '厚度检验',
disabled: true,
},
{
label: '外观检验',
disabled: true,
},
],
},
],
},
{
label: 'B0001-C0002',
children: [
{
label: '清洗',
},
{
label: '镀后检验',
children: [
{
label: '厚度检验',
},
{
label: '外观检验',
},
],
},
],
},
],
},
],
defaultProps: { defaultProps: {
children: 'children', children: 'children',
label: 'label', label: 'label',
@ -282,21 +505,184 @@ export default {
], ],
activeName: '1', activeName: '1',
treeLeave: 2, // treeLeave: 2, //
processSetOption: [], //
craftAbilityOption: [], //
modelOption: [], //
modelLevel: null, //
form1: {
tableData1: [], //
},
form2: {
tableData2: [], //
},
form3: {
tableData3: [], //
},
form4: {
tableData4: [], //
},
formRules1: {
processName: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
address: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
proDes: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
proHours: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
isMain: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
},
formRules2: {
projectName: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
projectStandard: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
proHours: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
},
formRules3: {
testType: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
tool: [{ required: true, message: '请选择', trigger: ['change', 'submit'] }],
},
formRules4: {
moldCode: [{ required: true, message: '请输入', trigger: ['change', 'submit'] }],
},
}; };
}, },
mounted() {
this.getDetails();
this.getModelList();
this.getProcessSetList();
this.getCraftAbilityList();
},
methods: { methods: {
//
getModelList() {
getModelList().then(res => {
this.modelOption = res.data.data;
});
},
//
getProcessSetList() {
getProcessSetList().then(res => {
this.processSetOption = res.data.data;
});
},
//
getCraftAbilityList() {
getCraftAbilityList().then(res => {
this.craftAbilityOption = res.data.data;
});
},
//
modelLevelChange() {
getModelDetailList({ modelId: this.modelLevel }).then(res => {
console.log(9999, res);
});
},
//
getDetails() {
getProcessAuthorized({ partId: this.partId, taskId: this.updateRow.id }).then(res => {
this.data = this.transformCraftTree(res.data.data);
console.log(89898989, this.data);
});
},
//
transformCraftTree(responseData) {
const { partInfo, craftList } = responseData;
const partCode = partInfo.partCode;
//
const tree = [
{
label: partCode,
disabled: true,
rawData: partInfo, //
children: craftList.map(craft => {
const { craftInfo, processList } = craft;
// roamNo-craftNo
const craftLabel = `${craftInfo.roamNo}-${craftInfo.craftNo}`;
return {
...craftInfo,
label: craftLabel,
processList: processList.map(process => {
return process.processInfo;
}),
rawData: craftInfo, //
children: processList.map(process => {
const { processInfo, projectList, measuringToolList, moldToolList } = process;
//
const processLabel = processInfo.processName;
return {
...processInfo,
label: processLabel,
rawData: {
processInfo,
projectList,
measuringToolList,
moldToolList,
}, //
children: projectList.map(project => ({
label: project.projectName, //
rawData: project, //
disabled: true,
})),
};
}),
};
}),
},
];
return tree;
},
// //
handleNodeClick(nodes, node, self) { handleNodeClick(nodes, node, self) {
if (nodes.disabled) { if (nodes.disabled) {
//
return false; return false;
} }
this.treeLeave = node.level; this.treeLeave = node.level;
if (this.treeLeave == 3) {
this.activeName = '2'; //
} this.form1.tableData1 = [];
if (this.treeLeave == 2) { this.form2.tableData2 = [];
this.form3.tableData3 = [];
this.form4.tableData4 = [];
//
if (this.treeLeave === 2) {
this.activeName = '1'; this.activeName = '1';
console.log(99999, nodes.processList);
this.form1.tableData1 = nodes.processList;
}
//
if (this.treeLeave === 3) {
this.activeName = '2';
//
const { processInfo, projectList, measuringToolList, moldToolList } = nodes.rawData;
//
this.form2.tableData2 = projectList.map(item => ({
trialNo: item.projectCode,
projectName: item.projectName,
projectStandard: item.projectStandard,
proHours: item.proHours,
prepareHours: item.prepareHours,
}));
//
this.form3.tableData3 = measuringToolList.map(item => ({
trialNo: item.projectCode || '',
testType: item.testType,
tool: item.tool,
toolSize: item.toolSize,
toolInfo: item.toolInfo,
}));
//
this.form4.tableData4 = moldToolList.map(item => ({
trialNo: processInfo.processNo,
moldCode: item.moldCode,
moldName: item.moldName,
isPrint: item.isPrint,
printNo: item.printNo,
testFixtureNo: item.testFixtureNo,
}));
} }
}, },
// tab // tab
@ -305,17 +691,22 @@ export default {
}, },
// //
leavelChange() { leavelChange() {
this.$message.success('保存成功');
// this.$message.success('');
}, },
// //
addTable() { addTable() {
if (this.activeName == '1') { if (this.activeName == '1') {
this.form1.tableData1.push({});
} }
if (this.activeName == '2') { if (this.activeName == '2') {
this.form2.tableData2.push({});
} }
if (this.activeName == '3') { if (this.activeName == '3') {
this.form3.tableData3.push({});
} }
if (this.activeName == '4') { if (this.activeName == '4') {
this.form4.tableData4.push({});
} }
}, },
// //
@ -329,6 +720,66 @@ export default {
if (this.activeName == '4') { if (this.activeName == '4') {
} }
}, },
saveInfo() {
if (this.activeName == '1') {
// Form
this.$refs.tableForm1.validate((isValid, invalidFields) => {
if (!isValid) {
let query_ = {
dsPart: {}, //
craft: {}, //
processList: [], //
deleteIds: [], //ids
};
// authorizedAccomplish2(query_).then(res=>{
// })
}
});
}
if (this.activeName == '2') {
this.$refs.tableForm2.validate((isValid, invalidFields) => {
if (!isValid) {
let query_ = {
processEntity: {}, //
processProjectEntityList: [], //
deleteIds: [], //ids
};
// saveProcessProjectSave(query_).then(res=>{
// })
}
});
}
if (this.activeName == '3') {
this.$refs.tableForm3.validate((isValid, invalidFields) => {
if (!isValid) {
let query_ = {
processEntity: {}, //
processMeasuringToolEntities: [], //
deleteIds: [], //ids
};
// saveProcessMeasuringTool(query_).then(res=>{
// })
}
});
}
if (this.activeName == '4') {
this.$refs.tableForm4.validate((isValid, invalidFields) => {
if (!isValid) {
let query_ = {
processEntity: {}, //
processMoldToolEntities: [], //
deleteIds: [], //ids
};
// saveProcessMoldTool(query_).then(res=>{
// })
}
});
}
},
}, },
}; };
</script> </script>
@ -345,13 +796,11 @@ export default {
.process-select { .process-select {
padding: 12px; padding: 12px;
background: #e4e7ed; background: #e4e7ed;
:deep(.el-form-item) {
margin-bottom: 0px !important;
}
} }
} }
:deep(.el-form-item) {
margin-bottom: 0px !important;
}
.process-right { .process-right {
padding: 12px; padding: 12px;
flex: 1; flex: 1;
@ -372,4 +821,10 @@ export default {
} }
} }
} }
:deep(.el-table .el-table__cell) {
height: 50px !important;
padding: 0 !important;
line-height: 50px !important;
}
</style> </style>

@ -7,7 +7,6 @@
v-model="form" v-model="form"
v-model:page="page" v-model:page="page"
ref="crud" ref="crud"
@row-del="rowDel"
@search-change="searchChange" @search-change="searchChange"
@search-reset="searchReset" @search-reset="searchReset"
@selection-change="selectionChange" @selection-change="selectionChange"

@ -226,10 +226,11 @@ export default {
}, },
// //
setCrewOpeSancel(isRefresh) { setCrewOpeSancel(isRefresh) {
if (isRefresh) { // if (isRefresh) {
this.$refs.myTable.load(); // this.$refs.myTable.load();
} // }
this.setCrewOpen = false; this.setCrewOpen = false;
this.onLoad(this.page)
}, },
// //
searchReset() { searchReset() {

@ -24,6 +24,7 @@
<el-button type="primary" link @click="viewDetails(scope.row.partId, scope.row)" <el-button type="primary" link @click="viewDetails(scope.row.partId, scope.row)"
>详情</el-button >详情</el-button
> >
<!-- 0 待分派 1 待接收 2 进行中 3 已完成 -->
<el-button <el-button
type="primary" type="primary"
link link
@ -35,21 +36,21 @@
type="primary" type="primary"
link link
@click="receiveFn(scope.row)" @click="receiveFn(scope.row)"
v-if="scope.row.taskStatus == 0" v-if="scope.row.taskStatus == 1"
>接收</el-button >接收</el-button
> >
<el-button <el-button
type="primary" type="primary"
link link
@click="completedFn(scope.row)" @click="completedFn(scope.row)"
v-if="scope.row.taskStatus == 1" v-if="scope.row.taskStatus == 2"
>完成</el-button >完成</el-button
> >
<el-button <el-button
type="primary" type="primary"
link link
@click="setBathCrew(scope.row)" @click="setBathCrew(scope.row)"
v-if="scope.row.taskStatus == 0 && scope.row.children" v-if="scope.row.taskStatus == 1 && scope.row.children"
>转派</el-button >转派</el-button
> >
</template> </template>
@ -69,7 +70,7 @@
</div> </div>
</template> </template>
</avue-crud> </avue-crud>
<!-- 转派 -->
<assignDaialog <assignDaialog
:id="bcId" :id="bcId"
:set-crew-open="setCrewOpen" :set-crew-open="setCrewOpen"
@ -77,6 +78,7 @@
type="platingAssort" type="platingAssort"
@setCrewOpeSancel="cancel" @setCrewOpeSancel="cancel"
:title="title" :title="title"
:updateRow="updateRow"
></assignDaialog> ></assignDaialog>
<!-- 编制 --> <!-- 编制 -->
@ -87,6 +89,7 @@
@cancel="cancel" @cancel="cancel"
:partType="partType" :partType="partType"
:dialogType="dialogType" :dialogType="dialogType"
:updateRow="updateRow"
></dsPartIndex> ></dsPartIndex>
<!-- 返工任务编制 --> <!-- 返工任务编制 -->
@ -292,11 +295,11 @@ export default {
dicData: [ dicData: [
{ {
value: 0, value: 0,
label: '待接收', label: '待分派',
}, },
{ {
value: 1, value: 1,
label: '进行中', label: '待接收',
}, },
{ {
value: 2, value: 2,
@ -350,6 +353,7 @@ export default {
title: '分派', title: '分派',
isTestOpen: false, // isTestOpen: false, //
detailsRow: {}, detailsRow: {},
updateRow: [], //
}; };
}, },
methods: { methods: {
@ -367,6 +371,7 @@ export default {
this.isReworkOpen = false; this.isReworkOpen = false;
this.showPartDetails = false; this.showPartDetails = false;
this.setCrewOpen = false; this.setCrewOpen = false;
this.onLoad(this.page);
}, },
// //
completedFn(row) { completedFn(row) {
@ -374,15 +379,15 @@ export default {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning',
}) }).then(() => {
.then(() => { completeSet({ taskIds: row.id }).then(res => {
completeSet({ taskIds: row.id }).then(res => { this.$message({
this.$message({ type: 'success',
type: 'success', message: '操作成功!',
message: '操作成功!',
});
}); });
}) this.onLoad(this.page);
});
});
}, },
// //
receiveFn(row) { receiveFn(row) {
@ -390,16 +395,17 @@ export default {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning',
}) }).then(() => {
.then(() => { taskReception({ taskId: row.id }).then(res => {
taskReception({ taskIds: row.id });
this.$message({ this.$message({
type: 'success', type: 'success',
message: '操作成功!', message: '操作成功!',
}); });
//
done(row);
}); });
this.onLoad(this.page);
//
done(row);
});
}, },
// //
viewDetails(partId, row, level) { viewDetails(partId, row, level) {
@ -417,6 +423,7 @@ export default {
// //
organization(partId, row) { organization(partId, row) {
this.partId = partId; this.partId = partId;
this.updateRow = row
if (row.taskType == '3') { if (row.taskType == '3') {
this.isReworkOpen = true; this.isReworkOpen = true;
} else { } else {
@ -431,8 +438,9 @@ export default {
} }
}, },
// //
setBathCrew() { setBathCrew(row) {
this.setCrewOpen = true; this.setCrewOpen = true;
this.updateRow.push(row);
this.title = '转派'; this.title = '转派';
}, },
// //

Loading…
Cancel
Save