From 24f914a80d01fa8e5c6cfcba14ae59a6c0a117a8 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期一, 25 八月 2025 09:39:22 +0800 Subject: [PATCH] 修改 --- Web/src/views/Customer/fBS_CusExtend/component/fBS_Customer/component/editDialog.vue | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 151 insertions(+), 0 deletions(-) diff --git a/Web/src/views/Customer/fBS_CusExtend/component/fBS_Customer/component/editDialog.vue b/Web/src/views/Customer/fBS_CusExtend/component/fBS_Customer/component/editDialog.vue new file mode 100644 index 0000000..87689c9 --- /dev/null +++ b/Web/src/views/Customer/fBS_CusExtend/component/fBS_Customer/component/editDialog.vue @@ -0,0 +1,151 @@ +锘�<script lang="ts" name="fBS_Customer" setup> +import { ref, reactive, onMounted } from "vue"; +import { ElMessage } from "element-plus"; +import type { FormRules } from "element-plus"; +import { formatDate } from '/@/utils/formatTime'; +import { useFBS_CustomerApi } from '/@/api/Customer/fBS_Customer'; +import { useFBS_CusExtendApi } from '/@/api/Customer/fBS_CusExtend'; +const fBS_CusExtendApi = useFBS_CusExtendApi(); + +//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟 +const emit = defineEmits(["reloadTable"]); +const fBS_CustomerApi = useFBS_CustomerApi(); +const ruleFormRef = ref(); + +const state = reactive({ + title: '', + loading: false, + showDialog: false, + ruleForm: {} as any, + stores: {}, + dropdownData: {} as any, +}); + +// 鑷娣诲姞鍏朵粬瑙勫垯 +const rules = ref<FormRules>({ + account: [{required: true, message: '璇烽�夋嫨璐﹀彿锛�', trigger: 'blur',},], + password: [{required: true, message: '璇烽�夋嫨瀵嗙爜锛�', trigger: 'blur',},], + name: [{required: true, message: '璇疯緭鍏ュ鍚嶏紒', trigger: 'blur',},], + phoneNumber: [{required: true, message: '璇疯緭鍏ユ墜鏈哄彿锛�', trigger: 'change',},], + age: [{required: true, message: '璇烽�夋嫨骞撮緞锛�', trigger: 'blur',},], + cardType: [{required: true, message: '璇烽�夋嫨璇佷欢绫诲瀷锛�', trigger: 'change',},], + cultureLevel: [{required: true, message: '璇烽�夋嫨鏂囧寲绋嬪害锛�', trigger: 'change',},], + orderNo: [{required: true, message: '璇烽�夋嫨鎺掑簭锛�', trigger: 'blur',},], + status: [{required: true, message: '璇烽�夋嫨鐘舵�侊紒', trigger: 'change',},], +}); + +// 椤甸潰鍔犺浇鏃� +onMounted(async () => { +}); + +// 鎵撳紑寮圭獥 +const openDialog = async (row: any, title: string, newAdd:any) => { + console.log(newAdd,row); + row = row??{ status: 1,orderNo: 100, }; + state.ruleForm = row.id ? await fBS_CusExtendApi.custormerUserInfo(row.id).then(res => res.data.result) : JSON.parse(JSON.stringify(row)); + state.title = title; + if(title=='鏂板鐢ㄦ埛'){ + state.ruleForm.isEn = true + state.ruleForm.cusExtendId = newAdd.id + } + state.showDialog = true; +}; + +// 鍏抽棴寮圭獥 +const closeDialog = () => { + emit("reloadTable",state.ruleForm); + state.showDialog = false; +}; + +// 鎻愪氦 +const submit = async () => { + ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => { + if (isValid) { + let values = state.ruleForm; + let res = await fBS_CusExtendApi[state.ruleForm.id ? 'upDataCustormerUser' : 'careCustormerUser'](values); + state.ruleForm.id = state.ruleForm.id??res.data.result + closeDialog(); + } else { + ElMessage({ + message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜, + type: "error", + }); + } + }); +}; + +//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠� +defineExpose({ openDialog }); +</script> +<template> + <div class="fBS_Customer-container"> + <el-dialog v-model="state.showDialog" :width="800" draggable :close-on-click-modal="false"> + <template #header> + <div style="color: #fff"> + <span>{{ state.title }}</span> + </div> + </template> + <el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules"> + <el-row :gutter="35"> + <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-form-item label="濮撳悕" prop="name"> + <el-input v-model="state.ruleForm.name" placeholder="璇疯緭鍏ュ鍚�" 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="phoneNumber"> + <el-input v-model="state.ruleForm.phoneNumber" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" 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="鏄惁绠$悊鍛�"> + <el-switch + v-model="state.ruleForm.isManager" + inline-prompt + :active-value="true" + :inactive-value="false" + active-text="鏄�" + inactive-text="鍚�" + /> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" > + <el-form-item label="鏄惁鍚敤"> + <el-switch + v-model="state.ruleForm.isEn" + inline-prompt + :active-value="true" + :inactive-value="false" + active-text="鍚敤" + inactive-text="鍋滅敤" + /> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" > + <el-form-item label="澶囨敞" prop="remarks"> + <el-input + v-model="state.ruleForm.remarks" + placeholder="璇疯緭鍏ュ娉ㄤ俊鎭�" + type="textarea" + /> + </el-form-item> + </el-col> + </el-row> + </el-form> + <template #footer> + <span class="dialog-footer"> + <el-button @click="() => state.showDialog = false">鍙� 娑�</el-button> + <el-button @click="submit" type="primary" v-reclick="1000">纭� 瀹�</el-button> + </span> + </template> + </el-dialog> + </div> +</template> +<style lang="scss" scoped> +:deep(.el-select), :deep(.el-input-number) { + width: 100%; +} +</style> \ No newline at end of file -- Gitblit v1.9.1