zhouwenxuan
2023-09-27 50e18f9d144e78d0f47247f46b5d712745e0035d
src/views/coalMine/cPlaceManage/cExamManage/components/addDialog.vue
@@ -8,41 +8,41 @@
    :before-close="handleClose"
  >
    <el-form ref="dataForm" :model="dataForm"  :rules="rules" label-position="right" label-width="150px" style="padding-right: 50px" element-loading-text="保存中...">
      <el-form-item label="考试点名称:" prop="idCard">
        <el-input v-model.trim="dataForm.idCard"/>
      <el-form-item label="考试点名称:" prop="siteName">
        <el-input v-model.trim="dataForm.siteName"/>
      </el-form-item>
      <el-form-item label="所属地区:" prop="iCCard">
        <el-select v-model="value" placeholder="请选择" style="width: 100%;">
      <el-form-item label="所属地区:" prop="districtId">
        <el-select v-model="dataForm.districtId" placeholder="请选择" style="width: 100%;">
          <el-option
            v-for="item in options"
            :key="item.value"
            :label="item.label"
            :value="item.value">
            v-for="item in areaList"
            :key="item.id"
            :label="item.name"
            :value="item.id">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="地址:" prop="remark">
        <el-input type="textarea" v-model.trim="dataForm.remark"/>
      <el-form-item label="地址:" prop="address">
        <el-input type="textarea" v-model.trim="dataForm.address"/>
      </el-form-item>
      <el-form-item label="负责人:" prop="remark">
        <el-input v-model.trim="dataForm.remark"/>
      <el-form-item label="负责人:" prop="header">
        <el-input v-model.trim="dataForm.header"/>
      </el-form-item>
      <el-form-item label="电话:" prop="remark">
        <el-input v-model.trim="dataForm.remark"/>
      <el-form-item label="电话:" prop="hphone">
        <el-input v-model.trim="dataForm.hphone" :maxlength="11" />
      </el-form-item>
      <el-form-item label="联系人:" prop="remark">
        <el-input v-model.trim="dataForm.remark"/>
      <el-form-item label="联系人:" prop="contact">
        <el-input v-model.trim="dataForm.contact"/>
      </el-form-item>
      <el-form-item label="电话:" prop="remark">
        <el-input v-model.trim="dataForm.remark"/>
      <el-form-item label="电话:" prop="cphone">
        <el-input v-model.trim="dataForm.cphone" :maxlength="11" />
      </el-form-item>
      <el-form-item label="关联培训机构:" prop="iCCard">
        <el-select v-model="value" placeholder="请选择" style="width: 100%;">
      <el-form-item label="关联培训机构:" prop="institutionId">
        <el-select v-model="dataForm.institutionId" placeholder="请选择" style="width: 100%;">
          <el-option
            v-for="item in options"
            :key="item.value"
            :label="item.label"
            :value="item.value">
            v-for="item in trainList"
            :key="item.institutionId"
            :label="item.institutionName"
            :value="item.institutionId">
          </el-option>
        </el-select>
      </el-form-item>
@@ -58,39 +58,127 @@
</template>
<script >
import {addExam, updateExam, getAreaList, getTrainList} from "@/api/coalMine/placeManage/exam";
export default {
  name: 'addUser',
  components: {
  },
  data() {
    return {
      areaList: [],
      trainList: [],
      dialogVisible: false,
      dialogStatus: '',
      rules: {
        name: [{ required: true, message: '身份证号', trigger: 'blur' }],
        siteName: [{ required: true, message: '请输入考点名称', trigger: 'blur' }],
        districtId: [{ required: true, message: '请选择地区', trigger: 'blur' }],
        institutionId: [{ required: true, message: '请选择培训机构', trigger: 'blur' }],
        hphone: [
          {
            pattern: /^1[0-9]{10}$/,
            message: '手机号格式不正确',
            trigger: 'blur'
          }
        ],
        cphone: [
          {
            pattern: /^1[0-9]{10}$/,
            message: '手机号格式不正确',
            trigger: 'blur'
          }
        ],
      },
      dataForm: {}
    }
  },
  created() {
    this.getArea();
    this.getTrain();
  },
  methods: {
    openDialog (type, data) {
      this.resetDataForm();
      this.dialogVisible = true;
      this.dialogStatus = type;
      if(this.dialogStatus == 'edit') {
        this.dataForm = data;
        this.dataForm.institutionId = data.institutionId.toString()
      }
      this.$nextTick(() => {
        this.$refs['dataForm'].clearValidate()
      })
    },
    async getTrain() {
      const param = {
        isCm: 1
      }
      const res = await getTrainList(param);
      if(res.code == 200) {
        this.trainList = res.data;
      }else{
        this.$message({
          type:'warning',
          message: res.msg
        })
      }
    },
    async getArea() {
      const res = await getAreaList();
      if(res.code == 200) {
        this.areaList = res.data;
      }else{
        this.$message({
          type:'warning',
          message: res.msg
        })
      }
    },
    handleClose() {
      this.dialogVisible = false;
      this.$emit("getList");
    },
    onSubmit() {
      this.$emit("getList");
      this.dialogVisible = false;
      this.$refs["dataForm"].validate( async valid => {
        if (valid) {
          if(this.dialogStatus == 'add'){
            this.dataForm.isCm = 1;
            console.log("this.dataForm",this.dataForm)
            const res = await addExam(this.dataForm);
            if(res.code == 200) {
              this.$emit("getList");
              this.dialogVisible = false;
              this.$message({
                type:'success',
                message: '新增成功'
              })
            }else{
              this.$message({
                type:'warning',
                message: res.msg
              })
            }
          }else {
            this.dataForm.isCm = 1;
            console.log("this.dataForm",this.dataForm)
            const res = await updateExam(this.dataForm);
            if(res.code == 200) {
              this.$emit("getList");
              this.dialogVisible = false;
              this.$message({
                type:'success',
                message: '编辑成功'
              })
            }else{
              this.$message({
                type:'warning',
                message: res.msg
              })
            }
          }
        }
      })
    },
    resetDataForm() {
      this.dataForm = {