张诺
8 天以前 1a73c77e1d14205014f6a77a8954de480d436c0e
src/views/basicInformation/mould/coal.vue
@@ -6,29 +6,32 @@
            width="500"
            :close-on-click-modal="false"
            :before-close="handleClose"
        >
            <el-form
        >            <el-form
                ref="formRef"
                style="max-width: 600px; margin: 0 auto"
                :model="formData"
                :rules="rules"
                label-width="auto"
                label-width="120px"
            >
                <el-form-item label="煤种名称" prop="coal">
                    <el-input
                        v-model="formData.coal"
                        placeholder="请输入煤种名称"
                    />
                </el-form-item>
                <el-form-item label="维护人姓名" prop="maintainerId">
                </el-form-item>                <el-form-item label="维护人姓名" prop="maintainerId">
                    <el-input
                        v-model="formData.maintainerId"
                        placeholder="请输入维护人姓名"
                        :value="userStore.name || ''"
                        placeholder="维护人姓名"
                        disabled
                    />
                </el-form-item>                <el-form-item label="维护日期" prop="maintenanceDate">
                    <el-input
                        :value="getCurrentDate()"
                        placeholder="维护日期"
                        disabled
                    />
                </el-form-item>
                <el-form-item label="维护日期" prop="maintenanceDate">
                    <el-input v-model="formData.maintenanceDate" placeholder="请输入银行账户" />
                </el-form-item>
                <el-form-item>
                    <el-button type="primary" @click="submitForm">
                        确定
@@ -42,8 +45,11 @@
</template>
<script setup>
import { ref, watch ,defineProps } from 'vue'
import { ref, watch, defineProps, reactive, onMounted } from 'vue'
import { addOrEditCoalInfo } from '@/api/basicInformation/coal'
import useUserStore from '@/store/modules/user'
const userStore = useUserStore()
const props = defineProps({
    beforeClose: {
@@ -64,8 +70,38 @@
    },
})
const emit = defineEmits(['submit', 'handleBeforeClose','update:coalDialogFormVisible'])
// 在组件挂载时获取用户信息
onMounted(async () => {
    // 如果store中没有用户信息,则获取用户信息
    if (!userStore.name) {
        try {
            await userStore.getInfo()
            console.log('用户信息:', {
                id: userStore.id,
                name: userStore.name,
                nickName: userStore.nickName
            })
            // 自动填充维护人ID
            if (props.addOrEdit === 'add') {
                formData.value.maintainerId = userStore.id
            }
        } catch (error) {
            console.error('获取用户信息失败:', error)
        }
    } else {
        console.log('用户信息:', {
            id: userStore.id,
            name: userStore.name,
            nickName: userStore.nickName
        })
        // 自动填充维护人ID
        if (props.addOrEdit === 'add') {
            formData.value.maintainerId = userStore.id
        }
    }
})
const emit = defineEmits(['submit', 'handleBeforeClose','update:coalDialogFormVisible'])
// 表单引用
const formRef = ref(null)
// 表单数据
@@ -76,6 +112,10 @@
// 监听外部传入的表单数据变化
watch(() => props.form, (newVal) => {
    formData.value = { ...newVal }
    // 如果是新增模式,设置维护人
    if (props.addOrEdit === 'add' && userStore.id) {
        formData.value.maintainerId = userStore.id
    }
}, { deep: true })
// 监听内部弹窗状态变化
@@ -88,7 +128,18 @@
    if (!formRef.value) return
    await formRef.value.validate(async (valid, fields) => {
        if (valid) {
            formData.value.maintenanceDate = "2023-10-01" // 示例日期
            delete formData.value.createTime
            delete formData.value.updateTime
            delete formData.value.maintainerName // 删除显示用的字段,只保留ID
            // 确保maintainerId有值
            if (!formData.value.maintainerId) {
                formData.value.maintainerId = userStore.id
            }
            // 设置维护日期
            formData.value.maintenanceDate = getCurrentDate()
            let result = await addOrEditCoalInfo({
                ...formData.value,
            })
@@ -124,21 +175,15 @@
    { required: true, message: "请正确输入纳税人识别号", trigger: "blur" },
    { min: 17, max: 20, message: "请输入17-20位纳税人识别号", trigger: "blur" },
  ],
  address: [
    {
      required: true,
      message: "请选择经营地址",
      trigger: "change",
    },
  ],
  bankAccount: [{ required: true, message: "请输入银行账户", trigger: "blur" }],
  bank: [{ required: true, message: "请输入开户行", trigger: "blur" }],
  contacts: [{ required: true, message: "请输入开户行", trigger: "blur" }],
  contactsPhone: [
    { required: true, message: "请输入联系人", trigger: "blur" },
    { min: 11, max: 11, message: "请输入11位联系人电话", trigger: "blur" },
  ],
});
// 获取当前日期并格式化为 YYYY-MM-DD
function getCurrentDate() {
  const today = new Date();
  const year = today.getFullYear();
  const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从0开始
  const day = String(today.getDate()).padStart(2, '0');
  return `${year}-${month}-${day}`;
}
</script>
<style lang="sass" scoped>