祖安之光
8 天以前 35b1970aa850c233f7f9f26a5992ece5d356fe92
src/views/work/marketingManagement/contractManagement/contractLedger/components/editDialog.vue
@@ -9,7 +9,7 @@
        :close-on-click-modal="false"
    >
      <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules" label-width="150px" >
        <el-form-item label="企业名称:" prop="companyId" v-if="state.isAdmin">
        <el-form-item label="单位名称:" prop="companyId" v-if="state.isAdmin">
          <el-select v-model="state.form.companyId" placeholder="请选择" filterable clearable style="width: 100%" :disabled="title == '查看' || title == '编辑' || !state.isAdmin">
            <el-option
                v-for="item in state.companyList"
@@ -19,21 +19,27 @@
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="合同编号:" prop="name" >
          <el-input v-model="state.form.name" :disabled="title === '查看'"  placeholder="顾客名称"/>
        <el-form-item label="合同编号:" prop="number" >
          <el-input v-model="state.form.number" :disabled="title === '查看'"  placeholder="合同编号"/>
        </el-form-item>
        <el-form-item label="合同名称:" prop="address" >
          <el-input v-model="state.form.address" :disabled="title === '查看'" placeholder="顾客地址"/>
        <el-form-item label="合同名称:" prop="contractName" >
          <el-input v-model="state.form.contractName" :disabled="title === '查看'" placeholder="合同名称"/>
        </el-form-item>
        <el-form-item label="签订日期:" prop="remark" >
        <el-form-item label="签订日期:" prop="signDate" >
          <el-date-picker
              v-model="state.form.faultDate"
              v-model="state.form.signDate"
              type="date"
              value-format="YYYY-MM-DD"
              placeholder="请选择签订日期"
              :disabled="title =='查看'"
              style="width: 100%"
          />
        </el-form-item>
        <el-form-item label="是否交付:" prop="deliver" >
          <el-radio-group v-model="state.form.deliver" :disabled="title =='查看'">
            <el-radio :label="1">是</el-radio>
            <el-radio :label="0">否</el-radio>
          </el-radio-group>
        </el-form-item>
      </el-form>
      <template #footer v-if="title !== '查看'">
@@ -56,40 +62,28 @@
import {getToken} from "@/utils/auth";
import {addQualification, editQualification} from "@/api/companyInfo/qualifications";
import Cookies from "js-cookie";
import {addLedger, editLedger} from "@/api/contractLedger";
const dialogVisible = ref(false);
const title = ref("");
const busRef = ref();
const length = ref()
const emit = defineEmits(["getList"]);
const validateUserPhone = (rule, value, callback)=>{
  if(value === ''){
    callback(new Error('请输入手机号'))
  }else{
    if(!verifyPhone(value)){
      callback(new Error('手机号格式有误'))
    }else{
      callback()
    }
  }
}
const state = reactive({
  form: {
    id: '',
    companyId: '',
    name: '',
    address: '',
    person: '',
    phone: '',
    email: '',
    remark: ''
    number: '',
    contractName: '',
    signDate: '',
    deliver: null
  },
  formRules:{
    companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
    name:[{ required: true, message: '请输入顾客名称', trigger: 'blur' }],
    address:[{ required: true, message: '请输入顾客地址', trigger: 'blur' }],
    person:[{ required: true, message: '请输入联系人', trigger: 'blur' }],
    phone: [{ validator: validateUserPhone,required: true, trigger: 'blur' }],
    number:[{ required: true, message: '请输入编号', trigger: 'blur' }],
    contractName:[{ required: true, message: '请输入合同名称', trigger: 'blur' }],
    signDate:[{ required: true, message: '请选择签订日期', trigger: 'blur' }],
    deliver:[{ required: true, message: '请选择是否交付', trigger: 'blur' }]
  },
  companyList: [],
  isAdmin: false
@@ -121,35 +115,35 @@
  }
  if(valid){
    if(title.value === '新增'){
      // const {id, ...data} = JSON.parse(JSON.stringify(state.form))
      // const res = await addQualification(data)
      // if(res.code === 200){
      //   ElMessage({
      //     type: 'success',
      //     message: '新增成功'
      //   });
      // }else{
      //   ElMessage.warning(res.message)
      // }
      // emit("getList")
      // busRef.value.clearValidate();
      // reset();
      // dialogVisible.value = false;
      const {id, ...data} = JSON.parse(JSON.stringify(state.form))
      const res = await addLedger(data)
      if(res.code === 200){
        ElMessage({
          type: 'success',
          message: '新增成功'
        });
      }else{
        ElMessage.warning(res.message)
      }
      emit("getList")
      busRef.value.clearValidate();
      reset();
      dialogVisible.value = false;
    }else if(title.value === '编辑'){
      // const {...data} = JSON.parse(JSON.stringify(state.form))
      // const res = await editQualification(data)
      // if(res.code === 200){
      //   ElMessage({
      //     type: 'success',
      //     message: '编辑成功'
      //   });
      // }else{
      //   ElMessage.warning(res.message)
      // }
      // emit("getList")
      // busRef.value.clearValidate();
      // reset();
      // dialogVisible.value = false;
      const {...data} = JSON.parse(JSON.stringify(state.form))
      const res = await editLedger(data)
      if(res.code === 200){
        ElMessage({
          type: 'success',
          message: '编辑成功'
        });
      }else{
        ElMessage.warning(res.message)
      }
      emit("getList")
      busRef.value.clearValidate();
      reset();
      dialogVisible.value = false;
    }
  }
}
@@ -166,12 +160,10 @@
  state.form = {
    id: '',
    companyId: '',
    name: '',
    address: '',
    person: '',
    phone: '',
    email: '',
    remark: ''
    number: '',
    contractName: '',
    signDate: '',
    deliver: null
  }
  state.companyList = []
}