Browse Source

Merge branch 'master' of http://132.232.92.186:3000/XinXiBu/oa-system

wangh 2 years ago
parent
commit
1537cb2397

+ 1 - 0
build/utils.js

@@ -47,6 +47,7 @@ exports.cssLoaders = function (options) {
     if (options.extract) {
       return ExtractTextPlugin.extract({
         use: loaders,
+        publicPath:'../../',
         fallback: 'vue-style-loader'
       })
     } else {

+ 1 - 1
config/dev.env.js

@@ -4,5 +4,5 @@ const prodEnv = require('./prod.env')
 
 module.exports = merge(prodEnv, {
   NODE_ENV: '"development"',
-  API_HOST:"/api/"
+  API_HOST:'"/api/"'
 })

+ 2 - 2
config/index.js

@@ -52,13 +52,13 @@ module.exports = {
     // Paths
     assetsRoot: path.resolve(__dirname, '../dist'),
     assetsSubDirectory: 'static',
-    assetsPublicPath: '/',
+    assetsPublicPath: './',
 
     /**
      * Source Maps
      */
 
-    productionSourceMap: true,
+    productionSourceMap: false,
     // https://webpack.js.org/configuration/devtool/#production
     devtool: '#source-map',
 

+ 7 - 5
src/components/Login.vue

@@ -90,11 +90,11 @@ export default {
                     password: this.password
                 }
             }).then(function(res){
-                console.log(res)
+                console.log(res);
                 if(res.data.code==200){
                     localStorage.setItem('userinif', JSON.stringify(res.data.data));
                     that.fullscreenLoading=false;
-                    that.$router.push('/home/index')
+                    that.$router.push('/home/index');
                 }else{
                     that.fullscreenLoading=false;
                     that.$message({
@@ -106,11 +106,13 @@ export default {
         }
     },
     mounted() {
+
+console.log(process.env.API_HOST);
+
         document.querySelector(".login-all").style.height = window.innerHeight + "px";
         let that = this
         document.onkeydown = function (e) {
             e = window.event || e
-            console.log(e.code)
             //保证是在登录页面发出的enter事件
             if (e.code === 'Enter' || e.code === 'enter'|| e.code === 'NumpadEnter') {
                 //调用登录函数
@@ -295,11 +297,11 @@ body {
     color: #fff;
 }
 
-.el-input__prefix {
+.login-input .el-input__prefix {
     width: 40px;
 }
 
-.el-input--prefix .el-input__inner {
+.login-input .el-input--prefix .el-input__inner {
     padding-left: 50px;
 }
 

+ 0 - 1
src/components/OP/Groupedit.vue

@@ -313,7 +313,6 @@ export default {
             }else{
                 status=1
             }
-            debugger
             this.$axios({
                     method: 'post',
                     url:url,

+ 57 - 9
src/components/OP/OPgroup.vue

@@ -40,11 +40,11 @@
                         width="100"
                         label="团 号">
                     </el-table-column>
-                    <!-- <el-table-column
+                    <el-table-column
                         width="100" 
                         prop="salesQuoteNo"
                         label="销售报价号">
-                    </el-table-column> -->
+                    </el-table-column>
                     <el-table-column
                         prop="teamType"
                         label="团组类型"
@@ -94,11 +94,19 @@
                         <template slot-scope="scope">
                           <el-button
                             size="mini"
+                            title="编辑"
                             @click="handleEdit(scope.$index, scope.row)"><i class="el-icon-edit"></i></el-button>
                           <el-button
                             size="mini"
+                            title="删除"
                             type="danger"
                             @click="handleDelete(scope.$index, scope.row,groupDatas)"><i class="el-icon-delete"></i></el-button>
+                            <el-button v-if="scope.row.tourCode==''" size="mini" title="确认出团" type="primary" @click="confirmDeparture(scope.$index, scope.row)"><i class="el-icon-check"></i></el-button>
+                            <el-button
+                            v-if="scope.row.tourCode!=''"
+                            size="mini"
+                            title="已出团"
+                            ><i class="el-icon-check"></i></el-button>
                         </template>
                       </el-table-column>
                 </el-table>
@@ -159,11 +167,9 @@ export default {
             this.currentPage = val;
         },
         Inquireclick(){
-            console.log(this.groupDatass)
             var newarr=[];
             if(this.input==""){
                 if(this.value=="0"){
-                    console.log(123)
                     newarr=this.groupData;
                 }else{
                     newarr=this.groupDatass;
@@ -271,7 +277,6 @@ export default {
         },
         //筛选状态
         filterStatus(val){
-            console.log(val)
             var newgroup=[];
             if(this.input==""){
                 if(val=="0"||val==""){
@@ -289,6 +294,7 @@ export default {
                         }
                     }
                 }
+                this.currentPage=1;
                 this.groupDatas=newgroup
                 this.groupDatass=newgroup 
             }else{
@@ -307,6 +313,7 @@ export default {
                         }
                     }
                 }
+                this.currentPage=1;
                 this.groupDatas=newgroup
                 this.groupDatass=newgroup 
                 this.Inquireclick()
@@ -314,9 +321,53 @@ export default {
         },
         //编辑
         handleEdit(index, row,rows) {
-            console.log(index, row.id);
             this.$router.push({path: '/home/Groupedit?id=' + row.id +''});
         },
+        confirmDeparture(index, row){
+            console.log(row)
+            this.$confirm('此操作将会确认出团, 是否继续?', '提示', {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            type: 'warning'
+            }).then(() => {
+                var url="/api/Groups/SetConfirmationGroup"
+                var that=this
+                this.$axios({
+                    method: 'post',
+                    url:url,
+                    headers:{
+                        Authorization:'Bearer '+this.token
+                    },
+                    data:{
+                        portType: 1,
+                        groupId:row.id,
+                        groupsOperator:that.userid
+                    }
+                }).then(function(res){
+                    console.log(res)
+                    if(res.data.code==200){
+                        that.$message({
+                            message:res.data.msg ,
+                            type: 'success',
+                            offset:50
+                        });
+                        row.tourCode=res.data.data.tourCode;
+                        rows.splice(index, 1);
+                    }else{
+                        that.$message({
+                            message:res.data.msg ,
+                            type: 'warning',
+                            offset:50
+                        });
+                    }
+                })
+            }).catch(() => {
+                this.$message({
+                    type: 'info',
+                    message: '已取消确认出团'
+                });          
+            });
+        },
         //删除
         handleDelete(index, row,rows) {
             this.$confirm('此操作将删除该条信息, 是否继续?', '提示', {
@@ -326,7 +377,6 @@ export default {
             }).then(() => {
                 var url="/api/Groups/GroupDel"
                 var that=this
-                console.log(that.userid+'----'+row.id)
                 this.$axios({
                     method: 'post',
                     url:url,
@@ -339,7 +389,6 @@ export default {
                         userId:that.userid
                     }
                 }).then(function(res){
-                    console.log(res);
                     if(res.data.code==200){
                         that.$message({
                             message:res.data.msg ,
@@ -367,7 +416,6 @@ export default {
     mounted(){
         this.token=JSON.parse(localStorage.getItem('userinif')).token;
         this.userid=JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
-        console.log(this.token)
         this.Grouplist();
     }
 }

+ 583 - 118
src/components/OP/visaEdit.vue

@@ -3,122 +3,504 @@
         <div class="visaedit-title">
             添加团组客户资料
         </div>
-        <div class="small-title">
-            <span>基础信息</span>
-        </div>
-        <div class="tips">
-            姓名等需要与护照所示一致;曾用姓名包括未婚时称呼、宗教用称呼、工作用称呼、化名
-        </div>
-        <div class="foundation-form">
-            <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
-                <div class="foundation-box">
-                    <el-form-item label="姓:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="名:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="曾用姓名:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="移动电话:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="身份证号" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="身份证地址" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="护照号:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="婚姻状况:" prop="name">
-                        <el-input v-model="ruleForm.name" placeholder="(已婚/单身(未婚)/丧偶/离异/分居)"></el-input>
-                    </el-form-item>
-                    <el-form-item label="证件有效期:" prop="name">
-                        <el-input v-model="ruleForm.name" placeholder="身份证有效期"></el-input>
-                    </el-form-item>
-                    <el-form-item label="至:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="护照号:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="国籍:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="性别" prop="resource">
-                        <el-radio-group v-model="ruleForm.resource">
-                            <el-radio label="男"></el-radio>
-                            <el-radio label="女"></el-radio>
-                        </el-radio-group>
-                    </el-form-item>
-                    <el-form-item label="出生地 城市:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="省份:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="出生日期:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="最高学历:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="家庭电话:" prop="name">
-                        <el-input v-model="ruleForm.name" placeholder="(座机)"></el-input>
-                    </el-form-item>
-                    <el-form-item label="电子信箱:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="现居地址:" prop="name">
-                        <el-input v-model="ruleForm.name" placeholder="(国家-省-市-街道-单元-门牌号)"></el-input>
-                    </el-form-item>
-                    <el-form-item label="邮编:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
+        <div class="plate-box">
+            <div class="small-title">
+                <span>基础信息</span>
+            </div>
+            <div class="foundation-form">
+                <div class="tips">
+                    姓名等需要与护照所示一致;曾用姓名包括未婚时称呼、宗教用称呼、工作用称呼、化名
                 </div>
-            </el-form>
+                <el-form :model="basicInfo" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
+                    <div class="foundation-box">
+                        <el-form-item label="姓名:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="曾用姓名:" prop="formerName">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="移动电话:" prop="cellPhone">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="出生日期:" prop="dateBirth">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="身份证号" prop="IDnumber">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="身份证地址" prop="IDaddress">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="护照号:" prop="passportNumber">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="婚姻状况:" prop="maritalStatus">
+                            <el-input v-model="ruleForm.name" placeholder="(已婚/单身(未婚)/丧偶/离异/分居)"></el-input>
+                        </el-form-item>
+                        <el-form-item label="证件有效期:" prop="beginDate">
+                            <el-input v-model="ruleForm.name" placeholder="身份证有效期"></el-input>
+                        </el-form-item>
+                        <el-form-item label="至:" prop="endDate">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="党派宗教:" prop="Party">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="国籍:" prop="citizenship">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="性别" prop="sex">
+                            <el-radio-group v-model="ruleForm.resource">
+                                <el-radio label="男"></el-radio>
+                                <el-radio label="女"></el-radio>
+                            </el-radio-group>
+                        </el-form-item>
+                        <el-form-item label="出生地 城市:" prop="town">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="省份:" prop="province">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        
+                        <el-form-item label="最高学历:" prop="education">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="家庭电话:" prop="homePhone">
+                            <el-input v-model="ruleForm.name" placeholder="(座机)"></el-input>
+                        </el-form-item>
+                        <el-form-item label="电子信箱:" prop="email">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="现居地址:" prop="currentAddress">
+                            <el-input v-model="ruleForm.name" placeholder="(国家-省-市-街道-单元-门牌号)"></el-input>
+                        </el-form-item>
+                        <el-form-item label="邮编:" prop="postcode">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                    </div>
+                </el-form>
+            </div>
         </div>
-        <div class="small-title">
-            现就职单位
+        <div class="plate-box">
+            <div class="small-title">
+                <span>现就职单位</span>
+            </div>
+            <div class="flats-form">
+                <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
+                    <div class="foundation-box">
+                        <el-form-item label="单位名称:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="单位地址:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="单位邮编:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="职务:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="入职时间" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="(注明年月日)"></el-input>
+                        </el-form-item>
+                        <el-form-item label="月薪" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="(人民币)"></el-input>
+                        </el-form-item>
+                        <el-form-item label="单位电话:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="单位传真:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="单位邮箱:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="单位主管:" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="姓名:(除本人以外)"></el-input>
+                        </el-form-item>
+                        <el-form-item label="主管职务:" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="单位主管职务"></el-input>
+                        </el-form-item>
+                        <el-form-item label="工作内容" prop="desc" style="width: 100%;">
+                            <el-input type="textarea" v-model="ruleForm.desc" placeholder="工作内容简单介绍(美加签证必填)"></el-input>
+                        </el-form-item>
+                    </div>
+                </el-form>
+            </div>
         </div>
-        <div class="flats-form">
-            <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
-                <div class="foundation-box">
-                    <el-form-item label="单位名称:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
-                    </el-form-item>
-                    <el-form-item label="单位地址:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
+        <div class="plate-box">
+            <div class="small-title">
+                <span>配偶信息</span>
+            </div>
+            <div class="flats-form">
+                <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
+                    <div class="foundation-box">
+                        <el-form-item label="结婚时间:" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="请注明结婚时间"></el-input>
+                        </el-form-item>
+                        <el-form-item label="离婚时间:" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="如离婚,请注明离婚时间"></el-input>
+                        </el-form-item>
+                        <el-form-item label="配偶姓名:" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="客户配偶姓名(若离异或分居或去世也应填写此项)"></el-input>
+                        </el-form-item>
+                        <el-form-item label="出生日期:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="出生城市" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="省份" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="配偶住址:" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="客户配偶住址(如果与客户不一样,须提供其配偶的地址,国家-省-市-街道-单元-门牌号)"></el-input>
+                        </el-form-item>
+                        <el-form-item label="工作单位:" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="客户配偶工作单位名称"></el-input>
+                        </el-form-item>
+                        <el-form-item label="单位地址:" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="客户配偶工作单位地址"></el-input>
+                        </el-form-item>
+                        <el-form-item label="职务:" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="客户配偶工作单位职务"></el-input>
+                        </el-form-item>
+                    </div>
+                </el-form>
+            </div>
+        </div>
+        <div class="plate-box">
+            <div class="small-title">
+                <span>家庭成员信息</span>
+            </div>
+            <el-form v-for="(item,i) in studentList" :key="i">
+                <div class="member-li">
+                    <el-form-item label="称谓:" prop="name">
+                        <el-select v-model="value" filterable placeholder="请选择">
+                            <el-option
+                              v-for="item in options"
+                              :key="item.value"
+                              :label="item.label"
+                              :value="item.value">
+                            </el-option>
+                          </el-select>
                     </el-form-item>
-                    <el-form-item label="单位邮编:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
+                    <el-form-item label="姓名:" prop="age">
+                        <el-input v-model="item.age" clearable></el-input>
                     </el-form-item>
-                    <el-form-item label="职务:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
+                    <el-form-item label="出生日期:" prop="name">
+                        <el-input v-model="item.name" clearable></el-input>
                     </el-form-item>
-                    <el-form-item label="入职时间" prop="name">
-                        <el-input v-model="ruleForm.name" placeholder="(注明年月日)"></el-input>
+                    <el-form-item label="出生地:" prop="age">
+                        <el-input v-model="item.age" clearable></el-input>
                     </el-form-item>
-                    <el-form-item label="月薪" prop="name">
-                        <el-input v-model="ruleForm.name" placeholder="(人民币)"></el-input>
+                    <el-form-item label="政治面貌:" prop="name">
+                        <el-input v-model="item.name" clearable></el-input>
                     </el-form-item>
-                    <el-form-item label="单位电话:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
+                    <el-form-item label="工作单位:" prop="age">
+                        <el-input v-model="item.age" clearable></el-input>
                     </el-form-item>
-                    <el-form-item label="单位传真:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
+                    <el-form-item label="家庭住址:" prop="name">
+                        <el-input v-model="item.name" clearable></el-input>
                     </el-form-item>
-                    <el-form-item label="单位邮箱:" prop="name">
-                        <el-input v-model="ruleForm.name"></el-input>
+                    <el-form-item label="是否生活在美国:" prop="age">
+                        <el-input v-model="item.age" clearable></el-input>
                     </el-form-item>
-                    <el-form-item label="单位主管:" prop="name">
-                        <el-input v-model="ruleForm.name" placeholder="姓名:(除本人以外)"></el-input>
+                    <el-form-item>
+                        <el-button circle icon="el-icon-plus" @click="addList()"></el-button>
+                        <el-button circle icon="el-icon-minus" @click="subList(i)" v-if="i>0"></el-button>
                     </el-form-item>
                 </div>
             </el-form>
+            <hr style='background-color:#5555; height:1px; border:none;'/>
+            <div class="tips">
+                若家庭成员中有欧盟、欧洲经济区或瑞士公民,请填写下方信息:
+            </div>
+            <div class="flats-form">
+                <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
+                    <div class="foundation-box">
+                        <el-form-item label="成员姓名:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="出生日期:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="成员国籍:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="出生日期:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="证件号码" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="旅行证件编号或身份证号码"></el-input>
+                        </el-form-item>
+                        <el-form-item label-width="330px" label="客户与该欧盟、欧洲经济区或瑞士公民亲属关系" prop="resource" style="width: 100%;">
+                            <el-radio-group v-model="ruleForm.resource">
+                                <el-radio label="配偶"></el-radio>
+                                <el-radio label="子女"></el-radio>
+                                <el-radio label="孙女儿"></el-radio>
+                                <el-radio label="赡养的老人"></el-radio>
+                            </el-radio-group>
+                        </el-form-item>
+                        <el-form-item label="出访的国家" prop="desc" style="width: 100%;">
+                            <el-input type="textarea" v-model="ruleForm.desc" placeholder="过去五年因公出访的国家(XX年XX月出访XX国):"></el-input>
+                        </el-form-item>
+                        <el-form-item label="发表文件" prop="desc" style="width: 100%;">
+                            <el-input type="textarea" v-model="ruleForm.desc" placeholder="是否发表过期刊、论文(日期、题目、期刊名字):"></el-input>
+                        </el-form-item>
+                        <el-form-item label="拥有专利" prop="desc" style="width: 100%;">
+                            <el-input type="textarea" v-model="ruleForm.desc" placeholder="是否拥有任何专利(日期、名字、专利号):"></el-input>
+                        </el-form-item>
+                        <el-form-item label="博士论文" prop="desc" style="width: 100%;">
+                            <el-input type="textarea" v-model="ruleForm.desc" placeholder="是否发表过博士论文(日期、题目、指导老师、研究领域):"></el-input>
+                        </el-form-item>
+                        <el-form-item label-width="220px" label="是否因公去过美国/加拿大?" prop="resource" style="width: 100%;">
+                            <el-radio-group v-model="ruleForm.resource">
+                                <el-radio label="是"></el-radio>
+                                <el-radio label="否"></el-radio>
+                            </el-radio-group>
+                            <span>(请列出最近1次出访信息,不记得具体日期,请提供尽量靠近的日期)</span>
+                        </el-form-item>
+                        <el-form-item label="美国:" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="抵达日期"></el-input>
+                        </el-form-item>
+                        <el-form-item label="天数:" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="停留天数"></el-input>
+                        </el-form-item>
+                        <el-form-item label="加拿大:" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="抵达日期"></el-input>
+                        </el-form-item>
+                        <el-form-item label="天数:" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="停留天数"></el-input>
+                        </el-form-item>
+                        <el-form-item label-width="220px" label="是否曾获得过因公美国签证?" prop="resource" style="width: 100%;">
+                            <el-radio-group v-model="ruleForm.resource">
+                                <el-radio label="是"></el-radio>
+                                <el-radio label="否"></el-radio>
+                            </el-radio-group>
+                        </el-form-item>
+                        <el-form-item label="获得日期:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="地点:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="签证种类:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="签证编码:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label-width="220px" label="是否在使馆留过十指的指纹?" prop="resource" style="width: 100%;">
+                            <el-radio-group v-model="ruleForm.resource">
+                                <el-radio label="是"></el-radio>
+                                <el-radio label="否"></el-radio>
+                            </el-radio-group>
+                        </el-form-item>
+                        <el-form-item label-width="430px" label="是否曾经被拒签或被拒绝入境美国或在入境时被撤回入境申请?" prop="resource" style="width: 100%;">
+                            <el-radio-group v-model="ruleForm.resource">
+                                <el-radio label="是"></el-radio>
+                                <el-radio label="否"></el-radio>
+                            </el-radio-group>
+                        </el-form-item>
+                        <el-form-item label="何时:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="何地:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="签证种类:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label-width="220px" label="美国签证是否被吊销过?" prop="resource" style="width: 100%;">
+                            <el-radio-group v-model="ruleForm.resource">
+                                <el-radio label="是"></el-radio>
+                                <el-radio label="否"></el-radio>
+                            </el-radio-group>
+                        </el-form-item>
+                        <el-form-item label-width="220px" label="护照是否曾经丢失或被盗?" prop="resource" style="width: 100%;">
+                            <el-radio-group v-model="ruleForm.resource">
+                                <el-radio label="是"></el-radio>
+                                <el-radio label="否"></el-radio>
+                            </el-radio-group>
+                        </el-form-item>
+                        <el-form-item label="何时:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="护照编码:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="是否有签证" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="此护照上是否有美国签证"></el-input>
+                        </el-form-item>
+                    </div>
+                </el-form>
+            </div>
+            <hr style='background-color:#5555; height:1px; border:none;'/>
+            <div class="tips">
+                下列亲属中是否有人已在美国?他们是否是合法永久居民或公民?
+            </div>
+            <div class="flats-form">
+                <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
+                    <div class="citizens-box">
+                        <div class="citizens-li">
+                            <el-form-item label-width="76px" label="夫/妻" prop="resource">
+                                <el-radio-group v-model="ruleForm.resource">
+                                    <el-radio label="不在美国"></el-radio>
+                                    <el-radio label="在美国"></el-radio>
+                                </el-radio-group>
+                            </el-form-item>
+                            <el-form-item label="身份:" prop="name">
+                                <el-input v-model="ruleForm.name"></el-input>
+                            </el-form-item>
+                        </div>
+                        <div class="citizens-li">
+                            <el-form-item label-width="136px" label="未婚夫/未婚妻" prop="resource">
+                                <el-radio-group v-model="ruleForm.resource">
+                                    <el-radio label="不在美国"></el-radio>
+                                    <el-radio label="在美国"></el-radio>
+                                </el-radio-group>
+                            </el-form-item>
+                            <el-form-item label="身份:" prop="name">
+                                <el-input v-model="ruleForm.name"></el-input>
+                            </el-form-item>
+                        </div>
+                        <div class="citizens-li">
+                            <el-form-item label-width="76px" label="父/母" prop="resource">
+                                <el-radio-group v-model="ruleForm.resource">
+                                    <el-radio label="不在美国"></el-radio>
+                                    <el-radio label="在美国"></el-radio>
+                                </el-radio-group>
+                            </el-form-item>
+                            <el-form-item label="身份:" prop="name">
+                                <el-input v-model="ruleForm.name"></el-input>
+                            </el-form-item>
+                        </div>
+                        <div class="citizens-li">
+                            <el-form-item label-width="106px" label="兄弟/姐妹" prop="resource">
+                                <el-radio-group v-model="ruleForm.resource">
+                                    <el-radio label="不在美国"></el-radio>
+                                    <el-radio label="在美国"></el-radio>
+                                </el-radio-group>
+                            </el-form-item>
+                            <el-form-item label="身份:" prop="name">
+                                <el-input v-model="ruleForm.name"></el-input>
+                            </el-form-item>
+                        </div>
+                        <div class="citizens-li">
+                            <el-form-item label-width="106px" label="儿子/女儿" prop="resource">
+                                <el-radio-group v-model="ruleForm.resource">
+                                    <el-radio label="不在美国"></el-radio>
+                                    <el-radio label="在美国"></el-radio>
+                                </el-radio-group>
+                            </el-form-item>
+                            <el-form-item label="身份:" prop="name">
+                                <el-input v-model="ruleForm.name"></el-input>
+                            </el-form-item>
+                        </div>
+                        <el-form-item label="慈善机构" prop="desc" style="width: 100%;">
+                            <el-input type="textarea" v-model="ruleForm.desc" placeholder="列出所有现在和曾经所属/捐助/工作过的职业协会、社会团体和慈善机构(没有请写“无”):/捐助/工作过的职业协会、社会团体和慈善机构(没有请写“无”)"></el-input>
+                        </el-form-item>
+                        <el-form-item label-width="140px" label="是否曾经参军?" prop="resource">
+                            <el-radio-group v-model="ruleForm.resource">
+                                <el-radio label="否"></el-radio>
+                                <el-radio label="是"></el-radio>
+                            </el-radio-group>
+                        </el-form-item>
+                        <el-form-item label="军事信息" prop="desc" style="width: 100%;">
+                            <el-input type="textarea" v-model="ruleForm.desc" placeholder="如果是,请列出所服役的国家、军种、军衔、军事特长以及服役期限(X年X月X日)"></el-input>
+                        </el-form-item>
+                    </div>
+                </el-form>
+            </div>
+            <hr style='background-color:#5555; height:1px; border:none;'/>
+            <div class="tips">
+                <span>请列出过去10年的工作经历(请填写现任公司之前的工作经历,如果没有请写“无”):</span>
+            </div>
+            <div>
+                <el-form v-for="(item,w) in workList" :key="w">
+                    <div class="member-li">
+                        <el-form-item label="公司名称:" prop="age">
+                            <el-input v-model="item.age" clearable></el-input>
+                        </el-form-item>
+                        <el-form-item label="公司地址:" prop="age">
+                            <el-input v-model="item.age" clearable></el-input>
+                        </el-form-item>
+                        <el-form-item label="电话:" prop="name">
+                            <el-input v-model="item.name" clearable></el-input>
+                        </el-form-item>
+                        <el-form-item label="职务:" prop="age">
+                            <el-input v-model="item.age" clearable></el-input>
+                        </el-form-item>
+                        <el-form-item label="主管名字:" prop="name">
+                            <el-input v-model="item.name" clearable></el-input>
+                        </el-form-item>
+                        <el-form-item label="起始日期:" prop="age">
+                            <el-input v-model="item.age" clearable></el-input>
+                        </el-form-item>
+                        <el-form-item label="结束日期:" prop="name">
+                            <el-input v-model="item.name" clearable></el-input>
+                        </el-form-item>
+                        <el-form-item label="工作职责及内容简述:" prop="age">
+                            <el-input v-model="item.age" clearable></el-input>
+                        </el-form-item>
+                        <el-form-item>
+                            <el-button circle icon="el-icon-plus" @click="addList()"></el-button>
+                            <el-button circle icon="el-icon-minus" @click="subList(w)" v-if="w>0"></el-button>
+                        </el-form-item>
+                    </div>
+                </el-form>
+            </div>
+            <hr style='background-color:#5555; height:1px; border:none;'/>
+            <div class="tips">
+                <span>列出除小学以外的所有教育经历:从高中开始填写</span>
+            </div>
+            <div>
+                <el-form v-for="(item,e) in educationalList" :key="e">
+                    <div class="member-li">
+                        <el-form-item label="学校名称和学历:" prop="age">
+                            <el-input v-model="item.age" clearable></el-input>
+                        </el-form-item>
+                        <el-form-item label="学校地址:" prop="age">
+                            <el-input v-model="item.age" clearable></el-input>
+                        </el-form-item>
+                        <el-form-item label="指导老师:" prop="name">
+                            <el-input v-model="item.name" clearable></el-input>
+                        </el-form-item>
+                        <el-form-item label="课程或专业:" prop="age">
+                            <el-input v-model="item.age" clearable></el-input>
+                        </el-form-item>
+                        <el-form-item label="起始日期:" prop="name">
+                            <el-input v-model="item.name" clearable></el-input>
+                        </el-form-item>
+                        <el-form-item label="结束日期:" prop="age">
+                            <el-input v-model="item.age" clearable></el-input>
+                        </el-form-item>
+                        <el-form-item>
+                            <el-button circle icon="el-icon-plus" @click="addList()"></el-button>
+                            <el-button circle icon="el-icon-minus" @click="subList(e)" v-if="e>0"></el-button>
+                        </el-form-item>
+                    </div>
+                </el-form>
+            </div>
+            <div class="flats-form">
+                <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
+                    <div class="foundation-box">
+                        <el-form-item label="费用承担者:" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="在外费用承担者"></el-input>
+                        </el-form-item>
+                        <el-form-item label="经办人:" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="填表经办人"></el-input>
+                        </el-form-item>
+                        <el-form-item label="联系电话:" prop="name">
+                            <el-input v-model="ruleForm.name" placeholder="填表经办人联系电话"></el-input>
+                        </el-form-item>
+                        <el-form-item label="填表日期:" prop="name">
+                            <el-input v-model="ruleForm.name"></el-input>
+                        </el-form-item>
+                    </div>
+                </el-form>
+            </div>
         </div>
     </div>
 </template>
@@ -127,6 +509,28 @@
 export default {
     data() {
       return {
+        basicInfo:{
+            name:'',
+            formerName:'',
+            cellPhone:'',
+            dateBirth:'',
+            IDnumber:'',
+            IDaddress:'',
+            passportNumber:'',
+            maritalStatus:'',
+            beginDate:'',
+            endDate:'',
+            Party:'',
+            citizenship:'',
+            sex:'',
+            town:'',
+            province:'',
+            education:'',
+            homePhone:'',
+            email:'',
+            currentAddress:'',
+            postcode:''
+        },
         ruleForm: {
           name: '',
           region: '',
@@ -160,32 +564,70 @@ export default {
           desc: [
             { required: true, message: '请填写活动形式', trigger: 'blur' }
           ]
-        }
+        },
+        studentList: [
+           {name: '', age: ''}
+        ],
+        workList:[
+            {name: '', age: ''}
+        ],
+        educationalList:[
+            {name: '', age: ''}
+        ],
+        options: [{
+          value: '0',
+          label: '父亲'
+        }, {
+          value: '1',
+          label: '母亲'
+        }, {
+          value: '2',
+          label: '儿子'
+        }, {
+          value: '3',
+          label: '女儿'
+        }, {
+          value: '4',
+          label: '妻子'
+        }, {
+          value: '5',
+          label: '丈夫'
+        }],
+        value: ''
       };
     },
     methods: {
       submitForm(formName) {
-        this.$refs[formName].validate((valid) => {
-          if (valid) {
-            alert('submit!');
-          } else {
-            console.log('error submit!!');
-            return false;
-          }
-        });
-      },
-      resetForm(formName) {
-        this.$refs[formName].resetFields();
-      }
+            this.$refs[formName].validate((valid) => {
+                if (valid) {
+                    alert('submit!');
+                } else {
+                    console.log('error submit!!');
+                    return false;
+                }
+            });
+        },
+        resetForm(formName) {
+            this.$refs[formName].resetFields();
+        },
+        //加号
+        addList() {
+            this.studentList.push({ name: '', age: '' })
+        },
+        //减号
+        subList(index) {
+            this.studentList.splice(index, 1)
+        }
     }
 }
 </script>
 <style>
-    .visaedit-box{
+    .plate-box{
         background-color: #fff;
         padding: 10px;
         box-shadow: 0 0 5px #0005;
         border-radius: 10px;
+        margin-bottom: 20px;
     }
     .visaedit-title{
         display: flex;
@@ -196,6 +638,7 @@ export default {
         margin-bottom: 2px;
         justify-content: space-between;
         align-items: center;
+        margin-bottom: 10px;
     }
     .tips{
         margin-bottom: 10px;
@@ -213,12 +656,34 @@ export default {
         font-size: 14px;
         font-weight:600 ;
         color: #555;
-        margin: 10px 0;
+        margin: 18px 0 25px;
     }
     .small-title>span{
         display: inline;
         padding: 5px 10px;
-        border: 1px solid #606266;
+        box-shadow: 0 0 5px #0005;
         border-radius: 5px;
     }
+    .member-li{
+        display: flex;
+        align-items: end;
+        justify-content: space-between;
+    }
+    .member-li>.el-form-item{
+        width: 10%;
+    }
+    .el-form-item .el-form-item__content span{
+        color: #606266;
+    }
+    .citizens-box{
+        display: flex;
+        flex-wrap:wrap ;
+    }
+    .citizens-box>.el-form-item{
+        width: 25%;
+    }
+    .citizens-box>.citizens-li{
+        display: flex;
+        width: 50%;
+    }
 </style>

+ 2 - 1
src/components/child/AuthorityJob.vue

@@ -39,7 +39,7 @@
                             <div>
                                 <el-checkbox @change='checkchange(scope.row.id,op.id)'  v-if=" scope.row.opList.indexOf(op.id) != -1" :value="scope.row.selList.indexOf(op.id) != -1" >
                                 </el-checkbox >
-                                <el-checkbox  v-else :disabled="true" >
+                                <el-checkbox  v-else :disabled="true"  :value="false" >
                                 </el-checkbox>
                             </div>
                         </template>
@@ -228,6 +228,7 @@ export default {
             this.$axios.post(this.PathUrl + '/api/System/SaveJobAuth', {
                 "Jpid": this.valueposition,
                 "Savejobs": savejob,
+                "modulId":this.value == '' ? '13':this.value,
             }, {
                 headers: {
                     'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IkZ1dHVyZSIsImV4cCI6MTY3OTU0MjgwNSwiaXNzIjoiT0FTeXN0ZW0uY29tIiwiYXVkIjoiT0FTeXN0ZW0uY29tIn0.iy5SUInq1p3yjZultRPyzCa2ekLeepSdMLxvPwXY6MI',

+ 3 - 2
src/components/child/AuthorityUser.vue

@@ -43,7 +43,7 @@
                                     v-if="scope.row.opList.indexOf(op.id) != -1"
                                     :value="scope.row.selList.indexOf(op.id) != -1">
                                 </el-checkbox>
-                                <el-checkbox v-else :disabled="true">
+                                <el-checkbox v-else :disabled="true" :value="false">
                                 </el-checkbox>
                             </div>
                         </template>
@@ -239,10 +239,11 @@ export default {
                 });
             })
             console.log(savejob);
-            //初始化界面数据
+            //保存数据
             this.$axios.post(this.PathUrl + '/api/System/SaveUserAuth', {
                 "uid": this.Valueuesr,
                 "Savejobs": savejob,
+                "Modulid":this.value == '' ? '13':this.value,
             }, {
                 headers: {
                     'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IkZ1dHVyZSIsImV4cCI6MTY3OTU0MjgwNSwiaXNzIjoiT0FTeXN0ZW0uY29tIiwiYXVkIjoiT0FTeXN0ZW0uY29tIn0.iy5SUInq1p3yjZultRPyzCa2ekLeepSdMLxvPwXY6MI',

+ 66 - 24
src/components/child/Controltree.vue

@@ -3,29 +3,29 @@
         <div class="controltree-w">
             <div class="controltree-ul" >
                 <div class="controltree-li" v-for="(item,index) in treeData" :key="index">
-                    {{item.label}}
-                    <div v-if="item.children" class="second-ul">
+                    {{item.rootName}}
+                    <div v-if="item.childList!==undefined && item.childList!= null&&item.childList.length>0" class="second-ul">
                         <div class="second-ul-haed">
                             <div>版块步骤</div>
                             <div>预计完成时间</div>
                             <div>完成时间</div>
                         </div>
-                        <div v-if="item.panduan=='wu'">
-                            <div v-for="(seconditem,index) in item.children" :key="index"   class="li-steps-li">
-                                <div :style="filter_color(seconditem.state)">{{seconditem.label}}</div>
-                                <div>{{seconditem.date}}</div>
-                                <div>{{seconditem.enddate}}</div>
+                        <div v-if="item.childList[0].childList==undefined||item.childList[0].childList==null||item.childList[0].childList.length<=0">
+                            <div v-for="(seconditem,index) in item.childList" :key="index"   class="li-steps-li">
+                                <div :style="filter_color(seconditem.stepStatus)">{{seconditem.jobContent}}</div>
+                                <div>{{seconditem.expectBeginDt.split(" ")[0]}}~{{seconditem.expectEndDt.split(" ")[0]}}</div>
+                                <div>{{seconditem.expectEndDt.split(" ")[0]}}</div>
                             </div>
                         </div>
-                        <div v-if="item.panduan=='you'" style="padding:5px">
-                            <div v-for="(seconditem,index) in item.children" :key="index" class="second-li">
-                                <span>{{seconditem.label}}</span>
+                        <div v-if="item.childList[0].childList!==undefined&&item.childList[0].childList!=null&&item.childList[0].childList.length>0" style="padding:5px">
+                            <div v-for="(seconditem,index) in item.childList" :key="index" class="second-li">
+                                <span>{{seconditem.jobContent.split("-")[1]}}</span>
                                 <div class="li-steps-ul">
-                                    <div class="zanwu" v-if="!seconditem.children">暂无事件</div>
-                                    <div v-for="(stepsitem,index) in seconditem.children" :key="index"   class="li-steps-li">
-                                        <div :style="filter_color(stepsitem.state)">{{stepsitem.label}}</div>
-                                        <div>{{stepsitem.date}}</div>
-                                        <div>{{stepsitem.enddate}}</div>
+                                    <div class="zanwu" v-if="!seconditem.childList">暂无事件</div>
+                                    <div v-for="(stepsitem,index) in seconditem.childList" :key="index"   class="li-steps-li">
+                                        <div :style="filter_color(stepsitem.stepStatus)">{{stepsitem.jobContent}}</div>
+                                        <div>{{stepsitem.expectBeginDt.split(" ")[0]}}~{{stepsitem.expectEndDt.split(" ")[0]}}</div>
+                                        <div>{{stepsitem.expectEndDt.split(" ")[0]}}</div>
                                     </div>
                                 </div>
                             </div>
@@ -38,9 +38,11 @@
 </template>
 
 <script>
+import Qs from 'qs'
 export default {
     data() {
         return {
+            token:'',
             treeData: [{
                     id: 1,
                     label: "团组出行",
@@ -334,19 +336,59 @@ export default {
     },
     methods:{
         filter_color(val){
-            if(val==1){
-                return "color:green"
-            }
-            if(val==3){
+            if(val==0){
                 return "color:red"
             }
+            if(val==1){
+                return "color:#159bfb"
+            }
             if(val==2){
-                return "color:#8f8383"
+                return "color:#green"
             }
+        },
+        getControl(){
+            var url="/api/Groups/PostSearchGrpSchedule";
+            var that=this;
+            that.fullscreenLoading = true;
+            var data = JSON.stringify({
+                "paras": "{\"PortType\":\"1\",\"SearchType\":\"1\",\"ScheduleId\":\"24\"}"
+            });
+            this.$axios({
+                method: 'post',
+                url:url,
+                headers:{
+                    Authorization:'Bearer '+this.token,
+                    'Content-Type':'application/json;charset=UTF-8'
+                },
+                data:data
+            }).then(function(res){
+                console.log(res)
+                if(res.data.code==200){
+                    that.treeData=res.data.data.rootList
+                    console.log(that.treeData)
+                    // that.$message({
+                    //     message: res.data.msg,
+                    //     type: 'success',
+                    //     offset:50
+                    // });
+                    // that.fullscreenLoading = false;
+                }else{
+                    // that.$message({
+                    //     message:res.data.msg,
+                    //     type: 'warning',
+                    //     offset:50
+                    // });
+                    // that.fullscreenLoading = false;
+                }
+            })
         }
     },
     filters:{
         
+    },
+    mounted(){
+        this.token=JSON.parse(localStorage.getItem('userinif')).token;
+        this.getControl()
     }
 }
 </script>
@@ -395,20 +437,20 @@ export default {
     .controltree-li:nth-child(2n) .second-ul::before{
         content: "";
         display: inline-block;
-        width: 75px;
+        width: 115px;
         height: 1px;
         position: absolute;
-        left: -75px;
+        left: -115px;
         top: 20px;
         background-color: #F1B72C;
     }
     .controltree-li:nth-child(2n+1) .second-ul::before{
         content: "";
         display: inline-block;
-        width: 75px;
+        width: 155px;
         height: 1px;
         position: absolute;
-        right: -75px;
+        right: -115px;
         top: 20px;
         background-color: #1E5DA5;
     }

+ 72 - 187
src/components/child/PageFunction.vue

@@ -1,8 +1,10 @@
 <template>
-    <div class="pageConfig-box">
+    <div class="pageConfig-box"  v-loading="isload" element-loading-text="拼命加载中"
+    element-loading-spinner="el-icon-loading"
+    element-loading-background="rgba(0, 0, 0, 0.8)" >
         <div class="pageConfig-head">
             <div style="display: flex;">
-                <div>
+                <!-- <div>
                     <el-select @change="Inquirechange()" v-model="ModulValue" clearable placeholder="全部模块">
                         <el-option v-for="item in ModulList" :key="item.value" :label="item.name" :value="item.id">
                         </el-option>
@@ -13,41 +15,27 @@
                     <el-input placeholder="请输入页面名称" v-model="SearchInput" clearable></el-input>
                     &nbsp;&nbsp;
                     <el-button type="primary" @click="btnSearch" >搜 索</el-button>
-                </div>
+                </div> -->
             </div>
            <div>
-                <el-button type="primary" @click="pageload()"  >刷 新</el-button>
+                <el-button type="primary" @click="isload=true;  pageload()"  >刷 新</el-button>
                 <el-button type="primary" @click="addPage"  >添 加</el-button>
            </div>
         </div>
         <div class="pageConfig-table">
                 <el-table :data="pageList.slice((currentPage - 1) * pageSize, currentPage * pageSize)" border style="width: 100%">
-                    <el-table-column prop="pageName" label="页面名称" width="130" >
-                    </el-table-column>
-                    <el-table-column prop="systemMenuCode" label="页面Code" width="130">
-                    </el-table-column>
-                    <el-table-column prop="webUrl" label="WebUrl" width="130" >
+                    <el-table-column prop="functionName" label="功能名称" >
                     </el-table-column>
-                    <el-table-column prop="androidUrl" label="AndroidUrl" width="130">
+                    <el-table-column prop="functionCode" label="功能权限Code" >
                     </el-table-column>
-                    <el-table-column prop="iosUrl" label="IosUrl" width="130">
-                    </el-table-column>
-                    <el-table-column label="手机端图标" prop="icon" width="130" >
-                    </el-table-column>
-                    <el-table-column prop="pageIsEnable" label="web端启用"  width="130">
+                    <el-table-column prop="isEnable" label="是否启用" >
                         <template slot-scope="scope">
-                            <el-checkbox  :true-label="1"  disabled :false-label="0"  v-model="scope.row.pageIsEnable" ></el-checkbox>
-                        </template>
-                    </el-table-column>
-                    <el-table-column prop="pagePhoneIsEnable" label="手机端启用" width="130">
-                        <template slot-scope="scope">
-                            <el-checkbox  :true-label="1" disabled :false-label="0"  v-model="scope.row.pagePhoneIsEnable" ></el-checkbox>
+                            <el-checkbox  :true-label="1" disabled :false-label="0"  v-model="scope.row.isEnable" ></el-checkbox>
                         </template>
                     </el-table-column>
                     <el-table-column label="操作" >
                         <template slot-scope="scope">
                             <el-button type="primary" size="small" icon="el-icon-s-tools" @click="Edit(scope.row)" >编 辑</el-button>
-                            <el-button type="primary" size="small" icon="el-icon-s-tools" @click="PageBindFun(scope.row)" >功 能</el-button>
                             <el-button type="danger" size="small" icon="el-icon-delete-solid"  @click="Del(scope.row)" >删 除</el-button>
                         </template>
                     </el-table-column>
@@ -60,82 +48,30 @@
                 </div>
         </div>
 
-        <el-dialog
-        title="提示"
-        width="30%"
-        :visible.sync="dialogVisible"
-        :modal-append-to-body='false'
-        :append-to-body="false"
-        >
-            <span>这是一段信息</span>
-            <span slot="footer" class="dialog-footer">
-            </span>
-        </el-dialog>
-
-        <Modal :title="dialogTitle" :height="350" :width="700" :show.sync="showModal" restrict-to=".is-vertical" @close="showModal = false" >
+        <Modal :title="dialogTitle" :height="300" :width="400" :show.sync="showModal" restrict-to=".is-vertical" @close="showModal = false" >
             <template v-slot:content>
                 <div style="    padding: 10px;">
-                    <el-form label-position="left" label-width="80px" :model="pageBind" :rules="rules" ref="pageBind">
+                    <el-form label-position="left" label-width="100px" :model="pageBind" :rules="rules" ref="pageBind">
                         <el-row :gutter="20">
-                            <el-col :span="8">
-                                <el-form-item label="页面模块"  prop="modulid">  <!--style="width: 48%;" -->
-                                    <el-select v-model="pageBind.modulid" placeholder="请选择">
-                                        <el-option 
-                                        v-for="item in Modulfiltr"
-                                        :key="item.id"
-                                        :label="item.name"
-                                        :value="item.id">
-                                        </el-option>
-                                    </el-select>
-                                </el-form-item>
-                            </el-col>
-                            <el-col :span="8">
-                                <el-form-item label="页面名称"  prop="pageName">  <!--style="width: 48%;" -->
-                                    <el-input v-model="pageBind.pageName"></el-input>
-                                </el-form-item>
-                            </el-col>
-                            <el-col :span="8">
-                                <el-form-item label="页面代码"  prop="systemMenuCode" > 
-                                    <el-input v-model="pageBind.systemMenuCode"></el-input>
-                                </el-form-item>
-                            </el-col>
-                        </el-row>
-                        <el-row :gutter="20">
-                            <el-col :span="8">
-                                <el-form-item label="webUrl" prop="webUrl" >
-                                    <el-input v-model="pageBind.webUrl"></el-input>
-                                </el-form-item>
-                            </el-col>
-                            <el-col :span="8">
-                                <el-form-item label="AndroidUrl">
-                                    <el-input v-model="pageBind.androidUrl"></el-input>
-                                </el-form-item>
-                            </el-col>
-                            <el-col :span="8">
-                                <el-form-item label="IosUrl">
-                                    <el-input v-model="pageBind.iosUrl"></el-input>
+                            <el-col :span="24">
+                                <el-form-item label="功能名称" prop="functionName" >
+                                    <el-input v-model="pageBind.functionName"></el-input>
                                 </el-form-item>
                             </el-col>
                         </el-row>
                         <el-row :gutter="20">
-                            <el-col :span="8">
-                                <el-form-item label="图标">
-                                    <el-input v-model="pageBind.icon"></el-input>
+                            <el-col :span="24">
+                                <el-form-item label="功能Code" prop="functionCode" >
+                                    <el-input v-model="pageBind.functionCode"></el-input>
                                 </el-form-item>
                             </el-col>
-                            <el-col :span="16">
-                                <el-form-item label="页面备注">
-                                    <el-input v-model="pageBind.pageRemark"></el-input>
-                                </el-form-item>
-                            </el-col>
-                            
                         </el-row>
+                        <br/>
                         <el-row :gutter="20">
-                            <el-col :span="16">
-                                <el-checkbox label="Web" :true-label="1"  :false-label="0" v-model="pageBind.pageIsEnable"></el-checkbox>
-                                <el-checkbox label="Android是否启用" :true-label="1"  :false-label="0" v-model="pageBind.pagePhoneIsEnable" ></el-checkbox>
+                            <el-col :span="24">
+                                <el-checkbox label="是否启用" :true-label="1"  :false-label="0" v-model="pageBind.isEnable"></el-checkbox>
                             </el-col>
-                        </el-row>
+                        </el-row>                     
                     </el-form>
                 </div>
             </template>
@@ -164,48 +100,30 @@ export default {
         SearchInput:'', //查询的值
         currentPage : 1 , //页码
         pageSize: 5,// 每页的数据条数
-        ModulValue:'', //模块val 
-        ModulList:[],//模块数据
         PathUrl:'http://localhost:5256',
-        dialogVisible: false,
         showModal: false, //测试弹层
         dialogTitle:'测试标题',
         pageBind:{
-            androidUrl:'',
-            iosUrl:'',
-            pageIsEnable:0,
-            pageName:'',
-            pagePhoneIsEnable:0,
-            pageid:-1,
-            systemMenuCode:'',
-            webUrl:'',
-            modulName:'',
-            modulid:'',
-            icon:'',
-            modulRemark:'',
-            sTid:5,
-            pageRemark:'',
+            id:-1,
+            functionCode:'',
+            functionName:'',
+            isEnable:0,
         },//数据绑定对象
         rules: {
-            pageName: [
-                { required: true, message: '请输入页面名称', trigger: 'blur' },
+            functionName: [
+                { required: true, message: '请输入操作名称', trigger: 'blur' },
             ],
-            modulid:[
-            { required: true, message: '请选中模块', trigger: 'blur' },
+            functionCode:[
+            { required: true, message: '请输入操作code', trigger: 'blur' },
             ],
-            systemMenuCode:[
-            { required: true, message: '请输入页面代码', trigger: 'blur' },
-            ]
-            ,webUrl:[
-            { required: true, message: '请输入WebUrl', trigger: 'blur' },
-            ]
-        }
+        },
+        isload:true,
       };
     },
     methods: {
         pageload(){
             var that =  this;
-            this.$axios.post(this.PathUrl + '/api/System/PageConfigInit', {
+            this.$axios.post(this.PathUrl + '/api/System/PageFunInit', {
                 
             }, {
                 headers: {
@@ -214,29 +132,18 @@ export default {
             }).then(resp => {
                 console.log(resp.data.data);
                 if (resp.data.code == 200) {
-                    that.bufferData = resp.data.data;
-                    that.ModulList = resp.data.data.modList.data;
-                    that.ModulList.unshift({
-                        'id':-1,
-                        'name':"全部模块",
-                        'sTid':-1
-                    });
-                    that.pageList = resp.data.data.viewList.data;
+                   that.pageList = resp.data.data;
                 }
-            })
-        },
-        Inquirechange() {
 
-            var that = this;
-            if(this.ModulValue == -1){
-                this.pageList = this.bufferData.viewList.data;
-            }else{
-                this.pageList = this.bufferData.viewList.data.filter(function(item, i, arr) {
-                    return item.modulid == that.ModulValue;
-                });
-            }
+                if(that.pageList.slice((that.currentPage - 1) * that.pageSize, that.currentPage * that.pageSize).length == 0){
+                    if(that.currentPage > 1){
+                        that.currentPage = that.currentPage - 1;
+                    }
+                }
+                
+                that.isload = false;
+            })
 
-            this.currentPage = 1;
         },
         //每页条数改变时触发 选择一页显示多少行
         handleSizeChange(val) {
@@ -247,31 +154,14 @@ export default {
         handleCurrentChange(val) {
             this.currentPage = val;
         },
-        //搜索按钮
-        btnSearch(){
-            var that = this;
-            this.pageList = this.bufferData.viewList.data.filter(function(item, i, arr) {
-                return item.pageName.indexOf(that.SearchInput) != -1;
-            });
-        },
         addPage(){
             this.showModal = true;
             this.dialogTitle='添加页面';
             this.pageBind = {
-                androidUrl:'',
-                iosUrl:'',
-                pageIsEnable:0,
-                pageName:'',
-                pagePhoneIsEnable:0,
-                pageid:-1,
-                systemMenuCode:'',
-                webUrl:'',
-                modulName:'',
-                modulid:'',
-                icon:'',
-                modulRemark:'',
-                sTid:5,
-                pageRemark:'',
+                id:-1,
+                functionCode:'',
+                functionName:'',
+                isEnable:0,
             };
         },
         Edit(page){
@@ -280,39 +170,34 @@ export default {
             this.dialogTitle='编辑页面';
             console.log(page);  
             this.pageBind = {
-                androidUrl:page.androidUrl,
-                iosUrl:page.iosUrl,
-                pageIsEnable:page.pageIsEnable,
-                pageName:page.pageName,
-                pagePhoneIsEnable:page.pagePhoneIsEnable,
-                pageid:page.pageid,
-                systemMenuCode:page.systemMenuCode,
-                webUrl:page.webUrl,
-                modulName:page.modulName,
-                modulid:page.modulid,
-                icon:page.icon,
-                modulRemark:page.modulRemark,
-                sTid:page.sTid,
-                pageRemark:page.pageRemark,
+                id:page.id,
+                functionCode:page.functionCode,
+                functionName:page.functionName,
+                isEnable:page.isEnable,
             };
         },
         PageSave(){
             var that =  this;
-            if(this.pageBind.pageid == -1){
+            //添加
+            if(this.pageBind.id == -1){
 
                 var p = new Promise((resolve,reject)=>{
                     this.$refs.pageBind.validate((valid) => {
                         if(valid){
                             resolve(true);
-                        }else{
+                        }else{  
                             reject(false);
                         }
                     });
                 })
 
                 p.then(resolve=>{
+
+                    this.pageBind.Status = 1;
+                    this.pageBind.CreateUserId = 235;
+                    this.pageBind.Remark = '';
                     //新增
-                    this.$axios.post(this.PathUrl + '/api/System/AddPageInfo', this.pageBind, {
+                    this.$axios.post(this.PathUrl + '/api/System/OperationFun', this.pageBind, {
                         headers: {
                             'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IkZ1dHVyZSIsImV4cCI6MTY3OTU0MjgwNSwiaXNzIjoiT0FTeXN0ZW0uY29tIiwiYXVkIjoiT0FTeXN0ZW0uY29tIn0.iy5SUInq1p3yjZultRPyzCa2ekLeepSdMLxvPwXY6MI',
                         }
@@ -328,6 +213,7 @@ export default {
                             this.$message.error(resp.data.msg);
                         }
                         that.pageload();
+                       
                     })
                 }).catch(err=>{
                     console.log("表单验证未通过");
@@ -346,8 +232,13 @@ export default {
                 })
 
                 p.then(resolve=>{
-                    //新增
-                    this.$axios.post(this.PathUrl + '/api/System/EditPageInfo', this.pageBind, {
+
+                    this.pageBind.Status = 2;
+                    this.pageBind.CreateUserId = 235;
+                    this.pageBind.Remark = '';
+
+                    //编辑
+                    this.$axios.post(this.PathUrl + '/api/System/OperationFun', this.pageBind, {
                         headers: {
                             'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IkZ1dHVyZSIsImV4cCI6MTY3OTU0MjgwNSwiaXNzIjoiT0FTeXN0ZW0uY29tIiwiYXVkIjoiT0FTeXN0ZW0uY29tIn0.iy5SUInq1p3yjZultRPyzCa2ekLeepSdMLxvPwXY6MI',
                         }
@@ -363,6 +254,7 @@ export default {
                             this.$message.error(resp.data.msg);
                         }
                         that.pageload();
+                        
                     })
                 }).catch(err=>{
                     console.log("表单验证未通过");
@@ -372,13 +264,11 @@ export default {
         },
         Del(page){
             let that = this;
-            var dellist = [];
-            dellist.push({
-                'Pageid':page.pageid,
-                'Userid':235,
-            })
             
-            this.$axios.post(this.PathUrl + '/api/System/DelPageInfo',dellist, {
+            this.$axios.post(this.PathUrl + '/api/System/DelFun',{
+                'Id':page.id,
+                'DeleteUserId':235,
+            }, {
                 headers: {
                     'Authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IkZ1dHVyZSIsImV4cCI6MTY3OTU0MjgwNSwiaXNzIjoiT0FTeXN0ZW0uY29tIiwiYXVkIjoiT0FTeXN0ZW0uY29tIn0.iy5SUInq1p3yjZultRPyzCa2ekLeepSdMLxvPwXY6MI',
                 }
@@ -391,18 +281,13 @@ export default {
                 } else {
                     this.$message.error('删除失败!' + resp.data.msg);
                 }
+                
                 that.pageload();
 
             }).catch(err=>{
                 this.$message.error('网络错误!');
             })
         },
-        PageBindFun(page){
-            
-
-        }
-
-
     },
     mounted(){
         this.pageload();

+ 2 - 2
src/components/child/index.vue

@@ -27,9 +27,9 @@
                     </el-table-column>
                     <el-table-column prop="ext" label="分机号" width="100">
                     </el-table-column>
-                    <el-table-column prop="phone" label="手机号" width="200">
+                    <el-table-column prop="phone" label="手机号" width="120">
                     </el-table-column>
-                    <el-table-column prop="urgentPhone" label="紧急联络电话" width="200">
+                    <el-table-column prop="urgentPhone" label="紧急联络电话" width="120">
                     </el-table-column>
                     <el-table-column prop="email" label="电子邮箱">
                     </el-table-column>

+ 0 - 61
src/components/child/test.vue

@@ -1,61 +0,0 @@
-<template>
-    <div>
-        <el-radio-group v-model="isCollapse" style="margin-bottom: 20px;">
-            <el-radio-button :label="false">展开</el-radio-button>
-            <el-radio-button :label="true">收起</el-radio-button>
-          </el-radio-group>
-          <el-menu default-active="1-4-1" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose" :collapse="isCollapse">
-            <el-submenu index="1">
-              <template slot="title">
-                <i class="el-icon-location"></i>
-                <span slot="title">导航一</span>
-              </template>
-              <el-menu-item-group>
-                <span slot="title">分组一</span>
-                <el-menu-item index="1-1">选项1</el-menu-item>
-                <el-menu-item index="1-2">选项2</el-menu-item>
-              </el-menu-item-group>
-              <el-menu-item-group title="分组2">
-                <el-menu-item index="1-3">选项3</el-menu-item>
-              </el-menu-item-group>
-              <el-submenu index="1-4">
-                <span slot="title">选项4</span>
-                <el-menu-item index="1-4-1">选项1</el-menu-item>
-              </el-submenu>
-            </el-submenu>
-            <el-menu-item index="2">
-              <i class="el-icon-menu"></i>
-              <span slot="title">导航二</span>
-            </el-menu-item>
-            <el-menu-item index="3" disabled>
-              <i class="el-icon-document"></i>
-              <span slot="title">导航三</span>
-            </el-menu-item>
-            <el-menu-item index="4">
-              <i class="el-icon-setting"></i>
-              <span slot="title">导航四</span>
-            </el-menu-item>
-          </el-menu>
-    </div>
-</template>
-
-<script>
-export default {
-    data() {
-      return {
-        isCollapse: true
-      };
-    },
-    methods: {
-      handleOpen(key, keyPath) {
-        console.log(key, keyPath);
-      },
-      handleClose(key, keyPath) {
-        console.log(key, keyPath);
-      }
-    }
-}
-</script>
-<style>
-    
-</style>

+ 4 - 1
src/components/home.vue

@@ -414,7 +414,7 @@
     .quit {
       cursor: pointer;
     }
-    .el-radio-button:first-child .el-radio-button__inner {
+    .btnradio .el-radio-button:first-child .el-radio-button__inner {
       border: none;
     }
     .el-radio-button:last-child .el-radio-button__inner {
@@ -583,4 +583,7 @@
       -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
       background-color: #b9bcc0;
     }
+    .delwh .el-menu{
+      background-color: #0f619f;
+    }
   </style>

+ 2 - 1
src/main.js

@@ -9,7 +9,8 @@ import './assets/icon/iconfont.css'
 import store from './store/index.js';
 
 import axios from 'axios';
-axios.defaults.baseURL = 'http://localhost:5256/'
+axios.defaults.baseURL = 'http://132.232.92.186:8888';
+
 import { Message } from "element-ui";
 Vue.prototype.$message = Message
 Vue.prototype.$axios = axios;

+ 8 - 6
src/router/index.js

@@ -5,7 +5,6 @@ import Login from '@/components/Login'
 import home from '@/components/home'
 import Enroll from '@/components/Enroll'
 import index from '@/components/child/index'
-import test from '@/components/child/test'
 import Aideindex from '@/components/child/Aideindex'
 import Marketindex from '@/components/child/Marketindex'
 import financeindex from '@/components/child/financeindex'
@@ -33,10 +32,12 @@ import ThreeCode from '@/components/Resource/ThreeCode'
 import ThreeCodeOperation from '@/components/Resource/ThreeCodeOperation'
 import HotelData from '@/components/Resource/HotelData'
 import visaform from '@/components/OP/visaform'
+import PageFun from '@/components/child/PageFunction'
 import HotelDataOperation from '@/components/Resource/HotelDataOperation'
 import visaEdit from '@/components/OP/visaEdit'
 import CountryFeeCost from '@/components/Resource/CountryFeeCost'
 import CountryFeeCostOperation from '@/components/Resource/CountryFeeCostOperation'
+
 Vue.use(Router)
 
 export default new Router({
@@ -61,11 +62,6 @@ export default new Router({
           name: 'Generalindex',
           component: Generalindex
         },
-        {
-          path: '/home/test',
-          name: 'test',
-          component: test
-        },
         {
           path: '/home/Aideindex',
           name: 'Aideindex',
@@ -188,6 +184,12 @@ export default new Router({
           name: 'visaform',
           component: visaform
         },
+        {
+
+          path: '/home/PageFun',
+          name: 'PageFun',
+          component: PageFun
+        },
         {
           path: '/home/HotelDataOperation',
           name: 'HotelDataOperation',

+ 3 - 0
vue.config.js

@@ -0,0 +1,3 @@
+module.exports = {
+    publicPath:'./'
+}