Ver código fonte

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

wangh 1 ano atrás
pai
commit
c348cb5aff

+ 6 - 0
package-lock.json

@@ -17,6 +17,7 @@
         "@fullcalendar/vue": "^6.1.4",
         "axios": "^1.3.4",
         "element-ui": "^2.15.13",
+        "pinyin-pro": "^3.17.0",
         "tippy.js": "^6.3.7",
         "vue": "^2.5.2",
         "vue-quill-editor": "^3.0.6",
@@ -8929,6 +8930,11 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/pinyin-pro": {
+      "version": "3.17.0",
+      "resolved": "https://registry.npmjs.org/pinyin-pro/-/pinyin-pro-3.17.0.tgz",
+      "integrity": "sha512-0R+K1kDl2Fb21nqKjb9hxKHya/fWuOJCSElWqdh17THSL/cgq95PP/QrJINFezFooepCiP+pbUenV2pRloAHHQ=="
+    },
     "node_modules/pkg-dir": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",

+ 1 - 0
package.json

@@ -19,6 +19,7 @@
     "@fullcalendar/vue": "^6.1.4",
     "axios": "^1.3.4",
     "element-ui": "^2.15.13",
+    "pinyin-pro": "^3.17.0",
     "tippy.js": "^6.3.7",
     "vue": "^2.5.2",
     "vue-quill-editor": "^3.0.6",

+ 269 - 56
src/components/Enroll.vue

@@ -11,15 +11,17 @@
       >
         <div class="form-li">
           <el-form-item label="中文名称" prop="mandarinName">
-            <el-input v-model="ruleForm.mandarinName"></el-input>
+            <el-input @blur="emailpj" v-model="ruleForm.mandarinName"></el-input>
           </el-form-item>
           <el-form-item label="英文名称" prop="eflName">
-            <el-input v-model="ruleForm.eflName"></el-input>
+            <el-input @blur="emailpj" v-model="ruleForm.eflName"></el-input>
           </el-form-item>
         </div>
         <div class="form-li">
           <el-form-item label="邮箱" prop="email">
-            <el-input v-model="ruleForm.email"></el-input>
+            <el-input v-model="ruleForm.email">
+              <template slot="append">@pan-american-intl.com</template>
+            </el-input>
           </el-form-item>
           <el-form-item label="性别" prop="sex">
             <el-radio-group v-model="ruleForm.sex">
@@ -38,23 +40,31 @@
         </div>
         <div class="form-li">
           <el-form-item label="密码" prop="pass">
-            <el-input v-model="ruleForm.pass"></el-input>
+            <el-input v-model="ruleForm.pass" show-password></el-input>
           </el-form-item>
           <el-form-item label="确认密码" prop="checkPass">
-            <el-input v-model="ruleForm.checkPass"></el-input>
+            <el-input v-model="ruleForm.checkPass" show-password></el-input>
           </el-form-item>
         </div>
         <div class="form-li">
           <el-form-item label="身份证号" prop="IDnumber">
             <el-input v-model="ruleForm.IDnumber"></el-input>
           </el-form-item>
-          <el-form-item label="出生日期" prop="datebirth">
-            <el-input v-model="ruleForm.datebirth"></el-input>
+          <el-form-item label="入职时间" prop="datebirth">
+            <el-date-picker type="date" placeholder="选择日期" v-model="ruleForm.datebirth" style="width: 100%;"></el-date-picker>
+            <!-- <el-input v-model="ruleForm.datebirth"></el-input> -->
           </el-form-item>
         </div>
         <div class="form-li">
           <el-form-item label="学历" prop="educated">
-            <el-input v-model="ruleForm.educated"></el-input>
+            <el-select v-model="ruleForm.educated" placeholder="请选择学历">
+              <el-option label="小学" value="1"></el-option>
+              <el-option label="初中" value="2"></el-option>
+              <el-option label="高中" value="3"></el-option>
+              <el-option label="专科" value="4"></el-option>
+              <el-option label="本科" value="5"></el-option>
+              <el-option label="研究生" value="6"></el-option>
+            </el-select>
           </el-form-item>
           <el-form-item label="专业" prop="specialized">
             <el-input v-model="ruleForm.specialized"></el-input>
@@ -62,30 +72,51 @@
           <el-form-item label="毕业院校" prop="school">
             <el-input v-model="ruleForm.school"></el-input>
           </el-form-item>
-          <el-form-item label="统招/成教" prop="recruitment">
-            <el-input v-model="ruleForm.recruitment"></el-input>
+          <el-form-item label="教育类型" prop="recruitment">
+            <el-select v-model="ruleForm.recruitment" placeholder="请选择教育类型">
+              <el-option label="统招" value="0"></el-option>
+              <el-option label="成教" value="1"></el-option>
+            </el-select>
           </el-form-item>
           <el-form-item label="婚姻状况" prop="maritalstatus">
             <el-input v-model="ruleForm.maritalstatus"></el-input>
           </el-form-item>
-          <el-form-item label="家庭地址" prop="address">
+          <el-form-item label="居住住址" prop="address">
             <el-input v-model="ruleForm.address"></el-input>
           </el-form-item>
         </div>
         <div class="form-li">
+          <el-form-item label="家庭地址" prop="homeAddress">
+            <el-input v-model="ruleForm.homeAddress"></el-input>
+          </el-form-item>
           <el-form-item label="所属公司" prop="corporation">
-            <el-select
-              v-model="ruleForm.corporation"
-              placeholder="请选择所属公司"
-            >
-              <el-option label="A" value="A"></el-option>
-              <el-option label="B" value="B"></el-option>
+            <el-select v-model="ruleForm.corporation" value-key="id" @change="changeCorporation" placeholder="请选择所属公司">
+              <el-option
+              v-for="item in CorporationOption"
+              :key="item.companyId"
+              :label="item.companyName"
+              :value="item.companyId">
+              </el-option>
             </el-select>
           </el-form-item>
           <el-form-item label="所属部门" prop="division">
-            <el-select v-model="ruleForm.division" placeholder="请选择所属部门">
-              <el-option label="A" value="A"></el-option>
-              <el-option label="B" value="B"></el-option>
+            <el-select v-model="ruleForm.division" value-key="id" @change="changeDivision" placeholder="请选择所属部门">
+              <el-option
+              v-for="item in DivisionOption"
+              :key="item.depId"
+              :label="item.depName"
+              :value="item.depId">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="职位" prop="posts">
+            <el-select v-model="ruleForm.posts" placeholder="请选择职位">
+              <el-option
+              v-for="item in PostsOption"
+              :key="item.jobId"
+              :label="item.jobName"
+              :value="item.jobId">
+              </el-option>
             </el-select>
           </el-form-item>
         </div>
@@ -93,10 +124,9 @@
           <el-input type="textarea" v-model="ruleForm.desc"></el-input>
         </el-form-item>
         <div class="enroll-btn">
-          <el-button type="primary" @click="submitForm('ruleForm')"
-            >立即注册</el-button
-          >
+          <el-button type="primary" @click="submitForm('ruleForm')">立即注册</el-button>
           <el-button @click="resetForm('ruleForm')">重置</el-button>
+          <el-button @click="houtui()">返回</el-button>
         </div>
       </el-form>
     </div>
@@ -104,6 +134,7 @@
 </template>
 
 <script>
+import { pinyin } from 'pinyin-pro';
 export default {
   data() {
     var validatePass = (rule, value, callback) => {
@@ -125,27 +156,43 @@ export default {
         callback();
       }
     };
+    var phonePass = (rule, value, callback) => {
+      console.log(value)
+      console.log(this.ruleForm.phone)
+      if (value === "") {
+        callback(new Error("请输入紧急电话"));
+      }else if (value === this.ruleForm.phone) {
+        callback(new Error("紧急电话与联系电话不能一致!"));
+      }else {
+        callback();
+      }
+    };
     return {
+      CorporationOption:[],//公司
+      DivisionOption:[],//部门
+      PostsOption:[],//职位
       ruleForm: {
-        mandarinName: "",
-        eflName: "",
-        sex: "",
-        email: "",
-        phone: "",
-        urgentphone: "",
-        pass: "",
-        checkPass: "",
-        IDnumber: "",
-        educated: "",
-        specialized: "",
-        school: "",
-        recruitment: "",
-        datebirth: "",
-        maritalstatus: "",
-        address: "",
-        corporation: "",
-        division: "",
-        desc: "",
+        mandarinName: "",//中文名称
+        eflName: "",//英文名称
+        sex: "",//性别
+        email: "",//邮箱
+        phone: "",//手机号
+        urgentphone: "",//紧急电话
+        pass: "",//密码
+        checkPass: "",//确认密码
+        IDnumber: "",//身份证号
+        educated: "",//学历
+        specialized: "",//专业
+        school: "",//毕业院校
+        recruitment: "",//统招/成教
+        datebirth: "",//入职时间
+        homeAddress:"",//家庭地址
+        maritalstatus: "",//婚姻状况
+        address: "",//现在居住住址
+        corporation: "",//所属公司
+        division: "",//所属部门
+        posts:"",//职位
+        desc: "",//工作经历
       },
       rules: {
         mandarinName: [
@@ -154,16 +201,16 @@ export default {
         ],
         eflName: [
           { required: true, message: "英文名称", trigger: "blur" },
-          { min: 0, max: 10, message: "长度在 3 到 5 个字符", trigger: "blur" },
+          { min: 0, max: 10, message: "长度在 0 到 10 个字符", trigger: "blur" },
         ],
         sex: [{ required: true, message: "请选择性别", trigger: "change" }],
         email: [
           { required: true, message: "请输入邮箱地址", trigger: "blur" },
-          {
-            type: "email",
-            message: "请输入正确的邮箱地址",
-            trigger: ["blur", "change"],
-          },
+          // {
+          //   type: "email",
+          //   message: "请输入正确的邮箱地址",
+          //   trigger: ["blur", "change"],
+          // },
         ],
         phone: [
           { required: true, message: "手机号必填", trigger: "blur" },
@@ -174,7 +221,7 @@ export default {
           },
         ],
         urgentphone: [
-          { required: true, message: "紧急号码必填", trigger: "blur" },
+          { required: true,validator: phonePass, trigger: "blur" },
           {
             pattern: /^1[3456789]\d{9}$/,
             message: "紧急号码格式不正确",
@@ -211,11 +258,11 @@ export default {
         datebirth: [
           {
             required: true,
-            message: "请填写证件号码匹配出生日期",
-            trigger: "blur",
+            message: "请选择入职日期",
+            trigger: "change",
           },
         ],
-        educated: [{ required: true, message: "请填写学历", trigger: "blur" }],
+        educated: [{ required: true, message: "请选择学历", trigger: "change" }],
         specialized: [
           { required: true, message: "请填写专业", trigger: "blur" },
         ],
@@ -229,13 +276,19 @@ export default {
           { required: true, message: "请填写婚姻状况", trigger: "blur" },
         ],
         address: [
+          { required: true, message: "请填写现在居住住址", trigger: "blur" },
+        ],
+        homeAddress: [
           { required: true, message: "请填写家庭地址", trigger: "blur" },
         ],
         corporation: [
           { required: true, message: "请选择所属公司", trigger: "change" },
         ],
         division: [
-          { required: true, message: "请选择所属部门", trigger: "change" },
+          { required: true, message: "请选择所属部门", trigger: "blur" },
+        ],
+        posts: [
+          { required: true, message: "请选择职位", trigger: "blur" },
         ],
         desc: [{ required: true, message: "请填写工作经历", trigger: "blur" }],
       },
@@ -245,7 +298,7 @@ export default {
     submitForm(formName) {
       this.$refs[formName].validate((valid) => {
         if (valid) {
-          alert("submit!");
+          this.register()
         } else {
           console.log("error submit!!");
           return false;
@@ -255,8 +308,165 @@ export default {
     resetForm(formName) {
       this.$refs[formName].resetFields();
     },
+    //邮箱拼接
+    emailpj(){
+      let emailall;
+      let surname=pinyin(this.ruleForm.mandarinName[0], {toneType: 'none'})
+      this.ruleForm.email=this.ruleForm.eflName+'.'+surname
+      emailall=this.ruleForm.eflName+'.'+surname+'@pan-american-intl.com'
+      console.log(emailall)
+    },
+    //获取公司
+    daraSource(){
+      var url = "/api/register/daraSource"
+      var that = this
+      this.$axios({
+          method: 'post',
+          url: url,
+          headers: {
+              Authorization: 'Bearer ' + this.token
+          }
+      }).then(function (res) {
+          if(res.data.code==200){
+              console.log(res)
+              that.CorporationOption=res.data.data;
+          }else{
+              that.$message({
+                  message: '加载失败!原因:'+res.data.msg,
+                  type: 'warning'
+              });
+          }
+      })
+    },
+    //处理性别
+    sxechuli(val){
+      if(val=='男'){
+        return 0
+      }else if(val=='女'){
+        return 1
+      }
+    },
+    //日期处理(日)
+    TimeProcessingri(val){
+      if(val instanceof Date){
+          let newsyear=val.getFullYear();
+          let newsMonth=val.getMonth() + 1;
+          let newsday=val.getDate();
+          if((val.getMonth() + 1)<10){
+              newsMonth='0'+newsMonth
+          }else{
+              newsMonth=val.getMonth() + 1
+          }
+          return newsyear+ '-' +newsMonth+ '-' + newsday;
+      }else{
+          return val
+      }
+    },
+    //切换公司
+    changeCorporation(item){
+      console.log(item);
+      this.ruleForm.division='';
+      this.ruleForm.posts='';
+      for(let i=0;i<this.CorporationOption.length;i++){
+        if(this.CorporationOption[i].companyId==item){
+          this.DivisionOption=this.CorporationOption[i].subDep
+        }
+      }
+      // console.log(this.DivisionOption)
+    },
+    //切换部门
+    changeDivision(item){
+      this.ruleForm.posts='';
+      for(let j=0;j<this.DivisionOption.length;j++){
+        if(this.DivisionOption[j].depId==item){
+          this.PostsOption=this.DivisionOption[j].subJob
+        }
+      }
+      // console.log(this.PostsOption)
+    },
+    //注册
+    register(){
+      var url = "/api/register"
+      var that = this
+
+      let data={
+        createUserId:0,
+        cnName:that.ruleForm.mandarinName,
+        enName:that.ruleForm.eflName,
+        email:that.ruleForm.email,
+        sex:that.sxechuli(that.ruleForm.sex),
+        phone:that.ruleForm.phone,
+        urgencyPhone:that.ruleForm.urgentphone,
+        password:that.ruleForm.pass,
+        address:that.ruleForm.address,
+        idCrad:that.ruleForm.IDnumber,
+        education:that.ruleForm.educated,
+        major:that.ruleForm.specialized,
+        graduationSchhol:that.ruleForm.school,
+        educationType:that.ruleForm.recruitment,
+        maritalStatus:that.ruleForm.maritalstatus,
+        homeAddress:that.ruleForm.homeAddress,
+        companyId:that.ruleForm.corporation,
+        depId:that.ruleForm.division,
+        jobPostId:that.ruleForm.posts,
+        workExperience:that.ruleForm.desc,
+        edate:that.TimeProcessingri(that.ruleForm.datebirth),
+      }
+      console.log(data)
+      this.$axios({
+          method: 'post',
+          url: url,
+          headers: {
+              Authorization: 'Bearer ' + this.token
+          },
+          data:{
+            createUserId:0,
+            cnName:that.ruleForm.mandarinName,
+            enName:that.ruleForm.eflName,
+            email:that.ruleForm.email+'@pan-american-intl.com',
+            sex:that.sxechuli(that.ruleForm.sex),
+            phone:that.ruleForm.phone,
+            urgencyPhone:that.ruleForm.urgentphone,
+            password:that.ruleForm.pass,
+            address:that.ruleForm.address,
+            idCrad:that.ruleForm.IDnumber,
+            education:that.ruleForm.educated,
+            major:that.ruleForm.specialized,
+            graduationSchhol:that.ruleForm.school,
+            educationType:that.ruleForm.recruitment,
+            maritalStatus:that.ruleForm.maritalstatus,
+            homeAddress:that.ruleForm.homeAddress,
+            companyId:that.ruleForm.corporation,
+            depId:that.ruleForm.division,
+            jobPostId:that.ruleForm.posts,
+            workExperience:that.ruleForm.desc,
+            edate:that.TimeProcessingri(that.ruleForm.datebirth),
+          }
+      }).then(function (res) {
+          if(res.data.code==200){
+              console.log(res)
+              that.$notify({
+                title: '注册成功',
+                message: res.data.msg,
+                type: 'success',
+                duration: 0
+              });
+          }else{
+              that.$message({
+                  message: '注册失败!原因:'+res.data.msg,
+                  type: 'warning'
+              });
+          }
+      })
+    },
+    //返回
+    houtui(){
+      this.$router.go(-1)
+    }
+  },
+  mounted(){
+    this.daraSource()
   },
-  mounted() {},
 };
 </script>
 <style>
@@ -266,7 +476,7 @@ body {
 }
 .enroll-all {
   background-color: #f1f1f1;
-  padding-top: 100px;
+  padding-top: 63px;
   height: 900px;
   /*background-image: url("../assets/back.png");*/
   /*background-repeat: no-repeat;*/
@@ -300,4 +510,7 @@ body {
 .enroll-btn {
   text-align: center;
 }
+.form-li .el-input-group__append, .el-input-group__prepend{
+  padding: 0 1px;
+}
 </style>

+ 22 - 0
src/components/Finance/Cost.vue

@@ -10,6 +10,18 @@
                             :key="item.value"
                             :label="item.label"
                             :value="item.value">
+                            <span style="color:red">{{item.label}}</span>
+                            </el-option>
+                          </el-select>
+                          &nbsp;
+                          分段类型:
+                           <el-select v-model="value" filterable placeholder="请选择">
+                            <el-option
+                            v-for="item in costType"
+                            :key="item.value"
+                            :label="item.label"
+                            :value="item.value">
+                            <span style="color:red">{{item.label}}</span>
                             </el-option>
                           </el-select>
                     </div>
@@ -926,6 +938,16 @@ export default {
                     },
                 ]
             }
+        ],
+        costType:[
+            {
+          value: '选项1',
+          label: '黄金糕'
+            },
+            {
+            value: '选项11',
+            label: '黄金糕1'
+            }
         ]
       };
     },

+ 2 - 1
src/components/Login.vue

@@ -9,7 +9,8 @@
             </div>
             <div class="help-box">
                 <div class="help-title">没有企业账户?</div>
-                <div class="help-btn">去注册</div>
+                <router-link class="help-btn" :to="{path:'/Enroll'}">去注册</router-link>
+                <!-- <div class="help-btn">去注册</div> -->
             </div>
         </div>
         <div class="login-dominant">

+ 161 - 53
src/components/OP/EntryDetails.vue

@@ -124,10 +124,13 @@
                         <div style="display: flex;">
                             <div class="li-lable">
                                 <label>合计:</label>
-                                <div class="sub-boxs">{{TotalExpenses.EconomyClasstotal=(TotalExpenses.EconomyClass+TotalExpenses.TravellingExpenses)|numFilter}}</div>
+                                <div class="sub-boxs">{{TotalAccommodationFee|numFilter}}</div>
                                 <span>元/人</span>
                             </div>
                         </div>
+                        <div class="btn-Entry">
+                            <el-button type="primary" @click="addlist" size="mini">新 增</el-button>
+                        </div>
                     </div>
                     <div class="Entry-li-inif">
                         <el-table
@@ -148,28 +151,25 @@
                             label="城 市"
                             width="180">
                                 <template slot-scope="scope">
-                                    <el-input size="mini" v-model="scope.row.city"></el-input>
-                                </template>
-                                <!-- <template slot-scope="scope">
-                                    <el-select size="mini" v-model="scope.row.place" filterable placeholder="请选择">
+                                    <el-select size="mini" @change="changeSelect(scope.row,$event)" v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
                                         <el-option
                                             v-for="item in placeinif"
                                             :key="item.id"
-                                            :label="item.city=='所有城市'?item.country:item.city"
-                                            :value="item.city=='所有城市'?item.country:item.city"
+                                            :label="item.cityname"
+                                            :value="item.id"
                                             >
-                                            <span style="float: left">{{item.city}}</span>
-                                            <span style="float: right; color: #8492a6; font-size: 13px">{{item.country}}</span>
+                                            <span style="float: left">{{item.cityname}}</span>
+                                            <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
                                         </el-option>
                                     </el-select>
-                                </template> -->
+                                </template>
                             </el-table-column>
                             <el-table-column
                             prop="cost"
                             label=" 费用标准"
                             width="180">
                                 <template slot-scope="scope">
-                                    <el-input-number size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
+                                    <el-input-number disabled size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -177,7 +177,7 @@
                             label=" 币 种"
                             width="180">
                                 <template slot-scope="scope">
-                                    <el-input size="mini" v-model="scope.row.currencyName"></el-input>
+                                    <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -185,7 +185,7 @@
                             label="费用小计"
                             width="180">
                                 <template slot-scope="scope">
-                                    <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div>
+                                    <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div>&nbsp;CNY
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -201,10 +201,13 @@
                         <div style="display: flex;">
                             <div class="li-lable">
                                 <label>合计:</label>
-                                <div class="sub-boxs">{{TotalExpenses.EconomyClasstotal=(TotalExpenses.EconomyClass+TotalExpenses.TravellingExpenses)|numFilter}}</div>
+                                <div class="sub-boxs">{{TotalMeals|numFilter}}</div>
                                 <span>元/人</span>
                             </div>
                         </div>
+                        <div class="btn-Entry">
+                            <el-button type="primary" size="mini">新 增</el-button>
+                        </div>
                     </div>
                     <div class="Entry-li-inif">
                         <el-table
@@ -224,29 +227,29 @@
                             prop="city"
                             label="城 市"
                             width="180">
-                                <template slot-scope="scope">
-                                    <el-input size="mini" v-model="scope.row.city"></el-input>
-                                </template>
                                 <!-- <template slot-scope="scope">
-                                    <el-select size="mini" v-model="scope.row.place" filterable placeholder="请选择">
+                                    <el-input size="mini" v-model="scope.row.city"></el-input>
+                                </template> -->
+                                <template slot-scope="scope">
+                                    <el-select size="mini" @change="mealschangeSelect(scope.row,$event)" v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
                                         <el-option
                                             v-for="item in placeinif"
                                             :key="item.id"
-                                            :label="item.city=='所有城市'?item.country:item.city"
-                                            :value="item.city=='所有城市'?item.country:item.city"
+                                            :label="item.cityname"
+                                            :value="item.id"
                                             >
-                                            <span style="float: left">{{item.city}}</span>
-                                            <span style="float: right; color: #8492a6; font-size: 13px">{{item.country}}</span>
+                                            <span style="float: left">{{item.cityname}}</span>
+                                            <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
                                         </el-option>
                                     </el-select>
-                                </template> -->
+                                </template>
                             </el-table-column>
                             <el-table-column
                             prop="cost"
                             label=" 费用标准"
                             width="180">
                                 <template slot-scope="scope">
-                                    <el-input-number size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
+                                    <el-input-number disabled size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -254,7 +257,7 @@
                             label=" 币 种"
                             width="180">
                                 <template slot-scope="scope">
-                                    <el-input size="mini" v-model="scope.row.currencyName"></el-input>
+                                    <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -262,7 +265,7 @@
                             label="费用小计"
                             width="180">
                                 <template slot-scope="scope">
-                                    <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div>
+                                    <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div>&nbsp;CNY
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -278,10 +281,13 @@
                         <div style="display: flex;">
                             <div class="li-lable">
                                 <label>合计:</label>
-                                <div class="sub-boxs">{{TotalExpenses.EconomyClasstotal=(TotalExpenses.EconomyClass+TotalExpenses.TravellingExpenses)|numFilter}}</div>
+                                <div class="sub-boxs">{{TotalMiscellaneous|numFilter}}</div>
                                 <span>元/人</span>
                             </div>
                         </div>
+                        <div class="btn-Entry">
+                            <el-button type="primary" size="mini">新 增</el-button>
+                        </div>
                     </div>
                     <div class="Entry-li-inif">
                         <el-table
@@ -301,29 +307,29 @@
                             prop="city"
                             label="城 市"
                             width="180">
-                                <template slot-scope="scope">
-                                    <el-input size="mini" v-model="scope.row.city"></el-input>
-                                </template>
                                 <!-- <template slot-scope="scope">
-                                    <el-select size="mini" v-model="scope.row.place" filterable placeholder="请选择">
+                                    <el-input size="mini" v-model="scope.row.city"></el-input>
+                                </template> -->
+                                <template slot-scope="scope">
+                                    <el-select @change="MiscellaneouschangeSelect(scope.row,$event)" size="mini" v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
                                         <el-option
                                             v-for="item in placeinif"
                                             :key="item.id"
-                                            :label="item.city=='所有城市'?item.country:item.city"
-                                            :value="item.city=='所有城市'?item.country:item.city"
+                                            :label="item.cityname"
+                                            :value="item.id"
                                             >
-                                            <span style="float: left">{{item.city}}</span>
-                                            <span style="float: right; color: #8492a6; font-size: 13px">{{item.country}}</span>
+                                            <span style="float: left">{{item.cityname}}</span>
+                                            <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
                                         </el-option>
                                     </el-select>
-                                </template> -->
+                                </template>
                             </el-table-column>
                             <el-table-column
                             prop="cost"
                             label=" 费用标准"
                             width="180">
                                 <template slot-scope="scope">
-                                    <el-input-number size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
+                                    <el-input-number disabled size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -331,7 +337,7 @@
                             label=" 币 种"
                             width="180">
                                 <template slot-scope="scope">
-                                    <el-input size="mini" v-model="scope.row.currencyName"></el-input>
+                                    <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -339,7 +345,7 @@
                             label="费用小计"
                             width="180">
                                 <template slot-scope="scope">
-                                    <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div>
+                                    <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div>&nbsp;CNY
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -359,6 +365,9 @@
                                 <span>元/人</span>
                             </div>
                         </div>
+                        <div class="btn-Entry">
+                            <el-button type="primary" size="mini">新 增</el-button>
+                        </div>
                     </div>
                     <div class="Entry-li-inif">
                         <el-table
@@ -378,22 +387,22 @@
                             prop="city"
                             label="城 市"
                             width="180">
-                                <template slot-scope="scope">
-                                    <el-input size="mini" v-model="scope.row.city"></el-input>
-                                </template>
                                 <!-- <template slot-scope="scope">
-                                    <el-select size="mini" v-model="scope.row.place" filterable placeholder="请选择">
+                                    <el-input size="mini" v-model="scope.row.city"></el-input>
+                                </template> -->
+                                <template slot-scope="scope">
+                                    <el-select size="mini" v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
                                         <el-option
                                             v-for="item in placeinif"
                                             :key="item.id"
-                                            :label="item.city=='所有城市'?item.country:item.city"
-                                            :value="item.city=='所有城市'?item.country:item.city"
+                                            :label="item.cityname"
+                                            :value="item.id"
                                             >
-                                            <span style="float: left">{{item.city}}</span>
-                                            <span style="float: right; color: #8492a6; font-size: 13px">{{item.country}}</span>
+                                            <span style="float: left">{{item.cityname}}</span>
+                                            <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
                                         </el-option>
                                     </el-select>
-                                </template> -->
+                                </template>
                             </el-table-column>
                             <el-table-column
                             prop="cost"
@@ -456,6 +465,11 @@ export default {
                 EconomyClasstotal:0,//经济舱合计
                 BusinessClasstotal:0,//公务舱合计
             },
+
+            TotalAccommodationFee:0,//住宿费合计
+            TotalMeals:0,//伙食费合计
+            TotalMiscellaneous:0,//公杂费合计
+
             quarterageData: [],
             boardWagesData:[],
             miscellaneousFeeData:[],
@@ -550,15 +564,22 @@ export default {
                 }
             }).then(function (res) {
                 console.log(res)
+                let placeinifarr=[];
                 if(res.data.code==200){
-                    that.placeinif=res.data.data;
+                    for(let i=0;i<res.data.data.length;i++){
+                        res.data.data[i]['cityname']=res.data.data[i].country+'-'+res.data.data[i].city;
+                        placeinifarr.push(res.data.data[i]);
+                    }
+                    that.placeinif=placeinifarr;
                     console.log(that.placeinif)
+                    console.log(placeinifarr)
                 }
             })
         },
         GetEnterExitCostInfobyDiId(){
             var url = "/api/Groups/GetEnterExitCostInfobyDiId"
             var that = this
+            console.log(that.value)
             this.$axios({
                 method: 'post',
                 url: url,
@@ -567,7 +588,7 @@ export default {
                 },
                 data:{
                     portType: 1,
-                    diId: that.value
+                    diId: 2362
                 }
             }).then(function (res) {
                 if(res.data.code==200){
@@ -588,10 +609,19 @@ export default {
                     that.TotalExpenses.TravellingExpenses=res.data.data.cityTranffic;
                     //住宿费
                     that.quarterageData=res.data.data.quarterageData;
+                    for(let a=0;a<res.data.data.quarterageData.length;a++){
+                        that.TotalAccommodationFee+=res.data.data.quarterageData[a].subTotal
+                    }
                     //伙食费
                     that.boardWagesData=res.data.data.boardWagesData;
+                    for(let b=0;b<res.data.data.boardWagesData.length;b++){
+                        that.TotalMeals+=res.data.data.boardWagesData[b].subTotal
+                    }
                     //公杂费
                     that.miscellaneousFeeData=res.data.data.miscellaneousFeeData;
+                    for(let c=0;c<res.data.data.miscellaneousFeeData.length;c++){
+                        that.TotalMiscellaneous+=res.data.data.miscellaneousFeeData[c].subTotal
+                    }
                     //培训费
                     that.trainingExpenseData=res.data.data.trainingExpenseData;
                 }
@@ -605,6 +635,81 @@ export default {
             this.treeDataValue= data.name
             this.treeData= data.name
             console.log(this.treeData)
+        },
+        //住宿地区选择
+        changeSelect(val,item){
+            console.log(val);
+            var rate=0
+            var obj={}
+            obj= this.placeinif.find(function(i){
+                return i.id ===item
+            });
+            //在change中获取到整条对象数据
+            console.log(obj);
+            val.currencyName=obj.currencyName;
+            val.cost=obj.roomCost;
+            console.log(this.currencys)
+            for(let j=0;j<this.currencys.length;j++){
+                if(this.currencys[j].currencyCode==obj.currencyCode){
+                    rate=this.currencys[j].rate;
+                }
+            }
+            console.log(val.cost,rate)
+            val.subTotal=Number(val.cost)*Number(rate);
+            this.TotalAccommodationFee=0;
+            for(let a=0;a<this.quarterageData.length;a++){
+                this.TotalAccommodationFee+=this.quarterageData[a].subTotal
+            }
+        },
+        //伙食地区选择
+        mealschangeSelect(val,item){
+            console.log(val);
+            var rate=0
+            var obj={}
+            obj= this.placeinif.find(function(i){
+                return i.id ===item
+            });
+            //在change中获取到整条对象数据
+            console.log(obj);
+            val.currencyName=obj.currencyName;
+            val.cost=obj.foodCost;
+            for(let j=0;j<this.currencys.length;j++){
+                if(this.currencys[j].currencyCode==obj.currencyCode){
+                    rate=this.currencys[j].rate;
+                }
+            }
+            val.subTotal=Number(val.cost)*Number(rate);
+            this.TotalMeals=0;
+            for(let a=0;a<this.boardWagesData.length;a++){
+                this.TotalMeals+=this.boardWagesData[a].subTotal
+            }
+        },
+        //公杂费地区选择
+        MiscellaneouschangeSelect(val,item){
+            console.log(val);
+            var rate=0
+            var obj={}
+            obj= this.placeinif.find(function(i){
+                return i.id ===item
+            });
+            //在change中获取到整条对象数据
+            console.log(obj);
+            val.currencyName=obj.currencyName;
+            val.cost=obj.publicCost;
+            for(let j=0;j<this.currencys.length;j++){
+                if(this.currencys[j].currencyCode==obj.currencyCode){
+                    rate=this.currencys[j].rate;
+                }
+            }
+            val.subTotal=Number(val.cost)*Number(rate);
+            this.TotalMiscellaneous=0;
+            for(let a=0;a<this.miscellaneousFeeData.length;a++){
+                this.TotalMiscellaneous+=this.miscellaneousFeeData[a].subTotal
+            }
+        },
+        //新增list
+        addlist(){
+            console.log(this.quarterageData)
         }
     },
     filters: {
@@ -696,8 +801,9 @@ export default {
 }
 .Entry-li-lable{
     display: flex;
-    justify-content: space-between;
+    align-items: center;
     margin: 10px 0;
+    margin-top: 20px;
 }
 .Entry-inif-box .depipt{
     display: inline-block;
@@ -741,7 +847,9 @@ export default {
     -webkit-transition: border-color .2s cubic-bezier(.645,.045,.355,1);
     transition: border-color .2s cubic-bezier(.645,.045,.355,1);
 }
-.opc-city{
-    
+.btn-Entry{
+    width: 83%;
+    text-align: right;
 }
+
 </style>

+ 514 - 0
src/components/OP/ThreeStandards.vue

@@ -0,0 +1,514 @@
+<template>
+    <div>
+        <div class="standards-all">
+            <div class="standards-head">
+                <div class="standards-head-li">
+                    <div>
+                        <label>国家:</label>
+                        <!-- <el-input style="width:200px" v-model="input" placeholder="请输入内容"></el-input> -->
+                        <el-select style="width: 220px;margin-left: 10px;" v-model="input" @change="countrychange($event)" filterable placeholder="请选择国家">
+                            <el-option
+                                v-for="item in countrylist"
+                                :key="item.countryName"
+                                :label="item.countryName"
+                                :value="item.countryName">
+                            </el-option>
+                        </el-select>
+                    </div>
+                    <div>
+                        <label>城市:</label>
+                        <el-select style="width: 220px;margin-left: 10px;" v-model="input2" @change="citychange" filterable placeholder="请选择公司">
+                            <el-option
+                                v-for="item in citylist"
+                                :key="item"
+                                :label="item"
+                                :value="item">
+                            </el-option>
+                        </el-select>
+                        <!-- <el-input style="width:200px" v-model="input2" placeholder="请输入内容"></el-input> -->
+                    </div>
+                </div>
+                <div class="standards-head-li">
+                    <!-- <el-button type="primary">查 询</el-button> -->
+                    <el-button @click="addclick('新增')" type="primary">新 增</el-button>
+                </div>
+            </div>
+            <div class="standards-table">
+                <el-table
+                :data="tableData"
+                border
+                style="width: 100%">
+                    <el-table-column
+                    prop="rowNumber"
+                    label="序号"
+                    width="50">
+                    </el-table-column>
+                    <el-table-column
+                    prop="continent"
+                    label="州"
+                    width="80">
+                    </el-table-column>
+                    <el-table-column
+                    prop="country"
+                    label="国家/地区"
+                    width="100">
+                    </el-table-column>
+                    <el-table-column
+                    prop="city"
+                    label="城市"
+                    width="180">
+                    </el-table-column>
+                    <el-table-column
+                    prop="currencyName"
+                    label="币种"
+                    width="80">
+                    </el-table-column>
+                    <el-table-column
+                    prop="roomCost"
+                    label="住宿费"
+                    width="120">
+                    </el-table-column>
+                    <el-table-column
+                    prop="foodCost"
+                    label="伙食费"
+                    width="120">
+                    </el-table-column>
+                    <el-table-column
+                    prop="publicCost"
+                    label="公杂费"
+                    width="120">
+                    </el-table-column>
+                    <el-table-column
+                    prop="lastUpdateUserName"
+                    label="最后操作人"
+                    width="100">
+                    </el-table-column>
+                    <el-table-column
+                    prop="lastUpdateTime"
+                    label="最后操作时间"
+                    width="180">
+                    </el-table-column> 
+                    <el-table-column
+                    prop="remark"
+                    label="备注"
+                    width="200">
+                    </el-table-column>
+                    <el-table-column
+                    prop="address"
+                    label="操作">
+                        <template slot-scope="scope">
+                            <el-button
+                            @click.native.prevent="addclick('修改', scope.row)"
+                            size="mini">
+                            修 改
+                            </el-button>
+                            <el-button
+                            @click.native.prevent="deleteRow(scope.$index, tableData,scope.row)"
+                            type="danger"
+                            size="mini">
+                            移 除
+                            </el-button>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <div class="block">
+                    <el-pagination
+                      @size-change="handleSizeChange"
+                      @current-change="handleCurrentChange"
+                      :current-page="currentPage4"
+                      :page-sizes="[14, 10, 18, 22]"
+                      :page-size="100"
+                      layout="total, sizes, prev, pager, next, jumper"
+                      :total="count">
+                    </el-pagination>
+                  </div>
+            </div>
+            <el-dialog :close-on-click-modal="false" width="720px" title="新增三公费用标准" :visible.sync="AdditionalFees">
+                <el-form :model="addfees" ref="addfees" :rules="addfeesrules">
+                    <div class="standards-inif">
+                        <el-form-item label="州" prop="continent" :label-width="formLabelWidth">
+                            <el-input size="medium" :controls="false" v-model="addfees.continent"></el-input>
+                        </el-form-item>
+                        <el-form-item label="国家" prop="country" :label-width="formLabelWidth">
+                            <el-input size="medium" :controls="false" v-model="addfees.country"></el-input>
+                        </el-form-item>
+                        <el-form-item label="城市" prop="city" :label-width="formLabelWidth">
+                            <el-input size="medium" :controls="false" v-model="addfees.city"></el-input>
+                        </el-form-item>
+                        <el-form-item label="币种" prop="currency" :label-width="formLabelWidth">
+                            <el-select size="medium" @change="currencychange" style="height:36px" v-model="addfees.currency" filterable placeholder="请选择">
+                                <el-option
+                                  v-for="item in options"
+                                  :key="item.id"
+                                  :label="item.name"
+                                  :value="item.id">
+                                </el-option>
+                              </el-select>
+                        </el-form-item>
+                        <el-form-item label="住宿费" prop="roomCost" :label-width="formLabelWidth">
+                            <el-input-number :precision="2" size="medium" :controls="false" v-model="addfees.roomCost"></el-input-number>
+                        </el-form-item>
+                        <el-form-item label="伙食费" prop="foodCost" :label-width="formLabelWidth">
+                            <el-input-number :precision="2" size="medium" :controls="false" v-model="addfees.foodCost"></el-input-number>
+                        </el-form-item>
+                        <el-form-item label="公杂费" prop="publicCost" :label-width="formLabelWidth">
+                            <el-input-number :precision="2" size="medium" :controls="false" v-model="addfees.publicCost"></el-input-number>
+                        </el-form-item>
+                    </div>
+                    <div class="remark-box">
+                        <el-form-item label="备注" :label-width="formLabelWidth">
+                            <el-input :rows="8" type="textarea" v-model="addfees.remark"></el-input>
+                        </el-form-item>
+                    </div>
+                </el-form>
+                <div slot="footer" class="dialog-footer">
+                    <el-button type="primary" @click="addsbtn('addfees')">保 存</el-button>
+                    <el-button @click="AdditionalFees = false">取 消</el-button>
+                </div>
+            </el-dialog>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            loginuserid:'',
+            input:'全部',
+            input2:'全部',
+            tableData: [],
+            currentPage4: 1,
+            count:0,
+            pageSize:14,
+            pageIndex:1,
+            AdditionalFees:false,
+            countrylist:[],
+            citylist:[],
+            //新增
+            addfees:{
+                id:0,
+                continent:'',//州
+                country:'', //国家
+                city:'',//城市
+                currency:807,//币种
+                roomCost:0,//住宿费
+                foodCost:0,//伙食费
+                publicCost:0,//公杂费
+                remark:'',//备注
+            },
+            options:[],
+            formLabelWidth:'100px',
+            addfeesrules:{
+                continent: [
+                    { required: true, trigger: 'change',message:'请填写州' }
+                ],
+                country: [
+                    {required: true, trigger: 'change',message:'请填写国家' }
+                ],
+                city: [
+                    { required: true, trigger: 'change',message:'请填写城市' }
+                ],
+                currency: [
+                    { required: true,  trigger: 'blur',message:'请选择币种' }
+                ],
+                roomCost: [
+                    { required: true, trigger: 'change' ,message:'请填写住宿费'},
+                ],
+                foodCost: [
+                    { required: true, trigger: 'change',message:'请填写伙食费' },
+                ],
+                publicCost: [
+                    { required: true, trigger: 'change',message:'请填写公杂费' },
+                ],
+            },
+        }
+    },
+    methods:{
+        //获取基础数据
+        GetEnterExitCostDataSource(){
+            var url = "/api/Groups/GetEnterExitCostDataSource"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data:{
+                    portType: 1
+                }
+            }).then(function (res) {
+                console.log(res)
+                if(res.data.code==200){
+                    that.options=res.data.data.currencyData;
+                }
+            })
+        },
+        //获取标准列表
+        GatPostNationalTravel(){
+            var url = "/api/Groups/PostNationalTravelFeePage"
+            var that = this
+            var inputs=this.input
+            var input2s=this.input2
+            if(this.input=='全部'){
+                inputs='';
+            }
+            if(this.input2=='全部'){
+                input2s='';
+            }
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data:{
+                    portType: 1,
+                    pageIndex:that.pageIndex,
+                    pageSize:that.pageSize,
+                    continent:'',
+                    country:inputs,
+                    city:input2s,
+                }
+            }).then(function (res) {
+                console.log(res)
+                if(res.data.code==200){
+                   that.tableData= res.data.data;
+                   that.count= res.data.count;
+                }
+                
+            }).catch(()=>{})
+        },
+        //新增按钮
+        addclick(text,val){
+            if (this.$refs.salaryinif){
+                this.$nextTick(() => {
+                    this.$refs['salaryinif'].clearValidate();
+                })
+            }
+            this.addfees={
+                id:0,
+                continent:'',//州
+                country:'', //国家
+                city:'',//城市
+                currency:807,//币种
+                roomCost:0,//住宿费
+                foodCost:0,//伙食费
+                publicCost:0,//公杂费
+                remark:'',//备注
+            },
+            this.AdditionalFees=true;
+            if(text=='修改'){
+                console.log(val)
+                this.addfees.id=val.id;
+                this.addfees.continent=val.continent;
+                this.addfees.country=val.country;
+                this.addfees.city=val.city;
+                this.addfees.currency=val.currency;
+                this.addfees.roomCost=val.roomCost;
+                this.addfees.foodCost=val.foodCost;
+                this.addfees.publicCost=val.publicCost;
+                this.addfees.remark=val.remark;
+                this.pageIndex=1
+            }else if(text=='新增'){
+                this.addfees.id=0;
+            }
+        },
+        handleSizeChange(val) {
+            console.log(`每页 ${val} 条`);
+            this.pageSize=val;
+            this.GatPostNationalTravel();
+        },
+        handleCurrentChange(val) {
+            console.log(`当前页: ${val}`);
+            this.pageIndex=val;
+            this.GatPostNationalTravel()
+        },
+        //currencyselect
+        currencychange(val){
+            console.log(val)
+            this.addfees.currency=val
+        },
+        //新增,修改api
+        PostNationalTravelFeeOperate(){
+            var url = "/api/Groups/PostNationalTravelFeeOperate"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data:{
+                    portType: 1,
+                    id:that.addfees.id,
+                    userId:that.loginuserid,
+                    continent:that.addfees.continent,
+                    country:that.addfees.country,
+                    city:that.addfees.city,
+                    currency:that.addfees.currency,
+                    roomCost:that.addfees.roomCost,
+                    foodCost:that.addfees.foodCost,
+                    publicCost:that.addfees.publicCost,
+                    remark:that.addfees.remark,
+                }
+            }).then(function (res) {
+                console.log(res)
+                if(res.data.code==200){
+                    that.$message({
+                        type: 'success',
+                        message: res.data.msg
+                    });
+                    that.AdditionalFees=false
+                    that.GatPostNationalTravel();
+                }else{
+                    that.$message.error(res.data.msg);
+                }
+                
+            }).catch(()=>{})
+        },
+        //新增-修改
+        addsbtn(formName){
+            this.$refs[formName].validate((valid) => {
+                if (valid) {
+                    this.PostNationalTravelFeeOperate()
+                } else {
+                    this.$message.error('请将红框内容补全!');
+                    return false;
+                }
+            });
+        },
+        //删除
+        deleteRow(index, rows,inif){
+            this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            type: 'warning',
+            center: true
+            }).then(() => {
+                console.log(inif)
+                var url = "/api/Groups/PostNationalTravelFeeDel"
+                var that = this
+                this.$axios({
+                    method: 'post',
+                    url: url,
+                    headers: {
+                        Authorization: 'Bearer ' + this.token
+                    },
+                    data:{
+                        id: inif.id,
+                        deleteUserId:that.loginuserid,
+                    }
+                }).then(function (res) {
+                    console.log(res)
+                    if(res.data.code==200){
+                        rows.splice(index, 1)
+                        that.$message({
+                            type: 'success',
+                            message: res.data.msg
+                        });
+                        that.GatPostNationalTravel();
+                    }
+                    
+                }).catch(()=>{})
+                
+            }).catch(() => {
+                this.$message({
+                    type: 'info',
+                    message: '已取消删除'
+                });
+            });
+        },
+        //搜索数据源
+        GetNationalTravelFeePageDataSource(){
+            var url = "/api/Groups/GetNationalTravelFeePageDataSource"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                }
+            }).then(function (res) {
+                console.log(res)
+                if(res.data.code==200){
+                   that.countrylist=res.data.data
+                   that.countrylist.unshift({cityData:[],countryName:'全部'})
+                }
+                
+            }).catch(()=>{})
+        },
+        //国家change
+        countrychange(item){
+            this.input2="全部"
+            this.citylist='';
+            var obj={}
+            obj= this.countrylist.find(function(i){
+                return i.countryName ===item
+            });
+            //在change中获取到整条对象数据
+            console.log(obj);
+
+            this.citylist=obj.cityData
+            this.citylist.unshift('全部')
+            this.GatPostNationalTravel();
+        },
+        //城市change
+        citychange(){
+            this.GatPostNationalTravel();
+        }
+    },
+    mounted(){
+        this.loginuserid=JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
+        this.GatPostNationalTravel();
+        this.GetEnterExitCostDataSource();
+        this.GetNationalTravelFeePageDataSource();
+    }
+}
+</script>
+<style>
+.standards-all{
+    background-color: #fff;
+    padding: 10px;
+    box-shadow: 0 0 5px #0005;
+    border-radius: 10px;
+    height: 100%;
+    min-height: 840px;
+}
+.standards-head-li{
+    display: flex;
+}
+.standards-head-li div{
+    margin-right: 10px;
+
+}
+.standards-head-li label{
+    color: #606266;
+    font-size: 15px;
+    font-weight: 600;
+}
+.standards-head{
+    display: flex;
+    justify-content: space-between;
+}
+.standards-table{
+    margin-top: 20px;
+}
+.standards-table .block{
+    margin-top: 10px;
+    text-align: center;
+}
+.standards-inif{
+    display: flex;
+    flex-wrap:wrap ;
+}
+.standards-inif .el-input--medium {
+    width: 218px;
+}
+.standards-inif .el-input-number--medium{
+    width: 218px;
+}
+.remark-box .el-textarea__inner{
+    width: 93%;
+}
+</style>

+ 157 - 0
src/components/Resource/GroundDetailedfees.vue

@@ -0,0 +1,157 @@
+<template>
+    <div>
+        <div class="grounddetafees-all">
+            <div class="grounddetafees-head">
+                <div class="grounddetafees-head-li">
+                    <label>团组名称:</label>
+                    <el-select v-model="value" filterable placeholder="请选择">
+                        <el-option
+                        v-for="item in options"
+                        :key="item.id"
+                        :label="item.groupName"
+                        :value="item.id">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div>
+                    <el-button type="primary">生 成</el-button>
+                    <el-button type="primary">保存数据</el-button>
+                    <el-button type="primary">返 回</el-button>
+                </div>
+            </div>
+            <div class="grounddetafees-info">
+                <div class="grounddetafees-info-li">
+                    <label>团 号:</label>
+                    <span>团 号:</span>
+                </div>
+                <div class="grounddetafees-info-li">
+                    <label>客 户:</label>
+                    <span>客 户:</span>
+                </div>
+                <div class="grounddetafees-info-li">
+                    <label>出访国家:</label>
+                    <span>出访国家:</span>
+                </div>
+                <div class="grounddetafees-info-li">
+                    <label>起止日期:</label>
+                    <span> 起止日期:</span>
+                </div>
+                <div class="grounddetafees-info-li">
+                    <label>天数/人数:</label>
+                    <span>天数/人数:</span>
+                </div>
+            </div>
+            <div class="grounddetafees-table">
+                <el-table
+                :data="tableData"
+                border
+                style="width: 100%">
+                <el-table-column
+                prop="date"
+                label="费用项目"
+                width="180">
+                </el-table-column>
+                <el-table-column
+                prop="name"
+                label="金额"
+                width="180">
+                    <!-- eslint-disable-next-line -->
+                    <template slot-scope="scope">
+                        <el-input v-model="scope.row.name" autocomplete="off"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column
+                prop="name"
+                label="币种"
+                width="180">
+                    <template slot-scope="scope">
+                        <el-input v-model="scope.row.name" autocomplete="off"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column
+                prop="name"
+                label="费用明细"
+                width="180">
+                    <template slot-scope="scope">
+                        <el-input v-model="scope.row.name" autocomplete="off"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column
+                prop="name"
+                label="备注"
+                width="180">
+                    <template slot-scope="scope">
+                        <el-input v-model="scope.row.name" autocomplete="off"></el-input>
+                    </template>
+                </el-table-column>
+                <el-table-column
+                prop="address"
+                label="地址">
+                </el-table-column>
+                </el-table>
+            </div>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            value:'',
+            options:'',
+            tableData: [{
+                date: '2016-05-02',
+                name: '王小虎',
+                address: '上海市普陀区金沙江路 1518 弄'
+            }, {
+                date: '2016-05-04',
+                name: '王小虎',
+                address: '上海市普陀区金沙江路 1517 弄'
+            }, {
+                date: '2016-05-01',
+                name: '王小虎',
+                address: '上海市普陀区金沙江路 1519 弄'
+            }, {
+                date: '2016-05-03',
+                name: '王小虎',
+                address: '上海市普陀区金沙江路 1516 弄'
+            }]
+        }
+    },
+}
+</script>
+<style>
+.grounddetafees-all{
+    background-color: #fff;
+    padding: 10px;
+    box-shadow: 0 0 5px #0005;
+    border-radius: 10px;
+    height: 100%;
+    min-height: 840px;
+}
+.grounddetafees-head-li label{
+    color: #606266;
+    font-size: 15px;
+    font-weight: 600;
+}
+.grounddetafees-head{
+    display: flex;
+    justify-content: space-between;
+}
+.grounddetafees-info{
+    display: flex;
+    margin-top: 10px;
+}
+.grounddetafees-info-li label{
+    color: #606266;
+    font-size: 15px;
+    font-weight: 600;
+}
+.grounddetafees-info-li span{ 
+    color: #606266;
+    font-size: 14px;
+}
+.grounddetafees-table{
+    margin-top: 10px;
+}
+</style>

+ 270 - 0
src/components/Resource/GroundEntry.vue

@@ -0,0 +1,270 @@
+<template>
+    <div>
+        <div class="groundentry-all">
+            <el-dialog title="新增数据" class="btnpd" :visible.sync="dialogFormVisible">
+                <el-form :model="form">
+                    <div class="add-form">
+                        <el-form-item size="medium" label="团队名称" :label-width="formLabelWidth">
+                            <el-select v-model="form.region" placeholder="请选择活动区域">
+                                <el-option label="区域一" value="shanghai"></el-option>
+                                <el-option label="区域二" value="beijing"></el-option>
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item size="medium" label="团 号" :label-width="formLabelWidth">
+                            <el-input v-model="form.name" autocomplete="off"></el-input>
+                        </el-form-item>
+                        <el-form-item size="medium" label="客 户" :label-width="formLabelWidth">
+                            <el-input v-model="form.name" autocomplete="off"></el-input>
+                        </el-form-item>
+                        <el-form-item size="medium" label="出访国家" :label-width="formLabelWidth">
+                            <el-input v-model="form.name" autocomplete="off"></el-input>
+                        </el-form-item>
+                        <el-form-item size="medium" label="地 区" :label-width="formLabelWidth">
+                            <el-input v-model="form.name" autocomplete="off"></el-input>
+                        </el-form-item>
+                        <el-form-item size="medium" label="服务时间起" :label-width="formLabelWidth">
+                            <el-input v-model="form.name" autocomplete="off"></el-input>
+                        </el-form-item>
+                        <el-form-item size="medium" label="服务时间止" :label-width="formLabelWidth">
+                            <el-input v-model="form.name" autocomplete="off"></el-input>
+                        </el-form-item>
+                        <el-form-item size="medium" label="付款标识" :label-width="formLabelWidth">
+                            <el-input v-model="form.name" autocomplete="off"></el-input>
+                        </el-form-item>
+                        <el-form-item size="medium" label="服务类型" :label-width="formLabelWidth">
+                            <el-select v-model="form.region" placeholder="请选择活动区域">
+                                <el-option label="区域一" value="shanghai"></el-option>
+                                <el-option label="区域二" value="beijing"></el-option>
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item size="medium" label="服务公司" :label-width="formLabelWidth">
+                            <el-input v-model="form.name" autocomplete="off"></el-input>
+                        </el-form-item>
+                        <el-form-item size="medium" label="地接导游" :label-width="formLabelWidth">
+                            <el-input v-model="form.name" autocomplete="off"></el-input>
+                        </el-form-item>
+                        <el-form-item size="medium" label="联系电话" :label-width="formLabelWidth">
+                            <el-input v-model="form.name" autocomplete="off"></el-input>
+                        </el-form-item>
+                        <el-form-item size="medium" label="Bus名称" :label-width="formLabelWidth">
+                            <el-input v-model="form.name" autocomplete="off"></el-input>
+                        </el-form-item>
+                        <el-form-item size="medium" label="Bus描述" :label-width="formLabelWidth">
+                            <el-input v-model="form.name" autocomplete="off"></el-input>
+                        </el-form-item>
+                        <el-form-item size="medium" label="联系电话" :label-width="formLabelWidth">
+                            <el-input v-model="form.name" autocomplete="off"></el-input>
+                        </el-form-item>
+                    </div>
+                    <div class="groundentry-remark">
+                        <el-form-item label="服务描述" :label-width="formLabelWidth">
+                            <el-input :rows="3" type="textarea" v-model="form.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="备注" :label-width="formLabelWidth">
+                            <el-input :rows="3" type="textarea" v-model="form.name"></el-input>
+                        </el-form-item>
+                    </div>
+                </el-form>
+                <div slot="footer" class="dialog-footer">
+                    <el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
+                    <el-button @click="dialogFormVisible = false">取 消</el-button>
+                </div>
+            </el-dialog>
+            <div class="groundentry-head">
+                <div class="groundentry-head-li">
+                    <label>团组名称:</label>
+                    <el-select v-model="value" filterable placeholder="请选择">
+                        <el-option
+                        v-for="item in options"
+                        :key="item.id"
+                        :label="item.groupName"
+                        :value="item.id">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="groundentry-info">
+                    <div class="groundentry-info-li">
+                        <label>团 号:</label>
+                        <span>团 号:</span>
+                    </div>
+                    <div class="groundentry-info-li">
+                        <label>客 户:</label>
+                        <span>客 户:</span>
+                    </div>
+                    <div class="groundentry-info-li">
+                        <label>出访国家:</label>
+                        <span>出访国家:</span>
+                    </div>
+                    <div class="groundentry-info-li">
+                        <label>起止日期:</label>
+                        <span> 起止日期:</span>
+                    </div>
+                    <div class="groundentry-info-li">
+                        <label>天数/人数:</label>
+                        <span>天数/人数:</span>
+                    </div>
+                </div>
+            </div>
+            <div class="addgroundentry-btn">
+                <el-button type="primary" @click="dialogFormVisible = true">新增数据</el-button>
+            </div>
+            <div class="groundentry-table">
+                <el-table
+                :data="tableData"
+                border
+                style="width: 100%">
+                    <el-table-column
+                    label="序号"
+                    type="index"
+                    width="50">
+                    </el-table-column>
+                    <el-table-column
+                    prop="date"
+                    label="地区"
+                    width="180">
+                    </el-table-column>
+                    <el-table-column
+                    prop="date"
+                    label="服务导游"
+                    width="100">
+                    </el-table-column>
+                    <el-table-column
+                    prop="date"
+                    label="导游联系电话"
+                    width="110">
+                    </el-table-column>
+                    <el-table-column
+                    prop="name"
+                    label="Bus名称"
+                    width="100">
+                    </el-table-column>
+                    <el-table-column
+                    prop="name"
+                    label="Bus联系电话"
+                    width="110">
+                    </el-table-column>
+                    <el-table-column
+                    prop="name"
+                    label="服务时间起"
+                    width="100">
+                    </el-table-column>
+                    <el-table-column
+                    prop="name"
+                    label="服务时间止"
+                    width="100">
+                    </el-table-column>
+                    <el-table-column
+                    prop="name"
+                    label="服务报价"
+                    width="100">
+                    </el-table-column>
+                    <el-table-column
+                    prop="name"
+                    label="是否审核"
+                    width="100">
+                    </el-table-column>
+                    <el-table-column
+                    prop="name"
+                    label="详细费用"
+                    width="100">
+                    </el-table-column>
+                    <el-table-column
+                    prop="address"
+                    label="操 作">
+                    </el-table-column>
+              </el-table>
+            </div>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            value:'',
+            options:[],
+            tableData: [{
+                date: '2016-05-02',
+                name: '王小虎',
+                address: '上海市普陀区金沙江路 1518 弄'
+            }, {
+                date: '2016-05-04',
+                name: '王小虎',
+                address: '上海市普陀区金沙江路 1517 弄'
+            }, {
+                date: '2016-05-01',
+                name: '王小虎',
+                address: '上海市普陀区金沙江路 1519 弄'
+            }, {
+                date: '2016-05-03',
+                name: '王小虎',
+                address: '上海市普陀区金沙江路 1516 弄'
+            }],
+            dialogFormVisible: false,
+            formLabelWidth:'120px',
+            form: {
+                name: '',
+                region: '',
+                date1: '',
+                date2: '',
+                delivery: false,
+                type: [],
+                resource: '',
+            desc: ''
+            },
+        }
+    },
+}
+</script>
+<style>
+.groundentry-all{
+    background-color: #fff;
+    padding: 10px;
+    box-shadow: 0 0 5px #0005;
+    border-radius: 10px;
+    height: 100%;
+    min-height: 840px;
+}
+.groundentry-head-li label{
+    color: #606266;
+    font-size: 15px;
+    font-weight: 600;
+}
+.groundentry-head{
+    display: flex;
+    justify-content: space-between;
+}
+.groundentry-info{
+    display: flex;
+    margin-top: 10px;
+}
+.groundentry-info-li label{
+    color: #606266;
+    font-size: 15px;
+    font-weight: 600;
+}
+.groundentry-info-li span{ 
+    color: #606266;
+    font-size: 14px;
+}
+.groundentry-table{
+    margin-top: 10px;
+}
+.addgroundentry-btn{
+    margin-top: 10px;
+    text-align: right;
+}
+.add-form{
+    display: flex;
+    flex-wrap:wrap ;
+}
+.add-form .el-form-item{
+    width: 32%;
+}
+.groundentry-remark .el-textarea__inner{
+    width: 95.5%;
+}
+.btnpd  .el-dialog__footer{
+    padding: 10px 54px 20px;
+}
+</style>>

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

@@ -2,12 +2,13 @@
     <div v-loading="loading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading">
         <div class="job-box">
             <div class="job-head">
-                <div>
+                <div class="job-select" >
                     <el-select @change="Inquirechange()" v-model="value" clearable placeholder="权限模块">
                         <el-option v-for="item in authority" :key="item.value" :label="item.name" :value="item.id">
                         </el-option>
                     </el-select>
-                    <el-select v-model="pageValue" filterable placeholder="页面名称搜索" @change="pageChange">
+                    <el-select v-model="pageValue" filterable placeholder="页面名称搜索"
+                        @change="pageChange">
                         <el-option v-for="item in pageOptions" :key="item.pageid" :label="item.pageName"
                             :value="item.pageid">
                         </el-option>
@@ -398,4 +399,8 @@ body {
 .job-input .el-select {
     margin-right: 5px;
 }
+
+.job-select .el-select{
+    width: 250px;
+}
 </style>

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

@@ -2,12 +2,13 @@
     <div v-loading="loading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading">
         <div class="job-box">
             <div class="job-head">
-                <div>
-                    <el-select @change="Inquirechange()" v-model="value" clearable placeholder="权限模块">
+                <div class="job-user" >
+                    <el-select  @change="Inquirechange()" v-model="value" clearable placeholder="权限模块">
                         <el-option v-for="item in authority" :key="item.value" :label="item.name" :value="item.id">
                         </el-option>
                     </el-select>
-                    <el-select v-model="pageValue" filterable placeholder="页面名称搜索" @change="pageChange">
+                    <el-select  v-model="pageValue" filterable placeholder="页面名称搜索"
+                        @change="pageChange">
                         <el-option v-for="item in pageOptions" :key="item.pageid" :label="item.pageName"
                             :value="item.pageid">
                         </el-option>
@@ -444,4 +445,7 @@ body {
 .job-input .el-select {
     margin-right: 5px;
 }
+.job-user .el-select{
+    width: 250px;
+}
 </style>

+ 16 - 12
src/components/system/Department.vue

@@ -62,8 +62,8 @@
                             </el-option>
                         </el-select>
                     </el-form-item>
-                    <el-form-item label="上级部门" prop="ParentDepId">
-                        <el-select v-model="addData.ParentDepId" placeholder="请选择上级部门">
+                    <el-form-item label="上级部门" prop="parentDepId">
+                        <el-select v-model="addData.parentDepId" placeholder="请选择上级部门">
                             <el-option v-for="item in optionsDepartment" :key="item.value" :label="item.label"
                                 :value="item.value">
                             </el-option>
@@ -98,9 +98,9 @@
                             </el-option>
                         </el-select>
                     </el-form-item>
-                    <el-form-item label="上级部门" prop="ParentDepId">
-                        <el-select v-model="upData.ParentDepId" placeholder="请选择上级部门">
-                            <el-option v-for="item in optionsDepartment" :key="item.value" :label="item.label"
+                    <el-form-item label="上级部门" prop="parentDepId">
+                        <el-select v-model="upData.parentDepId" placeholder="请选择上级部门" clearable>
+                            <el-option v-for="item in optionsDepartment" :key="item.value" :label="item.label" 
                                 :value="item.value">
                             </el-option>
                         </el-select>
@@ -138,7 +138,7 @@ export default {
                 CompanyId: '',
                 DepCode: "",
                 DepName: "",
-                ParentDepId: 0,
+                parentDepId: 0,
                 Remark: ""
             },
             //添加参数
@@ -146,7 +146,7 @@ export default {
                 CompanyId: '',
                 DepCode: "",
                 DepName: "",
-                ParentDepId: 0,
+                parentDepId: 0,
                 CreateUserId: this.userId,
                 Remark: ""
             },
@@ -163,7 +163,6 @@ export default {
                 ],
             },
             optionsDepartment: [],
-            ParentDepId: '',
             optionsCompanys: [],
             CompanyId: ''
         }
@@ -292,9 +291,9 @@ export default {
             this.upData.DepCode = row.depCode
             this.upData.DepName = row.depName
             if (row.parentDepId == 0) {
-                this.upData.ParentDepId = ''
+                this.upData.parentDepId = ''
             } else {
-                this.upData.ParentDepId = row.parentDepId
+                this.upData.parentDepId = row.parentDepId
             }
 
             this.upData.Remark = row.remark
@@ -309,7 +308,7 @@ export default {
                         that.$message.error("部门名称不能为空");
                         return
                     }
-                    if (that.upData.DepCode == "") {
+                    if (that.upData.DepCode == '') {
                         that.$message.error("部门code不能为空");
                         return
                     }
@@ -317,6 +316,11 @@ export default {
                         that.$message.error("请选择所属公司");
                         return
                     }
+                    
+                    if(that.upData.parentDepId=="")
+                    {
+                        that.upData.parentDepId=0;
+                    }
                     var url = "/api/System/EditDepartment"
 
                     that.$axios({
@@ -436,7 +440,7 @@ export default {
                             that.addData.CompanyId = 0;
                             that.addData.DepCode = "";
                             that.addData.DepName = "";
-                            that.addData.ParentDepId = 0;
+                            that.addData.parentDepId = 0;
                             that.addData.CreateUserId = this.userId;
                             that.addData.Remark = "";
                         } else {

Diferenças do arquivo suprimidas por serem muito extensas
+ 1598 - 0
src/components/system/Payroll.vue


+ 119 - 0
src/components/system/SetWorking.vue

@@ -0,0 +1,119 @@
+<template>
+    <div>
+        <div class="SetWorking-all">
+            <div class="calendar-box">
+                <el-calendar ref="calendar" class="aaa" v-model="value">
+                    <template #dateCell="{ data }">
+                      <div class="calendar-btn-box" @click="allcalendar(data)">
+                        <div class="calendar-day">
+                            {{ data.day.split("-").slice(2).join("-") }} 
+                        </div>
+                        <div :class="datayz.includes(data.day)?'schedule-box':'schedule-boxs'">
+                            {{datayz.includes(data.day)?'工作日':'休息'}}
+                        </div>
+                      </div>
+                    </template>
+                </el-calendar>
+            </div>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            datayz:[
+                '2023-11-01',
+                '2023-11-02',
+                '2023-11-03',
+                '2023-11-06',
+                '2023-11-07',
+                '2023-11-08',
+                '2023-11-09',
+                '2023-11-10',
+                '2023-11-13',
+                '2023-11-14',
+                '2023-11-15',
+                '2023-11-16',
+                '2023-11-17',
+                '2023-11-20',
+                '2023-11-21',
+                '2023-11-22',
+                '2023-11-23',
+                '2023-11-24',
+                '2023-11-27',
+                '2023-11-28',
+                '2023-11-29',
+                '2023-11-30',
+            ],
+            value:''
+        }
+    },
+    methods:{
+        allcalendar(data) {
+            console.log(data);
+            // const loading = this.$loading({
+            //     lock: true,  //加上这个 页面点击日历的时候会莫名其妙抖动一下 因为我界面上有滚动条,所以我注释了
+            //     text: "Loading",
+            //     spinner: "el-icon-loading",
+            //     background: "rgba(0, 0, 0, 0.7)",
+            // });
+            // setTimeout(() => {
+            //     console.log(data); //取到你需要的日期data.day
+            //     //需要用到这日期做啥事,比如做为调接口的参数
+            //     loading.close();
+            // }, 500);
+        },
+        formattedDate(val){
+            const date = new Date(val);
+            const year = date.getFullYear();  
+            const month = (date.getMonth() + 1).toString().padStart(2, '0');  
+            const day = date.getDate().toString().padStart(2, '0');  
+            const formattedDate = `${year}-${month}-${day}`;  
+        }
+    },
+    watch:{
+        value:{//监听月份变化
+            handler(newValue,oldValue){
+                console.log(newValue,oldValue)
+            }
+        }
+    }
+}
+</script>
+<style>
+.SetWorking-all{
+    background-color: #fff;
+    padding: 10px;
+    box-shadow: 0 0 5px #0005;
+    border-radius: 10px;
+    height: 100%;
+    min-height: 830px;
+}
+.is-selected {
+    color: #1989FA;
+}
+.calendar-btn-box{
+    text-align: center;
+    height: 100%;
+}
+.calendar-box .el-calendar-day{
+    padding: 0;
+}
+.calendar-day{
+    font-size: 28px;
+    font-weight: 600;
+    line-height: 50px;
+}
+.schedule-box{
+    font-size: 17px;
+    font-weight: 600;
+    color: #409EFF;
+}
+.schedule-boxs{
+    font-size: 17px;
+    font-weight: 600;
+    color: #a8a4a4;
+}
+
+</style>

+ 24 - 1
src/router/index.js

@@ -78,7 +78,10 @@ import OpTicketBlackCode from '@/components/Resource/OpTicketBlackCode'
 import Payroll from '@/components/Finance/Payroll';
 import VisaPriec from '@/components/OP/VisaPriec';
 import OpVisaPriec from '@/components/OP/OpVisaPriec';
-
+import GroundEntry from '@/components/Resource/GroundEntry';
+import GroundDetailedfees from '@/components/Resource/GroundDetailedfees';
+import SetWorking from '@/components/system/SetWorking';
+import ThreeStandards from '@/components/OP/ThreeStandards'
 Vue.use(Router)
 
 export default new Router({
@@ -456,6 +459,26 @@ export default new Router({
           name: 'OpVisaPriec',
           component: OpVisaPriec
         },
+        {
+          path: '/home/GroundEntry',
+          name: 'GroundEntry',
+          component: GroundEntry
+        },
+        {
+          path: '/home/GroundDetailedfees',
+          name: 'GroundDetailedfees',
+          component: GroundDetailedfees
+        },
+        {
+          path: '/home/SetWorking',
+          name: 'SetWorking',
+          component: SetWorking
+        },
+        {
+          path: '/home/ThreeStandards',
+          name: 'ThreeStandards',
+          component: ThreeStandards
+        },
       ]
     },
     {