update drawer and edit

This commit is contained in:
lb
2023-11-24 10:41:11 +08:00
parent d79ba71bd7
commit 54b63a7f53
7 changed files with 290 additions and 133 deletions

View File

@@ -52,6 +52,7 @@
<BasicDrawer
v-if="editVisible"
ref="drawer"
size="45%"
:default-mode="editMode"
:info-data="alarmForm"
:sections="[
@@ -59,6 +60,10 @@
name: '基本信息',
key: 'base',
rows: drawerBaseInfoRows,
url: '/base/equipment-plc-connect/get',
urlUpdate: '/base/equipment-plc-connect/update',
urlCreate: '/base/equipment-plc-connect/create',
queryParams: { id: alarmForm.id },
},
{
name: '采集参数',
@@ -189,7 +194,7 @@ export default {
placeholder: '请选择设备',
param: 'equipmentId',
selectOptions: [],
filterable: true
filterable: true,
},
{
type: 'select',
@@ -197,7 +202,7 @@ export default {
placeholder: '请选择关联表编码',
param: 'plcId',
selectOptions: [],
filterable: true
filterable: true,
},
{
type: 'button',
@@ -311,8 +316,8 @@ export default {
label: '生产参数类型',
filter: (val) =>
val != null
// ? ['', '进片数量', '出片数量', '破损数量', '无类型', ''][val]
? ['', '进口计数', '出口计数', '损耗计数', '无类型', ''][val]
? // ? ['', '进片数量', '出片数量', '破损数量', '无类型', ''][val]
['', '进口计数', '出口计数', '损耗计数', '无类型', ''][val]
: '-',
},
{
@@ -423,6 +428,19 @@ export default {
};
this.resetForm('form');
},
handleTableBtnClick({ data, type }) {
switch (type) {
case 'edit':
this.handleDetail(data, 'edit');
break;
case 'delete':
this.handleDelete(data);
break;
case 'detail':
this.handleDetail(data);
break;
}
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
@@ -474,7 +492,7 @@ export default {
},
// 查看报警
handleDetail(row) {
handleDetail(row, mode = 'detail') {
// debugger;
const {
id,
@@ -490,7 +508,7 @@ export default {
workshopSection,
} = row;
// 打开抽屉
this.editMode = 'detail';
this.editMode = mode;
this.alarmForm.id = id;
this.alarmForm.plcTableName = plcTableName; // 关联表名
this.alarmForm.equipmentName = equipmentName;

View File

@@ -12,7 +12,7 @@
:wrapper-closable="false"
class="drawer"
custom-class="mes-drawer"
size="60%"
:size="size || '50%'"
@closed="$emit('destroy')">
<SmallTitle slot="title">
{{
@@ -42,7 +42,8 @@
v-model="form"
:rows="formRows" /> -->
<el-row style="margin-bottom: 24px">
<!-- if -->
<el-row v-if="mode.includes('detail')" style="margin-bottom: 24px">
<el-col :span="8">
<div
class="title"
@@ -64,13 +65,39 @@
</div>
</el-col>
</el-row>
<!-- else -->
<el-row v-else style="margin-bottom: 24px" :gutter="20">
<el-form ref="form" :model="form">
<el-col :span="8">
<el-form-item
class="title"
label="设备名"
style="font-size: 16px; margin: 8px 0">
<el-input
v-model="form.equipmentName"
placeholder="请输入设备名"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
class="title"
label="设备关联表名"
style="font-size: 16px; margin: 8px 0">
<el-input
v-model="form.plcTableName"
placeholder="请输入关联表名"></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
</div>
<div
v-if="section.key == 'attrs'"
style="position: relative; margin-top: 12px">
<!-- v-if="!mode.includes('detail')" -->
<div style="position: absolute; top: -40px; right: 0">
<div
v-if="!mode.includes('detail')"
style="position: absolute; top: -40px; right: 0">
<el-button @click="handleAddAttr" type="text">
<i class="el-icon-plus"></i>
添加属性
@@ -86,7 +113,7 @@
<!-- :add-button-show="mode.includes('detail') ? null : '添加属性'"
@emitButtonClick="handleAddAttr" -->
<method-btn
v-if="section.tableBtn"
v-if="section.tableBtn && !mode.includes('detail')"
slot="handleBtn"
label="操作"
:method-list="tableBtn"
@@ -106,10 +133,12 @@
<div class="drawer-body__footer">
<el-button style="" @click="handleCancel">取消</el-button>
<!-- <el-button v-if="mode == 'detail'" type="primary" @click="toggleEdit">
编辑
</el-button> -->
<!-- <el-button v-else type="primary" @click="handleCancel">确定</el-button> -->
<el-button
type="primary"
v-if="!mode.includes('detail')"
@click="handleSave">
保存
</el-button>
</div>
</div>
@@ -164,7 +193,7 @@ const SmallTitle = {
export default {
components: { SmallTitle, DialogForm: BaseInfoForm, BaseInfoForm },
props: ['sections', 'defaultMode', 'infoData'],
props: ['sections', 'defaultMode', 'infoData', 'size'],
data() {
return {
mode: '',
@@ -412,7 +441,7 @@ export default {
handleSave() {
this.$refs['form'][0].validate(async (valid) => {
if (valid) {
const isEdit = this.mode == 'edit';
const isEdit = !this.mode.includes('detail');
await this.$axios({
url: this.sections[0][isEdit ? 'urlUpdate' : 'urlCreate'],
method: isEdit ? 'put' : 'post',