wang jun 2 jaren geleden
bovenliggende
commit
49817569ce
1 gewijzigde bestanden met toevoegingen van 91 en 14 verwijderingen
  1. 91 14
      application/page/view/tools/workercard.html

+ 91 - 14
application/page/view/tools/workercard.html

@@ -102,18 +102,18 @@
             <div slot="title">
                 <img src="/static/image/workercard/banner.png">
             </div>
-            <i-form :model="formdata" :label-width="80">
-                <Form-item label="手机号" v-if="!isedit">
+            <i-form :model="formdata" :label-width="80" :rules="formRule" ref="editform">
+                <Form-item label="手机号" v-if="!isedit" prop="telno">
                     <i-input v-model="formdata.telno" placeholder="请输入手机号"></i-input>
                 </Form-item>
-                <Form-item label="手机号" v-else>
+                <Form-item label="手机号" prop="telno" v-else>
                    {{formdata.telno}}
                 </Form-item>
                 <div id="editform"> 
-                    <Form-item label="姓名">
+                    <Form-item label="姓名" prop="name">
                         <i-input v-model="formdata.name" placeholder="请输入姓名"></i-input>
                     </Form-item>
-                    <Form-item label="工种">
+                    <Form-item label="工种" prop="work_type">
                         <i-input v-model="formdata.work_type" placeholder="请输入工种"></i-input>
                     </Form-item>
                     <Form-item label="工种标签" >
@@ -121,10 +121,10 @@
                             <i-option v-for="(item,key) in worktypeonelabel" :value="item.label" :key="item.id">{{ item.label }}</i-option>
                         </i-select>
                     </Form-item>
-                    <Form-item label="年龄">
+                    <Form-item label="年龄" prop="age">
                         <Input-number :max="100" :min="17" v-model="formdata.age"></Input-number>
                     </Form-item>
-                    <Form-item label="籍贯">
+                    <Form-item label="籍贯" prop="native">
                         <i-input v-model="formdata.native" placeholder="请输入籍贯"></i-input>
                     </Form-item>
                     <Form-item label="工作地区">
@@ -133,8 +133,8 @@
                     <Form-item label="交通工具">
                         <i-input v-model="formdata.traffic_tools" placeholder="请输入交通工具"></i-input>
                     </Form-item>
-                    <Form-item label="备注">
-                        <i-input type="textarea" v-model="formdata.note" placeholder="请输入备注"></i-input>
+                    <Form-item label="工作经历" prop="note">
+                        <i-input type="textarea" v-model="formdata.note" placeholder="请输入工作经历"></i-input>
                     </Form-item>
                     <Form-item label="图片上传" v-if="!issavingloading&&!issavingimg">
                         <div id="images">
@@ -209,6 +209,11 @@
                 <Button type="error" size="large" long  @click="handleRemove2">删除</Button>
             </div>
         </Modal>
+        <Modal v-model="showerrormsg" >
+            <p style="color:#f60;text-align:center">
+                用户图片最少有{{minimgs}}张,还需要再上传{{imgcounterror.diff}}张,便可保存
+            </p>
+        </Modal>
     </div>
     <script>
         var sharedata = {php}echo json_encode($sharedata);{/php}; 
@@ -257,7 +262,7 @@
                 issavingimg:false,
                 formdata:{
                     name:"",
-                    age:17,
+                    age:18,
                     telno:'',
                     work_type:'',
                     region:'',
@@ -282,11 +287,36 @@
                 del2:false,
                 del_file:false,
                 del_imgurl:false,
+                minimgs:3,
+                showerrormsg:false,
+                imgcounterror:{},
+                formRule: {
+                    telno: [
+                        { type: 'string', required: true, pattern: /^1[3456789]{1}\d{9}$/, message: '手机号错误', trigger: 'blur' }
+                    ],
+                    name:[
+                        { type: 'string', required: true, message: '姓名必填', trigger: 'blur' }
+                    ],
+                    age:[
+                        { type: 'integer', required: true, min:18,max:80, message: '年龄最小18最大80', trigger: 'blur' }
+                    ],
+                    native:[
+                        { type: 'string', required: true, message: '籍贯必填', trigger: 'blur' }
+                    ],
+                    work_type:[
+                        { type: 'string', required: true, message: '工种必填', trigger: 'blur' }
+                    ],
+                    note:[
+                        {type: 'string', required: true,min: 10, message: '工作经历,最少10个字', trigger: 'blur' }
+                    ]
+                },
             },
             watch: {
                 'formdata.telno' (newValue, old) {
                     //获取用户信息
-                    this.getinfobytelno(newValue)
+                    if(newValue.length==11){
+                        this.getinfobytelno(newValue)
+                    }
                 }
             },
             computed: {
@@ -350,22 +380,27 @@
                         title: '文件格式不正确',
                         desc: '文件 ' + file.name + ' 格式不正确,请上传 jpg 或 png 格式的图片。'
                     });
+                    this.issavingloading=false
+                    this.issavingimg=false
                 },
                 handleMaxSize (file) {
                     this.$Notice.warning({
                         title: '超出文件大小限制',
                         desc: '文件 ' + file.name + ' 太大,不能超过 2M。'
                     });
+                    this.issavingloading=false
+                    this.issavingimg=false
                 },
                 handleBeforeUpload () {
                     const check = this.uploadList.length < 5;
                     if (!check) {
                         this.$Notice.warning({
-                            title: '最多只能上传 5 张图片'
+                            title: '最多只能上传 5 张图片'
                         });
                     }
                     this.$Message.loading('图片上传中', 0);
                     this.issavingimg=true;
+                    this.issavingloading=false
                     return check;
                 },
                 getinfobytelno(telno){
@@ -383,7 +418,11 @@
                             //console.log(res);
                             if(200!=res.code){
                                 if(res.code<0){
+                                    var data =res.data
                                     that.isedit =false;
+                                    if(data.userid>0){
+                                        this.userid = data.userid;
+                                    }
                                 }else{
                                     that.$Notice.error({
                                         title: res.msg
@@ -395,6 +434,7 @@
                                 that.userid  = that.formdata.user_id;
                                 //查询素材图片
                                 that.getimglist();
+                                that.$refs['editform'].validate();
                             }
                         }
                     });
@@ -436,9 +476,46 @@
                     });
                 },
                 saveinfo(){
-                    this.issavingloading = true;
-                    //保存用户信息
+                    this.$refs['editform'].validate((valid) => {
+                        if(valid){
+                            //保存用户信息
+                            var that = this;
+                            var counturl= this.url_host+"/workercardv1/getcountimgbyuserid";
+                            var minimgs = this.minimgs
+                            var num = this.uploadList.length
+                            var data={
+                                userid:this.userid,
+                                num:num
+                            }
+                            $.ajax({
+                                type: 'POST',
+                                url: counturl,
+                                data:data,
+                                dataType: "json",
+                                success: function(res){
+                                    if(200!=res.code){
+                                        that.$Notice.error({
+                                            title: res.msg
+                                        });
+                                    }else{
+                                        var count = res.data;
+                                        var diff = minimgs - count;
+                                        console.log(diff,count,minimgs)
+                                        if(diff>0){
+                                            that.imgcounterror.diff = diff;
+                                            that.showerrormsg=true
+                                        }else{
+                                            that.saveinfo2();
+                                        }
+                                    }
+                                }
+                            })
+                        }
+                    })
+                },
+                saveinfo2(){
                     var that = this;
+                    this.issavingloading = true;
                     var url= this.url_host+"/workercardv1/savewcidinfoforweb";
                     var data =this.formdata;
                     $.ajax({