feat(CoilSelector): 添加创建时间列

feat(anneal/plan): 支持多目标炉选择并优化表单逻辑

- 在CoilSelector组件的数据配置中添加创建时间列
- 修改退火计划表单,支持选择多个目标炉
- 移除未使用的状态更新对话框
- 新增表单提交时对多目标炉的处理逻辑
This commit is contained in:
2026-04-21 17:03:13 +08:00
parent c60ed8eb86
commit fc203acd68
2 changed files with 32 additions and 25 deletions

View File

@@ -55,6 +55,13 @@ export const defaultColumns = [
width: '120', width: '120',
showOverflowTooltip: true showOverflowTooltip: true
}, },
{
label: '创建时间',
align: 'center',
prop: 'createTime',
width: '100',
showOverflowTooltip: true
},
{ {
label: '备注', label: '备注',
align: 'center', align: 'center',

View File

@@ -208,19 +208,18 @@
<el-date-picker clearable v-model="form.planStartTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" <el-date-picker clearable v-model="form.planStartTime" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择计划时间" /> placeholder="请选择计划时间" />
</el-form-item> </el-form-item>
<el-form-item label="目标炉" prop="targetFurnaceId"> <el-form-item label="目标炉" v-if="!form.planId">
<el-select v-model="form.targetFurnaceId" placeholder="请选择" filterable> <el-select v-model="targetFurnaces" placeholder="请选择" filterable clearable multiple key="mu">
<el-option v-for="item in furnaceOptions" :key="item.furnaceId" :label="item.furnaceName" <el-option v-for="item in furnaceOptions" :key="item.furnaceId" :label="item.furnaceName"
:value="item.furnaceId" /> :value="item.furnaceId" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="状态" prop="status"> <el-form-item label="目标炉" prop="targetFurnaceId" v-else>
<el-select v-model="form.status" placeholder="请选择"> <el-select v-model="form.targetFurnaceId" placeholder="请选择" filterable clearable key="si">
<el-option label="未开始" :value="0" /> <el-option v-for="item in furnaceOptions" :key="item.furnaceId" :label="item.furnaceName"
<el-option label="进行中" :value="2" /> :value="item.furnaceId" />
<el-option label="已完成" :value="3" />
</el-select> </el-select>
</el-form-item> --> </el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" /> <el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item> </el-form-item>
@@ -230,22 +229,6 @@
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog title="更新状态" :visible.sync="statusOpen" width="360px" append-to-body>
<!-- <el-form label-width="90px">
<el-form-item label="状态">
<el-select v-model="statusForm.status" placeholder="请选择">
<el-option label="未开始" :value="0" />
<el-option label="进行中" :value="2" />
<el-option label="已完成" :value="3" />
</el-select>
</el-form-item>
</el-form> -->
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitStatus"> </el-button>
<el-button @click="statusOpen = false"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
@@ -273,6 +256,7 @@ export default {
total: 0, total: 0,
planList: [], planList: [],
furnaceOptions: [], furnaceOptions: [],
targetFurnaces: [],
title: "", title: "",
open: false, open: false,
statusOpen: false, statusOpen: false,
@@ -434,6 +418,7 @@ export default {
status: 0, status: 0,
remark: undefined, remark: undefined,
}; };
this.targetFurnaces = [];
this.resetForm("form"); this.resetForm("form");
}, },
resetMaterialForm() { resetMaterialForm() {
@@ -488,7 +473,22 @@ export default {
this.buttonLoading = false; this.buttonLoading = false;
}); });
} else { } else {
addAnnealPlan(this.form).then(() => { if (this.targetFurnaces.length === 0) {
this.$message.warning('请选择至少一个目标炉');
return;
}
Promise.all(this.targetFurnaces.map(id => {
return addAnnealPlan({
...this.form,
targetFurnaceId: id,
}).then(() => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
}).finally(() => {
this.buttonLoading = false;
});
})).then(() => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();