| | |
| | | <script lang="ts" name="fBS_EnterpriseType" setup> |
| | | <!-- |
| | | * @FilePath: editDialog.vue |
| | | * @Author: 小飞侠 |
| | | * @Date: 2025-06-25 11:22:03 |
| | | * @LastEditors: Please set LastEditors |
| | | * @LastEditTime: 2025-07-22 17:28:33 |
| | | * Copyright: 2025 MinTinge CO.,LTD. All Rights Reserved. |
| | | * @Descripttion: 写入你的描述 |
| | | --> |
| | | <script lang="ts" name="fBS_EnterpriseType" setup> |
| | | import { ref, reactive, onMounted } from "vue"; |
| | | import { ElMessage } from "element-plus"; |
| | | import type { FormRules } from "element-plus"; |
| | |
| | | ruleForm: {} as any, |
| | | stores: {}, |
| | | dropdownData: {} as any, |
| | | tableData: [] as any[], |
| | | }); |
| | | |
| | | // 自行添加其他规则 |
| | | const rules = ref<FormRules>({ |
| | | name: [{required: true, message: '请选择名称!', trigger: 'blur',},], |
| | | code: [{required: true, message: '请选择代码!', trigger: 'blur',},], |
| | | parentId: [{required: true, message: '请选择父!', trigger: 'blur',},], |
| | | name: [{ required: true, message: '请输入名称!', trigger: 'blur', },], |
| | | code: [{ required: true, message: '请输入代码!', trigger: 'blur', },] |
| | | // parentId: [{ required: true, message: '请选择父!', trigger: 'blur', },], |
| | | }); |
| | | |
| | | // 页面加载时 |
| | |
| | | }); |
| | | |
| | | // 打开弹窗 |
| | | const openDialog = async (row: any, title: string) => { |
| | | const openDialog = async (row: any, data:any,title: string) => { |
| | | |
| | | state.title = title; |
| | | row = row ?? { }; |
| | | row = row ?? {}; |
| | | state.ruleForm = row.id ? await fBS_EnterpriseTypeApi.detail(row.id).then(res => res.data.result) : JSON.parse(JSON.stringify(row)); |
| | | state.showDialog = true; |
| | | state.tableData = data; |
| | | |
| | | }; |
| | | |
| | | // 关闭弹窗 |
| | | const closeDialog = () => { |
| | | emit("reloadTable"); |
| | | console.log("listdata",state.tableData); |
| | | |
| | | state.showDialog = false; |
| | | }; |
| | | |
| | |
| | | ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => { |
| | | if (isValid) { |
| | | let values = state.ruleForm; |
| | | if(values.parentId==null) |
| | | values.parentId=0; |
| | | await fBS_EnterpriseTypeApi[state.ruleForm.id ? 'update' : 'add'](values); |
| | | closeDialog(); |
| | | } else { |
| | |
| | | } |
| | | }); |
| | | }; |
| | | const treeProps = reactive({ |
| | | |
| | | children: 'child', |
| | | label: 'name', |
| | | value: 'id', |
| | | disabled:(node:any)=>{ |
| | | return state.ruleForm?.id== node.id; |
| | | } |
| | | |
| | | }) |
| | | |
| | | //将属性或者函数暴露给父组件 |
| | | defineExpose({ openDialog }); |
| | |
| | | <el-form-item v-show="false"> |
| | | <el-input v-model="state.ruleForm.id" /> |
| | | </el-form-item> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="名称" prop="name"> |
| | | <el-input v-model="state.ruleForm.name" placeholder="请输入名称" maxlength="256" show-word-limit clearable /> |
| | | <el-input v-model="state.ruleForm.name" placeholder="请输入名称" maxlength="256" show-word-limit |
| | | clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="代码" prop="code"> |
| | | <el-input v-model="state.ruleForm.code" placeholder="请输入代码" maxlength="36" show-word-limit clearable /> |
| | | <el-input v-model="state.ruleForm.code" placeholder="请输入代码" maxlength="36" show-word-limit |
| | | clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > |
| | | <el-form-item label="父" prop="parentId"> |
| | | <el-input-number v-model="state.ruleForm.parentId" placeholder="请输入父" clearable /> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="代码" prop="description"> |
| | | <el-input v-model="state.ruleForm.description" placeholder="请输入说明" maxlength="36" show-word-limit |
| | | clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="上级" prop="parentId"> |
| | | <el-tree-select :props="treeProps" clearable v-model="state.ruleForm.parentId" :data="state.tableData" check-strictly :render-after-expand="false" |
| | | style="width: 240px" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | </div> |
| | | </template> |
| | | <style lang="scss" scoped> |
| | | :deep(.el-select), :deep(.el-input-number) { |
| | | width: 100%; |
| | | :deep(.el-select), |
| | | :deep(.el-input-number) { |
| | | width: 100%; |
| | | } |
| | | </style> |