liuhj 1 semana atrás
pai
commit
23981aa9ba

+ 66 - 4
src/components/OP/AffairsBackward.vue

@@ -25,12 +25,18 @@
                         {{ formInline.Days }}天 / {{ formInline.Number }}人
                     </el-form-item>
                 </div>
-                <el-button @click="ConferenceProceduresSave" type="primary">保存</el-button>
+                <div>
+                    <el-button @click="ConferenceProceduresSave" type="primary">保存</el-button>
+                    <el-button @click="ConferenceProceduresFileDown" type="primary">下载</el-button>
+                </div>
             </el-form>    
         </div>
         <div style="margin-top: 20px;font-size: 15px;font-weight: 600;color: red;">PS:插入行与删除行并未进行保存操作,需要保存请点击保存按钮!!!</div>
         <el-table :data="tableDatass" :span-method="objectSpanMethod" border style="width: 100%; ">
             <el-table-column prop="title" label="项目" width="180">
+                <template slot-scope="scope">
+                    <el-input @focus="huodejiaodian(scope.row.title)" @input="titleinput" v-model="scope.row.title" placeholder="请输入内容"></el-input>
+                </template>
             </el-table-column>
             <el-table-column prop="date" label="时间"  width="180">
                 <template slot-scope="scope">
@@ -144,6 +150,9 @@ export default {
             token:'',
             userId:'',
             affairbackwardloading:false,
+            porojectname:[],
+            porojectindex:[],
+
         }
     },
     created() {
@@ -182,8 +191,6 @@ export default {
                         itmes: []
                     };
                 }
-                console.log(row);
-                
                 currentItem.itmes.push({
                     id:row.id,
                     dataDetails: row.dataDetails,
@@ -326,7 +333,7 @@ export default {
                 method: 'post',
                 url: url,
                 headers: {
-                    Authorization: 'Bearer '
+                    Authorization: 'Bearer ',
                 },
                 data:{
                     groupId:that.diid,
@@ -346,6 +353,61 @@ export default {
                 }
             })
         },
+        //下载
+        ConferenceProceduresFileDown(){
+            this.unflattenData();
+            var url = "/api/Groups/ConferenceProceduresFileDown"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ',
+                },
+                data:{
+                    groupId:that.diid,
+                }
+            }).then(function (res) {
+                if(res.data.code==200){
+                    that.$message({
+                        type: 'success',
+                        message: res.data.msg
+                    });
+                    window.open(res.data.data);
+                }else{
+                    that.$message.error(res.data.msg);
+                }
+            })
+        },
+        //标题输入
+        titleinput(val){
+            console.log(this.porojectname);
+            for (let b = 0; b < this.porojectindex.length; b++) {
+                // this.tableDatass.splice( this.porojectindex,1)
+                for (let m = 0; m < this.porojectname.length; m++) {
+                    this.porojectname[m].title=val;
+                    this.tableDatass.splice(this.porojectindex[b],1,this.porojectname[m])
+                }
+            }
+            this.tableDatass=this.porojectname.concat(this.tableDatass)
+            this.unflattenData();
+            this.flattenData();
+            this.getSpanArr();
+        },
+        //获得焦点
+        huodejiaodian(val){
+            console.log(val);
+            this.porojectname=[];
+            this.porojectindex=[];
+             for (let y = 0; y < this.tableDatass.length; y++) {
+                if (this.tableDatass[y].title==val) {
+                    this.porojectname.push(this.tableDatass[y])
+                    this.porojectindex.push(y)
+                }
+            }
+            console.log(this.tableDatass);
+            
+        }
     },
     mounted(){
         this.token = JSON.parse(localStorage.getItem('userinif')).token;

+ 64 - 0
src/components/Resource/OpOfficialActivities.vue

@@ -481,6 +481,67 @@ var validateBudget = (rule, value, callback) => {
         callback();
     }
 }
+var addressloog = (rule, value, callback) => {
+    console.log(value.length);
+    
+    if (value.length<15) {
+        callback(new Error('字符不足15个!'));
+    } else {
+        callback();
+    }
+}
+var validatetel = (rule, value, callback) => {
+    if (!value) {
+        callback(new Error('请输入电话号码'));
+        return;
+    }
+    
+    // 国内电话号码验证
+    const domesticPhoneRegex = /^1\d{10}$|^(0\d{2,3}-?|\(0\d{2,3}\))?[1-9]\d{4,7}(-\d{1,8})?$/;
+    // 国际电话号码验证(包含国家代码)
+    const internationalPhoneRegex = /^\+\d{1,4}[-.\s]?\(?\d{1,}\)?[-.\s]?\d{1,}[-.\s]?\d{1,}[-.\s]?\d{1,}$/;
+    
+    // 判断是否为国际号码(以+开头)
+    if (value.startsWith('+')) {
+        if (internationalPhoneRegex.test(value)) {
+            callback();
+        } else {
+            callback(new Error('请输入正确的国际电话号码格式,如:+86-13812345678 或 +1-202-555-0176'));
+        }
+    } else {
+        // 国内号码验证
+        if (domesticPhoneRegex.test(value)) {
+            callback();
+        } else {
+            callback(new Error('请输入正确的国内电话号码格式,如:13812345678 或 010-12345678'));
+        }
+    }
+}
+var validatetranslatortel = (rule, value, callback) => {
+    if (!value) {
+        callback(new Error('请输入翻译联系电话'));
+        return;
+    }
+    
+    // 国内手机号
+    const mobileRegex = /^1[3-9]\d{9}$/;
+    // 国内固话
+    const landlineRegex = /^(0\d{2,3}-?)?[1-9]\d{4,7}(-\d{1,8})?$/;
+    // 国际号码
+    const internationalRegex = /^\+\d{1,4}[-.\s]?\(?\d{1,}\)?[-.\s]?\d{1,}[-.\s]?\d{1,}[-.\s]?\d{1,}$/;
+    
+    if (value.startsWith('+')) {
+        if (internationalRegex.test(value)) {
+            callback();
+        } else {
+            callback(new Error('请输入正确的国际电话号码格式'));
+        }
+    } else if (mobileRegex.test(value) || landlineRegex.test(value)) {
+        callback();
+    } else {
+        callback(new Error('请输入正确的电话号码格式'));
+    }
+}
 export default {
     data() {
         return {
@@ -574,6 +635,7 @@ export default {
                 ],
                 "translatorInfo.tel": [
                     { required: true, message: '该信息为必填信息', trigger: 'blur' },
+                    { validator: validatetranslatortel, trigger: 'blur' },
                 ],
                 "translatorInfo.email": [
                     { required: true, message: '该信息为必填信息', trigger: 'blur' },
@@ -612,6 +674,7 @@ export default {
                 address: [
                     { required: true, message: '该信息为必填信息', trigger: 'blur' },
                     { required: true, message: '该信息为必填信息', trigger: 'change' },
+                    { validator: addressloog, trigger: 'blur' },
                 ],
                 contact: [
                     { required: true, message: '该信息为必填信息', trigger: 'blur' },
@@ -624,6 +687,7 @@ export default {
                 tel: [
                     { required: true, message: '该信息为必填信息', trigger: 'blur' },
                     { required: true, message: '该信息为必填信息', trigger: 'change' },
+                    { validator: validatetel, trigger: 'blur' },
                 ],
                 dresscode: [
                     { required: true, message: '该信息为必填信息', trigger: 'blur' },