zhouwx
14 小时以前 f88d2029c7b2c66fcf0a9dffdc55da75b939c2ea
src/views/hazardousChemicals/systemManage/company/components/companyDialog.vue
@@ -12,8 +12,25 @@
        <el-form-item label="企业信用代码:" prop="creditCode" >
          <el-input v-model.trim="state.form.creditCode" placeholder="请输入企业信用代码"></el-input>
        </el-form-item>
        <el-form-item label="企业编码:" prop="code" >
          <el-input v-model.trim="state.form.code" maxlength="2" placeholder="请输入企业编码" oninput="value=value.replace( /[^a-zA-Z0-9]/g,'')"></el-input>
        </el-form-item>
        <el-form-item label="企业名称:" prop="name" >
          <el-input v-model.trim="state.form.name" placeholder="请输入企业名称"></el-input>
        </el-form-item>
        <el-form-item label="企业类型:" prop="type" >
          <el-select
              v-model="state.form.type"
              placeholder="请选择企业类型"
              style="width: 100%"
          >
            <el-option
                v-for="item in state.typeList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="负责人:" prop="major" >
          <el-input v-model.trim="state.form.major" placeholder="请输入负责人"></el-input>
@@ -35,7 +52,7 @@
import {reactive, ref, toRefs} from 'vue'
import {ElMessage} from "element-plus";
import {addCompany, checkName, distributeCompany, editCompany} from "@/api/hazardousChemicals/company";
import {verifyPhone} from "@/utils/validate";
import {verifyPhone, verifyPwd} from "@/utils/validate";
const dialogVisible = ref(false);
const title = ref("");
@@ -84,6 +101,18 @@
    }
  }
}
let validateCode = (rule, value, callback)=>{
  if(value === ''){
    callback(new Error('请输入企业编码'))
  }else{
    if(value.length !== 2){
      callback(new Error('请输入两位字母或者数字编码'))
    }else{
      callback()
    }
  }
}
const state = reactive({
  form: {
    id: '',
@@ -91,13 +120,30 @@
    name: '',
    major: '',
    phone: '',
    code: ''
  },
  formRules:{
    creditCode: [{ required: true, message: '请输入企业信用代码', trigger: 'blur' }],
    major:[{ required: true, message: '请输入负责人', trigger: 'blur' }],
    name: [{ required: true, trigger: "blur", validator: validateName }],
    phone:[{ required: true, trigger: "blur", validator: validatePhone }],
    code:[{ required: true, validator: validateCode, trigger: 'blur' }],
    type: [{ required: true, message: '请选择企业类型', trigger: 'blur' }],
  },
  typeList: [
    {
      id: 0,
      name: '研发类'
    },
    {
      id: 1,
      name: '生产类'
    },
    {
      id: 2,
      name: '中试类'
    },
  ]
})
@@ -105,7 +151,7 @@
  title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '分配课时' ;
  if(type === 'edit' || type === 'distribute') {
    state.form = value;
    state.form = JSON.parse(JSON.stringify(value));
    startUsername.value = value.username
    startPhone.value = value.phone
  }
@@ -117,6 +163,7 @@
  if(valid){
    if(title.value === '新增'){
      const {id, ...data} = JSON.parse(JSON.stringify(state.form))
      data.code = data.code.toUpperCase()
      const res = await addCompany(data)
      if(res.code === 200){
        ElMessage({
@@ -132,6 +179,7 @@
      dialogVisible.value = false;
    }else if(title.value === '编辑'){
      const {...data} = JSON.parse(JSON.stringify(state.form))
      data.code = data.code.toUpperCase()
      const res = await editCompany(data)
      if(res.code === 200){
        ElMessage({
@@ -162,6 +210,7 @@
    name: '',
    major: '',
    phone: '',
    code: ''
  }
}
defineExpose({