ソースを参照

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

yuanrf 6 ヶ月 前
コミット
53a67b545c

+ 43 - 3
src/components/OP/OpVisaPriec.vue

@@ -97,7 +97,7 @@
             <el-form :model="OpVisaPriceData" ref="OpVisaPriceData" :rules="OpVisaPriceDataRules" label-width="100px"
                 class="demo-ruleForm">
                 <div style="width: 98.5%;">
-                    <el-form-item label="签证描述:" prop="visaClient" label-width="160px">
+                    <el-form-item label="签证描述:" prop="visaDescription" label-width="160px">
                         <!-- <el-select @change="clientNamechange" style="width: 100%;" v-model="OpVisaPriceData.visaClient"
                             placeholder="签证客户" multiple clearable filterable>
                             <el-option v-for="item in fliterClient" :key="item.id"
@@ -125,6 +125,26 @@
                             </el-input>
                         </el-form-item>
                     </div> -->
+                    <div style="width: 385px;">
+                        <el-form-item prop="area" label="区域:" label-width="160px">
+                            <el-select v-model="OpVisaPriceData.area" clearable filterable placeholder="代办费类型选择"
+                                 style="width: 100%;">
+                                <el-option v-for="item in areaarr" :key="item.id" :label="item.country"
+                                    :value="item.country">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 385px;">
+                        <el-form-item prop="agencyFeeType" label="代办费类型:" label-width="160px">
+                            <el-select v-model="OpVisaPriceData.agencyFeeType" clearable filterable placeholder="代办费类型选择"
+                             style="width: 100%;">
+                                <el-option v-for="item in agencyFeeTypearr" :key="item.id" :label="item.text"
+                                    :value="item.id">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </div>
                     <div style="width: 385px;">
                         <el-form-item label="签证费用:"  prop="visaCurrency" label-width="160px">
                             <el-input-number style="width:52%" :precision="2" placeholder="付款金额" v-model="OpVisaPriceData.visaPrice" :controls='false'>
@@ -148,7 +168,7 @@
                     </div>
                     <div style="width: 385px;">
                         <el-form-item label="客户类型:" prop="passengerType" label-width="160px">
-                            <el-select v-model="OpVisaPriceData.passengerType" clearable filterable placeholder="客户类型">
+                            <el-select style="width: 100%;" v-model="OpVisaPriceData.passengerType" clearable filterable placeholder="客户类型">
                                 <el-option v-for="item in passengerTypeSelect" :key="item.id" :label="item.name"
                                     :value="item.id">
                                 </el-option>
@@ -355,6 +375,7 @@ export default {
                 visaCurrency: 836,
                 isThird: '',
                 passengerType: '',
+                agencyFeeType:'',
                 visaNumber: 0,
                 visaFreeNumber: 0,
                 createUserId: 0,
@@ -372,11 +393,14 @@ export default {
                 payee: '',
                 orbitalPrivateTransfer: 0,
                 cRemark: '',
+                area:''
             },
             IsAuditGM: 0,
             VisitDate: '',
             passengerTypeSelect: [],
+            areaarr:[],
             fliterClient: [],
+            agencyFeeTypearr:[],
             transformDateFormat: function (value) {
 
                 // 将value转换为Date对象
@@ -403,6 +427,12 @@ export default {
                 visaClient: [
                     { required: true, message: '请选择客户名单', trigger: ['blur'] },
                 ],
+                visaDescription: [
+                    { required: true, message: '请输入', trigger: ['blur'] },
+                ],
+                area: [
+                    { required: true, message: '请选择区域', trigger: ['blur'] },
+                ],
                 isThird: [
                     { required: true, message: '请选择是否第三方代办', trigger: ['blur', 'change'] },
                 ],
@@ -422,6 +452,9 @@ export default {
                     { required: true, message: '请选择支付方式', trigger: ['blur', 'change'] },
 
                 ],
+                agencyFeeType:[
+                    { required: true, message: '请选择代办费类型', trigger: ['blur', 'change'] },
+                ],
                 consumptionPatterns: [
                     { required: true, message: '请输入消费方式', trigger: ['blur', 'change'] },
 
@@ -497,7 +530,8 @@ export default {
                 },
             }).then(function (res) {
                 if (res.data.code == 200) {
-
+                    that.agencyFeeTypearr=res.data.data.agencyFeeType;
+                    that.areaarr=res.data.data.countryFeeData;
                     that.bankCard = res.data.data.bankCard;
                     that.payment = res.data.data.payment;
                     that.currencyList = res.data.data.currencyList;
@@ -659,6 +693,9 @@ export default {
                     that.OpVisaPriceData.createUserId = VisaInfo.createUserId;
                     that.OpVisaPriceData.remark = VisaInfo.remark;
                     that.OpVisaPriceData.payDId = CreditCardPayment.payDId;
+                    that.OpVisaPriceData.area = VisaInfo.area;
+                    that.OpVisaPriceData.agencyFeeType = VisaInfo.agencyFeeType;
+                    
                     that.OpVisaPriceData.visaDescription = VisaInfo.visaDescription;
                     // that.OpVisaPriceData.consumptionPatterns = CreditCardPayment.consumptionPatterns;
                     that.OpVisaPriceData.consumptionDate = CreditCardPayment.consumptionDate;
@@ -725,6 +762,8 @@ export default {
                                     visaNumber:that.OpVisaPriceData.visaNumber,
                                     visaFreeNumber:that.OpVisaPriceData.visaFreeNumber,
                                     createUserId:that.OpVisaPriceData.createUserId,
+                                    area:that.OpVisaPriceData.area,
+                                    agencyFeeType:that.OpVisaPriceData.agencyFeeType,
                                     remark:that.OpVisaPriceData.remark,
                                     payDId:that.OpVisaPriceData.payDId,
                                     consumptionPatterns:that.OpVisaPriceData.consumptionPatterns,
@@ -858,6 +897,7 @@ export default {
     font-size: 17px;
     font-weight: 600;
     color: #555;
+    
     margin-bottom: 20px;
     justify-content: space-between;
     align-items: center;

+ 75 - 3
src/components/Resource/OfficialActivities.vue

@@ -7,13 +7,15 @@
                 </div>
                 <div style="display: flex;">
                     <div style="width: 18%;">
-                        <el-select v-model="DiId" placeholder="团组选择" clearable filterable @change="delegationSelectChange">
+                        <el-select v-model="DiId" placeholder="团组选择" clearable filterable
+                            @change="delegationSelectChange">
                             <el-option v-for="item in delegationInfoList" :key="item.id" :label="item.teamName"
                                 :value="item.id">
                             </el-option>
                         </el-select>
                     </div>
                     <div style="width: 82%;text-align: right;">
+                        <el-button @click="deriveclick" type="primary">导出</el-button>
                         <el-button @click="Getqswj(1)" type="primary">省外办请示文件</el-button>
                         <el-button @click="Getqswj(2)" type="primary">市外办请示文件</el-button>
                         &nbsp;
@@ -30,7 +32,8 @@
                     <span style="font-weight: bold;">出访国家:</span>
                     {{ delegationInfo.visitCountry }}&nbsp;&nbsp;&nbsp;
                     <span style="font-weight: bold;">起止日期:</span>
-                    {{ delegationInfo.visitStartDate|capitalize }}~{{ delegationInfo.visitEndDate|capitalize }}&nbsp;&nbsp;&nbsp;
+                    {{ delegationInfo.visitStartDate|capitalize }}~{{ delegationInfo.visitEndDate|capitalize
+                    }}&nbsp;&nbsp;&nbsp;
                     <span style="font-weight: bold;">天数/人数:</span>
                     {{ delegationInfo.visitDays }}天/{{ delegationInfo.visitPNumber }}人
                 </div>
@@ -57,6 +60,14 @@
                     </el-table-column>
                     <el-table-column prop="createTime" label="记录时间">
                     </el-table-column>
+                    <el-table-column prop="confirmTheInvitation" label="复核确认" width="80">
+                        <template slot-scope="scope">
+                            <span style="font-size: 20px;" :style="scope.row.confirmTheInvitation==0?'color: #555;':'color: #00cb00;'">
+                                {{ scope.row.confirmTheInvitation==0?'-':'✓' }}
+                            </span>
+                            
+                        </template>
+                    </el-table-column>
                     <el-table-column label="操作" width="280">
                         <template slot-scope="scope">
                             <el-button size="mini" @click="upDate(scope.$index, scope.row)">编辑</el-button>
@@ -72,6 +83,24 @@
                 </el-pagination>
             </div>
         </div>
+        <el-dialog title="导出公务出访" width="400px" :visible.sync="dialogFormVisible">
+            <el-form>
+                <el-date-picker
+                v-model="valuedate"
+                type="daterange"
+                align="right"
+                unlink-panels
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+                :picker-options="pickerOptions">
+                </el-date-picker>
+            </el-form>
+            <div slot="footer" class="dialog-footer">
+                <el-button @click="dialogFormVisible = false">取 消</el-button>
+                <el-button type="primary" @click="Confirmexport">确 定</el-button>
+            </div>
+        </el-dialog>
     </div>
 </template>
 <script>
@@ -90,10 +119,46 @@ export default {
             diids:'',
             delegationInfoList: [],
             delegationInfo: {},
-
+            dialogFormVisible:false,
+            valuedate:'',
+            pickerOptions: {
+                shortcuts: [{
+                    text: '最近一周',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '最近一个月',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '最近三个月',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }]
+            },
         }
     },
     methods: {
+        //处理日期
+        datetime(val){
+            var date=new Date(val);
+            var y=date.getFullYear();
+            var m=date.getMonth()+1>=10?date.getMonth()+1:'0'+(date.getMonth()+1).toString();
+            var d=date.getDate()>=10?date.getDate():'0'+(date.getDate()).toString();
+            return y+'-'+m+'-'+d
+        },
         //每页条数改变时触发 选择一页显示多少行
         handleSizeChange(val) {
             this.currentPage = 1;
@@ -211,6 +276,13 @@ export default {
                 }
             })
 
+        },
+        deriveclick(){
+            this.dialogFormVisible=true;
+        },
+        Confirmexport(){
+            console.log(this.datetime(this.valuedate[0]));
+            
         },
         del(index, row) {
             this.$confirm('此操作将删除该数据, 是否继续?', '提示', {

+ 2 - 2
src/components/Resource/OpOfficialActivities.vue

@@ -236,8 +236,8 @@
                         </el-form-item>
                     </div>
                     <div style="width: 385px;">
-                        <el-form-item label="邮箱/微信:" prop="emailOrWeChat" label-width="160px">
-                            <el-input clearable placeholder="邮箱/微信" v-model="OpOfficialActivitiesDto.emailOrWeChat">
+                        <el-form-item label="邮箱/微信:" prop="emailOrWeChat" label-width="160px">
+                            <el-input clearable placeholder="邮箱/微信" v-model="OpOfficialActivitiesDto.emailOrWeChat">
                             </el-input>
                         </el-form-item>
                     </div>

+ 114 - 9
src/components/Resource/PerformanceT.vue

@@ -1,5 +1,39 @@
 <template>
     <div class="PerformanceT-all">
+        <el-dialog title="设置" :visible.sync="dialogTableVisible">
+            <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
+                <el-form-item label="活动名称" prop="name">
+                    <el-input v-model="ruleForm.name"></el-input>
+                </el-form-item>
+                <el-form-item label="活动区域" prop="region">
+                    <el-select v-model="ruleForm.region" placeholder="请选择活动区域">
+                        <el-option label="区域一" value="shanghai"></el-option>
+                        <el-option label="区域二" value="beijing"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="活动区域" prop="region">
+                    <el-select v-model="ruleForm.region" placeholder="请选择活动区域">
+                        <el-option label="区域一" value="shanghai"></el-option>
+                        <el-option label="区域二" value="beijing"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item>
+                    <el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button>
+                    <el-button @click="resetForm('ruleForm')">重置</el-button>
+                </el-form-item>
+            </el-form>
+        </el-dialog>
+        <div class="PerformanceT-hade">
+            <div>
+                <el-select @change="userchange" style="width:200px;" v-model="value" filterable placeholder="请选择">
+                    <el-option v-for="item in options" :key="item.id" :label="item.cnName" :value="item.id">
+                    </el-option>
+                </el-select>
+            </div>
+            <div>
+                <el-button @click="ondialog" type="primary">设 置</el-button>
+            </div>
+        </div>
         <div class="PerformanceT-title">
             <div :style="title.width" v-for="(title,indext) in tabletitle" :key="indext">
                 {{ title.name }}
@@ -13,15 +47,22 @@
                         <div style="display: -webkit-box;">
                             <div class="pf-onename">{{item.name}}</div>
                             <div class="calibrate-box">
-                                <div class="pf-twoname" v-for="(itemchildren,indexsss) in item.children" :key="indexsss">
-                                    <div style="width: 150px;border-right: 1px solid #ebeef5;">{{ itemchildren.name }}</div>
+                                <div class="pf-twoname" v-for="(itemchildren,indexsss) in item.children"
+                                    :key="indexsss">
+                                    <div style="width: 150px;border-right: 1px solid #ebeef5;">{{ itemchildren.name }}
+                                    </div>
                                     <div class="pf-zb">10%</div>
-                                    <div style="width: 100px;border-right: 1px solid #ebeef5;">{{itemchildren.targetValue}}</div>
-                                    <div style="width: 380px;padding: 10px;border-right: 1px solid #ebeef5;">{{ itemchildren.assessmentStandard }}</div>
+                                    <div style="width: 100px;border-right: 1px solid #ebeef5;">
+                                        {{itemchildren.targetValue}}</div>
+                                    <div style="width: 380px;padding: 10px;border-right: 1px solid #ebeef5;">{{
+                                        itemchildren.assessmentStandard }}</div>
                                     <div style="width: 300px;border-right: 1px solid #ebeef5;"></div>
-                                    <div style="width: 80px;border-right: 1px solid #ebeef5;">{{ itemchildren.selfAssessment }}</div>
-                                    <div style="width: 80px;border-right: 1px solid #ebeef5;">{{ itemchildren.selfAssessment }}</div>
-                                    <div style="width: 80px;border-right: 1px solid #ebeef5;">{{ itemchildren.higherUpAssessment }}</div>
+                                    <div style="width: 80px;border-right: 1px solid #ebeef5;">{{
+                                        itemchildren.selfAssessment }}</div>
+                                    <div style="width: 80px;border-right: 1px solid #ebeef5;">{{
+                                        itemchildren.selfAssessment }}</div>
+                                    <div style="width: 80px;border-right: 1px solid #ebeef5;">{{
+                                        itemchildren.higherUpAssessment }}</div>
                                     <div style="width: 90px;"></div>
                                 </div>
                             </div>
@@ -352,12 +393,50 @@ export default {
                     higherUpUserId: 0
                 },
             ],
+            options: [],
+            value: '',
+            dialogTableVisible:true,
+            ruleForm: {
+                name: '',
+                region: '',
+            },
+            rules: {
+          name: [
+                    { required: true, message: '请输入活动名称', trigger: 'blur' },
+                    { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
+                ],
+                region: [
+                    { required: true, message: '请选择活动区域', trigger: 'change' }
+                ],
+            }
         }
     },
     methods:{
+        //获取基础数据
+        GetWageSheetBasicsDataSource(){
+            var url = "/api/PersonnelModule/GetWageSheetBasicsDataSource"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer '
+                },
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.options=res.data.data.userNames;
+                    that.value=that.options[0].id;
+                    that.GetPerformanceList();
+                } else {
+                    that.$message.error(res.data.msg);
+                }
+            }).catch(function (error) {
+                that.$message.error("出错!,请联系信息部。");
+            });
+        },
         //获取数据
         GetPerformanceList(){
-            var url = "/api/PersonnelModule/GetPerformanceList?userid="+0
+            var url = "/api/PersonnelModule/GetPerformanceList?userid="+this.value
             var that = this
             this.$axios({
                 method: 'get',
@@ -378,6 +457,10 @@ export default {
                 that.$message.error("网络错误,请稍后重试");
             });
         },
+        //人员切换
+        userchange(){
+            this.GetPerformanceList();
+        },
         objectSpanMethod({ row, column, rowIndex, columnIndex }) {
             const fields = ['name']
             if (fields.includes(column.property)) {
@@ -406,10 +489,27 @@ export default {
             let ref = this.$refs.tbox0
             console.log(ref);
             
+        },
+        //打开对话框
+        ondialog(){
+            this.dialogTableVisible=true
+        },
+        submitForm(formName) {
+            this.$refs[formName].validate((valid) => {
+            if (valid) {
+                alert('submit!');
+            } else {
+                console.log('error submit!!');
+                return false;
+            }
+            });
+        },
+        resetForm(formName) {
+            this.$refs[formName].resetFields();
         }
     },
     mounted(){
-        this.GetPerformanceList();
+        this.GetWageSheetBasicsDataSource();
         this.getheight();
     },
     created(){
@@ -488,6 +588,11 @@ export default {
     border-right: 1px solid #ebeef5;
     padding: 10px 0;
 }
+.PerformanceT-hade{
+    display: flex;
+    justify-content: space-between;
+    margin-bottom: 10px;
+}
 </style>