lanan-system-vue/src/views/base/property/position/PropertyPosForm.vue
2024-08-08 20:10:23 +08:00

124 lines
4.1 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="app-container">
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="45%" v-dialogDrag append-to-body>
<el-form ref="formRef" :model="formData" :rules="formRules" v-loading="formLoading" label-width="100px">
<el-form-item label="企业idbase_company表中的id" prop="corpId">
<el-input v-model="formData.corpId" placeholder="请输入企业idbase_company表中的id" />
</el-form-item>
<el-form-item label="部门idsystem_dept表中的id用来做数据权限控制" prop="deptId">
<el-input v-model="formData.deptId" placeholder="请输入部门idsystem_dept表中的id用来做数据权限控制" />
</el-form-item>
<el-form-item label="存放地名称" prop="posName">
<el-input v-model="formData.posName" placeholder="请输入存放地名称" />
</el-form-item>
<el-form-item label="存放地地址" prop="address">
<el-input v-model="formData.address" placeholder="请输入存放地地址" />
</el-form-item>
<el-form-item label="面积" prop="area">
<el-input v-model="formData.area" placeholder="请输入面积" />
</el-form-item>
<el-form-item label="存放类型" prop="depositType">
<el-select v-model="formData.depositType" placeholder="请选择存放类型">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMPANY_DEPOSIT_TYPE)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" :disabled="formLoading"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import * as PropertyPosApi from '@/api/base/property/position';
export default {
name: "PropertyPosForm",
components: {
},
data() {
return {
// 弹出层标题
dialogTitle: "",
// 是否显示弹出层
dialogVisible: false,
// 表单的加载中1修改时的数据加载2提交的按钮禁用
formLoading: false,
// 表单参数
formData: {
id: undefined,
corpId: undefined,
deptId: undefined,
posName: undefined,
address: undefined,
area: undefined,
depositType: undefined,
},
// 表单校验
formRules: {
},
};
},
methods: {
/** 打开弹窗 */
async open(id) {
this.dialogVisible = true;
this.reset();
// 修改时,设置数据
if (id) {
this.formLoading = true;
try {
const res = await PropertyPosApi.getPropertyPos(id);
this.formData = res.data;
this.title = "修改企业管理-资产存放位置";
} finally {
this.formLoading = false;
}
}
this.title = "新增企业管理-资产存放位置";
},
/** 提交按钮 */
async submitForm() {
// 校验主表
await this.$refs["formRef"].validate();
this.formLoading = true;
try {
const data = this.formData;
// 修改的提交
if (data.id) {
await PropertyPosApi.updatePropertyPos(data);
this.$modal.msgSuccess("修改成功");
this.dialogVisible = false;
this.$emit('success');
return;
}
// 添加的提交
await PropertyPosApi.createPropertyPos(data);
this.$modal.msgSuccess("新增成功");
this.dialogVisible = false;
this.$emit('success');
} finally {
this.formLoading = false;
}
},
/** 表单重置 */
reset() {
this.formData = {
id: undefined,
corpId: undefined,
deptId: undefined,
posName: undefined,
address: undefined,
area: undefined,
depositType: undefined,
};
this.resetForm("formRef");
}
}
};
</script>