|
|
@@ -0,0 +1,524 @@
|
|
|
+
|
|
|
+<template>
|
|
|
+ <div id="">
|
|
|
+ <el-dialog
|
|
|
+ width="1200px"
|
|
|
+ v-if="subjectNames == '技术员'"
|
|
|
+ class="take-photo"
|
|
|
+ :visible.sync="Modal"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ :show-close="false"
|
|
|
+ >
|
|
|
+ <el-form :model="form0" :rules="rules0" ref="form0">
|
|
|
+ <!-- <div class="size">
|
|
|
+ 广东省建筑工程技术人才职称
|
|
|
+ <el-select v-model="form0.type" placeholder="请选择评审/认定">
|
|
|
+ <el-option label="评审" value="评审"></el-option>
|
|
|
+ <el-option label="认定" value="认定"></el-option>
|
|
|
+ </el-select>
|
|
|
+ 评审认定信息预检表(技术员)
|
|
|
+ </div> -->
|
|
|
+ <table class="el-table">
|
|
|
+ <tbody>
|
|
|
+ <tr>
|
|
|
+ <td colspan="6">
|
|
|
+ <div class="size">
|
|
|
+ 广东省建筑工程技术人才职称
|
|
|
+ <div style="width: 160px; display: inline-block">
|
|
|
+ <el-form-item label="" prop="type">
|
|
|
+ <el-select
|
|
|
+ v-model="form0.type"
|
|
|
+ placeholder="请选择评审/认定"
|
|
|
+ >
|
|
|
+ <el-option label="评审" value="评审"></el-option>
|
|
|
+ <el-option label="认定" value="认定"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ 评审认定信息预检表(技术员)
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr class="graybg">
|
|
|
+ <td colspan="6"><div class="cell">基本条件</div></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td rowspan="2"><div class="cell">申报人员姓名</div></td>
|
|
|
+ <td rowspan="2"><div class="cell">申报等级、专业</div></td>
|
|
|
+ <td rowspan="2"><div class="cell">现工作单位</div></td>
|
|
|
+ <td rowspan="2"><div class="cell">参保单位</div></td>
|
|
|
+ <td colspan="2"><div class="cell">现单位参保起止时间</div></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td><div class="cell">开始参保时间</div></td>
|
|
|
+ <td><div class="cell">结束参保时间</div></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="" prop="userName">
|
|
|
+ <el-input v-model="form0.userName" placeholder="姓名"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <span class='tips userName' style='color:red;font-size:12px;'></span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="" prop="major">
|
|
|
+ <el-input v-model="form0.major" placeholder="如建筑施工、技术员"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <span class='tips major' style='color:red;font-size:12px;'></span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="" prop="companyName">
|
|
|
+ <el-input v-model="form0.companyName" placeholder="公司名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <span class='tips companyName' style=''></span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="" prop="insured">
|
|
|
+ <el-input v-model="form0.insured" placeholder="参保公司名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <span class='tips insured'></span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="" prop="insuredStartTime">
|
|
|
+ <el-date-picker
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期"
|
|
|
+ format="yyyy-MM-dd"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ v-model="form0.insuredStartTime"
|
|
|
+ style="width: 100%"
|
|
|
+ ></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <span class='tips insuredStartTime'></span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="" prop="insuredEndTime">
|
|
|
+ <el-date-picker
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期"
|
|
|
+ format="yyyy-MM-dd"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ v-model="form0.insuredEndTime"
|
|
|
+ style="width: 100%"
|
|
|
+ ></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <span class='tips insuredEndTime'></span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr class="graybg">
|
|
|
+ <td colspan="6"><div class="cell">基本条件</div></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td><div class="cell">继续教育(评审要,认定不需要)</div></td>
|
|
|
+ <td colspan="3"><div class="cell">学历情况</div></td>
|
|
|
+ <td rowspan="2"><div class="cell">是否持有建筑类其他证书</div></td>
|
|
|
+ <td rowspan="2"><div class="cell">其他说明</div></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td><div class="cell">(本年度)</div></td>
|
|
|
+ <td><div class="cell">学历等级</div></td>
|
|
|
+ <td><div class="cell">学历专业</div></td>
|
|
|
+ <td><div class="cell">毕业时间</div></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="" prop="education">
|
|
|
+ <el-select
|
|
|
+ v-model="form0.education"
|
|
|
+ placeholder="有/无"
|
|
|
+ >
|
|
|
+ <el-option label="有" value="有"></el-option>
|
|
|
+ <el-option label="无" value="无"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <span class='tips education'></span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="" prop="existingLevel">
|
|
|
+ <el-select
|
|
|
+ v-model="form0.existingLevel"
|
|
|
+ placeholder="学历等级"
|
|
|
+ >
|
|
|
+ <el-option label="小学" value="小学"></el-option>
|
|
|
+ <el-option label="中学" value="中学"></el-option>
|
|
|
+ <el-option label="职高" value="职高"></el-option>
|
|
|
+ <el-option label="高中" value="高中"></el-option>
|
|
|
+ <el-option label="专科" value="专科"></el-option>
|
|
|
+ <el-option label="本科" value="本科"></el-option>
|
|
|
+ <el-option label="硕士研究生" value="硕士研究生"></el-option>
|
|
|
+ <el-option label="博士研究生" value="博士研究生"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <span class='tips existingLevel'></span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="" prop="existingMajor">
|
|
|
+ <el-input v-model="form0.existingMajor" placeholder="如:土木工程"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <span class='tips existingMajor'></span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="" prop="graduateTime">
|
|
|
+ <el-date-picker
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期"
|
|
|
+ format="yyyy-MM-dd"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ v-model="form0.graduateTime"
|
|
|
+ style="width: 100%"
|
|
|
+ ></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <span class='tips graduateTime'></span>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="">
|
|
|
+ <el-input v-model="form0.isCertificate" placeholder="如 建筑工、安全员"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="">
|
|
|
+ <el-input v-model="form0.explain"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr class="graybg">
|
|
|
+ <td colspan="6"><div class="cell">工作经历及业绩情况</div></td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td><div class="cell">单位名称</div></td>
|
|
|
+ <td><div class="cell">工程名称</div></td>
|
|
|
+ <td><div class="cell">开竣工时间(年月日)</div></td>
|
|
|
+ <td><div class="cell">担任职务及负责的工作</div></td>
|
|
|
+ <td><div class="cell">工程造价</div></td>
|
|
|
+ <td><div class="cell">工程获奖情况</div></td>
|
|
|
+ </tr>
|
|
|
+ <tr v-for="(item, tindex) in form0.experienceBos" :key="tindex + 'tr'">
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="">
|
|
|
+ <el-input v-model="item.companyName" placeholder="公司名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="">
|
|
|
+ <el-input v-model="item.projectName" placeholder="工程名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="">
|
|
|
+ <el-col :span="11">
|
|
|
+ <el-date-picker type="date" placeholder="选择日期" format="yyyy-MM-dd"
|
|
|
+ value-format="yyyy-MM-dd" v-model="item.projectStartTime" style="width: 100%;"></el-date-picker>
|
|
|
+ </el-col>
|
|
|
+ <el-col class="line" :span="2">-</el-col>
|
|
|
+ <el-col :span="11">
|
|
|
+ <el-date-picker placeholder="选择日期" format="yyyy-MM-dd"
|
|
|
+ value-format="yyyy-MM-dd" v-model="item.projectEndTime" style="width: 100%;"></el-date-picker>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="">
|
|
|
+ <el-input v-model="item.work" placeholder="如:施工员,协助项目日常施工管理工作"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="">
|
|
|
+ <el-input v-model="item.cost" placeholder="XX万元"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <div class="cell">
|
|
|
+ <el-form-item label="">
|
|
|
+ <el-input v-model="item.condition" placeholder="荣获“XXXXX奖”..."></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ <div style="text-align: center;"><el-button type="text" icon="el-icon-circle-plus-outline" @click="addordelrow(0,1)">添加工作经验新行</el-button><el-button type="text" @click="addordelrow(0,2)" icon="el-icon-remove-outline">删除工作经验最后一行</el-button></div>
|
|
|
+
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="Modal = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="submitForm('form0')" :loading="uploading"
|
|
|
+ >确 定</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog
|
|
|
+ width="400px"
|
|
|
+ class="take-photo"
|
|
|
+ :visible.sync="Modal2"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ :show-close="false"
|
|
|
+ >
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" >刷新重学</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ Modal: false,
|
|
|
+ subjectNames: 0, //0技术员,1助理工程师
|
|
|
+ Modal2: false,
|
|
|
+ uploading:false,
|
|
|
+ errcode: 0,
|
|
|
+ form0: {goodsId:0, type: "",experienceBos:[{companyName:"",projectStartTime:"",projectEndTime:"",work:"",cost:"",condition:""}] },
|
|
|
+ rules0: {
|
|
|
+ type: [
|
|
|
+ { required: true, message: '请选择评审/认定', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ userName: [
|
|
|
+ { required: true, message: '请输入姓名', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ major: [
|
|
|
+ { required: true, message: '请输入', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ companyName: [
|
|
|
+ { required: true, message: '请输入', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ insured: [
|
|
|
+ { required: true, message: '请输入', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ insuredStartTime: [
|
|
|
+ { required: true, message: '请选择日期', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ insuredEndTime: [
|
|
|
+ { required: true, message: '请选择日期', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ education: [
|
|
|
+ { required: true, message: '请选择', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ existingLevel: [
|
|
|
+ { required: true, message: '请输入', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ existingMajor: [
|
|
|
+ { required: true, message: '请输入', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ graduateTime: [
|
|
|
+ { required: true, message: '请选择日期', trigger: 'blur' }
|
|
|
+ ],},
|
|
|
+ };
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ //拍照
|
|
|
+ openBoxs(subjectNames,goodsId) {
|
|
|
+ this.subjectNames = subjectNames;
|
|
|
+ if(subjectNames=="技术员")
|
|
|
+ this.form0.goodsId=goodsId;
|
|
|
+ this.Modal = true;
|
|
|
+ this.form0={
|
|
|
+ "goodsId": 671805,
|
|
|
+ "type": "评审",
|
|
|
+ "experienceBos": [
|
|
|
+ {
|
|
|
+ "companyName": "大是",
|
|
|
+ "projectStartTime": "2024-11-01",
|
|
|
+ "projectEndTime": "2025-11-11",
|
|
|
+ "work": "发大水",
|
|
|
+ "cost": "奥省的",
|
|
|
+ "condition": "的故事",
|
|
|
+ "projectName": "的发生"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "userName": "的撒",
|
|
|
+ "major": "建筑材料",
|
|
|
+ "companyName": "撒大",
|
|
|
+ "insured": "的撒",
|
|
|
+ "insuredStartTime": "2024-11-01",
|
|
|
+ "insuredEndTime": "2025-11-13",
|
|
|
+ "education": "有",
|
|
|
+ "existingLevel": "本科",
|
|
|
+ "existingMajor": "建筑材料",
|
|
|
+ "graduateTime": "2024-11-01",
|
|
|
+ "isCertificate": "答复",
|
|
|
+ "explain": "大是"
|
|
|
+}
|
|
|
+ },
|
|
|
+ addordelrow(num,addordel){
|
|
|
+ if(num==0){
|
|
|
+ if(addordel==1)
|
|
|
+ this.form0.experienceBos.push({companyName:"",projectStartTime:"",projectEndTime:"",work:"",cost:"",condition:""});
|
|
|
+ else
|
|
|
+ this.form0.experienceBos.pop({companyName:"",projectStartTime:"",projectEndTime:"",work:"",cost:"",condition:""});
|
|
|
+ }
|
|
|
+ },
|
|
|
+ submitForm(formName) {
|
|
|
+ this.$refs[formName].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ this.uploading = true;
|
|
|
+ this.$request
|
|
|
+ .techniciancheck(this.form0)
|
|
|
+ .then(res => {
|
|
|
+ console.log(res);
|
|
|
+ var tipsarr= document.getElementsByClassName('tips');
|
|
|
+ for(var i =0;i<tipsarr.length;i++){
|
|
|
+tipsarr[i].innerHTML='';
|
|
|
+ }
|
|
|
+ if(res.data.id){//成功
|
|
|
+ this.$emit("toPaymentTech", res.data.id); //重置
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ var arr_err=res.data.checkVos;
|
|
|
+ for(var i =0;i<arr_err.length;i++){
|
|
|
+ let element= document.getElementsByClassName(arr_err[i].field)[0];
|
|
|
+ // console.log(arr_err[i].field,element);
|
|
|
+ element.innerHTML = arr_err[i].reason;
|
|
|
+ }
|
|
|
+ this.$message.warning('请按要求修改');
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ this.$message.warning(err.msg);
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.uploading = false;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ console.log("error submit!!");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ openBoxsRestart(errcode) {
|
|
|
+ this.errcode = errcode;
|
|
|
+ this.time = 180;
|
|
|
+ this.Modal2 = true;
|
|
|
+ this.times2 = setInterval(() => {
|
|
|
+ if (this.time <= 0) {
|
|
|
+ clearInterval(this.times2);
|
|
|
+ this.Modal2 = false;
|
|
|
+ if (this.errcode == 557) {
|
|
|
+ location.reload();
|
|
|
+ } else {
|
|
|
+ this.$emit("resetSection", this.errcode); //重置
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.time--;
|
|
|
+ }
|
|
|
+ }, 1000);
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.el-form-item{margin-bottom: unset !important;}
|
|
|
+.el-form-item__error{position: relative !important;}
|
|
|
+.tips{color:red;font-size:12px;}
|
|
|
+.size {
|
|
|
+ font-size: 24px;
|
|
|
+ text-align: center;
|
|
|
+}
|
|
|
+.el-table {
|
|
|
+ width: 100%;
|
|
|
+ border-collapse: collapse;
|
|
|
+}
|
|
|
+
|
|
|
+.el-table .graybg {
|
|
|
+ background-color: #f5f7fa;
|
|
|
+ font-weight: 600;
|
|
|
+}
|
|
|
+.el-table tr {
|
|
|
+ text-align: center;
|
|
|
+ font-weight: 500;
|
|
|
+}
|
|
|
+.el-table th {
|
|
|
+ background-color: #f5f7fa;
|
|
|
+ padding: 12px 0;
|
|
|
+ text-align: left;
|
|
|
+ border-bottom: 1px solid #ebeef5;
|
|
|
+ position: relative;
|
|
|
+ cursor: pointer;
|
|
|
+ user-select: none;
|
|
|
+}
|
|
|
+
|
|
|
+.el-table th:hover {
|
|
|
+ background-color: #f0f2f5;
|
|
|
+}
|
|
|
+
|
|
|
+.el-table th .cell {
|
|
|
+ padding: 0 10px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+}
|
|
|
+
|
|
|
+.el-table th .sort-caret {
|
|
|
+ display: inline-flex;
|
|
|
+ flex-direction: column;
|
|
|
+ margin-left: 5px;
|
|
|
+ color: #c0c4cc;
|
|
|
+}
|
|
|
+
|
|
|
+.el-table th .ascending {
|
|
|
+ margin-bottom: -3px;
|
|
|
+}
|
|
|
+
|
|
|
+.el-table th .descending {
|
|
|
+ margin-top: -3px;
|
|
|
+}
|
|
|
+
|
|
|
+.el-table th .sort-caret.active {
|
|
|
+ color: #409eff;
|
|
|
+}
|
|
|
+
|
|
|
+.el-table td {
|
|
|
+ padding: 12px 0;
|
|
|
+ border: 1px solid #ebeef5;
|
|
|
+}
|
|
|
+
|
|
|
+.el-table td .cell {
|
|
|
+ padding: 0 10px;
|
|
|
+}
|
|
|
+
|
|
|
+.el-table tbody tr:hover {
|
|
|
+ background-color: #f5f7fa;
|
|
|
+}
|
|
|
+
|
|
|
+.el-table .el-table__row--striped {
|
|
|
+ background-color: #fafafa;
|
|
|
+}
|
|
|
+</style>
|