Browse Source

Merge remote-tracking branch 'origin/master'

yusm 6 months ago
parent
commit
fde5d119d2

+ 4 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/DingDingController.java

@@ -190,6 +190,10 @@ public class DingDingController {
         dingDingService.syncCardTime(companyId, userId, startDate, endDate);
         return new HttpRespMsg();
     }
+    @RequestMapping("/refreshUserCardTime")
+    public HttpRespMsg refreshUserCardTime(Integer companyId, String userId, String date) {
+        return dingDingService.refreshUserCardTime(companyId, userId, date);
+    }
 //
 //    @RequestMapping("/syncLeaveTime")
 //    public HttpRespMsg syncLeaveTime(Integer companyId, String userId, String startDate, String endDate) {

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/DingDingService.java

@@ -60,4 +60,6 @@ public interface DingDingService {
     String getSyncTranslationResult(String jobId,CompanyDingding dingding) throws Exception;
 
     HttpRespMsg getAuthInfo(String corpid) throws Exception;
+
+    HttpRespMsg refreshUserCardTime(Integer companyId, String userId, String date);
 }

+ 13 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DingDingServiceImpl.java

@@ -2714,6 +2714,19 @@ public class DingDingServiceImpl implements DingDingService {
         return msg;
     }
 
+    @Override
+    public HttpRespMsg refreshUserCardTime(Integer companyId, String userId, String date) {
+        CompanyDingding dingding = companyDingdingMapper.selectOne(new QueryWrapper<CompanyDingding>().eq("company_id", companyId));
+        syncOneComp(dingding, userId, date, date);
+        HttpRespMsg msg = new HttpRespMsg();
+        //查询考勤记录
+        List<UserDingdingTime> timeList = userDingdingTimeMapper.selectList(new QueryWrapper<UserDingdingTime>().eq("company_id", companyId).eq("user_id", userId).eq("work_date", date));
+        if (timeList.size() > 0) {
+            msg.setData(timeList.get(0));
+        }
+        return msg;
+    }
+
     private boolean judgeIsLeader(String userId) {
         int cnt = projectAuditorMapper.selectCount(new QueryWrapper<ProjectAuditor>().eq("auditor_id", userId));
         return cnt>0;

+ 38 - 4
fhKeeper/formulahousekeeper/timesheet/src/views/contract/components/customContract.vue

@@ -30,7 +30,7 @@
           </el-select>
         </el-form-item>
         <!-- 创建时间 -->
-        <el-form-item>
+        <!-- <el-form-item>
           <span style="margin-left:5px;margin-right:5px;color:#606266;">{{$t('creationtime')}}</span>
           <el-date-picker
             style="width:240px;"
@@ -58,6 +58,17 @@
             clearable
             @change="searchFilter"
           ></el-date-picker>
+        </el-form-item> -->
+        <el-form-item>
+          <span style="margin-left:5px;margin-right:5px;color:#606266;">对方单位</span>
+          <el-input v-model.trim="customerOrgs" placeholder="请输入" size="small" style="width: 150px" clearable @input="onCustomerOrgsInput"></el-input>
+        </el-form-item>
+        <el-form-item>
+          <span style="margin-left:5px;margin-right:5px;color:#606266;">合同状态</span>
+          <el-select v-model="finishStatuss" placeholder="请选择" style="width:120px" size="small" clearable @change="searchFilter">
+            <el-option label="履约中" :value="1"></el-option>
+            <el-option label="履约完成" :value="2"></el-option>
+          </el-select>
         </el-form-item>
         
 
@@ -288,14 +299,14 @@
                 </el-table-column>
                 <el-table-column prop="payedAmount" label="已付款金额(元)" width="160">
                   <template slot-scope="scope">
-                    <el-input-number v-model="scope.row.payedAmount" controls-position="right" @change="chgPayedAmount()" :min="0" size="small" :precision="2"></el-input-number>
+                    <el-input-number v-model="scope.row.payedAmount" controls-position="right" @change="chgPayedAmount()" :min="0" size="small" :precision="2" :controls="false"></el-input-number>
                   </template>
                 </el-table-column>
                 <el-table-column prop="payType" label="付款类型" width="140">
                   <template slot-scope="scope">
                     <el-select v-model="scope.row.payType" placeholder="请选择" size="small">
                       <el-option label="预付" :value="1"></el-option>
-                      <el-option label="报账" :value="2"></el-option>
+                      <el-option label="报账" :value="0"></el-option>
                     </el-select>
                   </template>
                 </el-table-column>
@@ -616,6 +627,7 @@
 </template>
 
 <script>
+import { debounce } from 'lodash';
 export default {
   data() {
     return {
@@ -628,6 +640,8 @@ export default {
       typeName: '',
       status: '',
       dateArray: [],
+      customerOrgs: '',
+      finishStatuss: '',
 
       typeList: [],
       contractList: [],
@@ -705,8 +719,10 @@ export default {
     //   console.log('test',row);
     //   // this.$refs.uploadFile.submit()
     // },
+    onCustomerOrgsInput: debounce(function() {
+      this.searchFilter();
+    }, 500),
     processingContractAmount() {
-      console.log(this.contractForm.isAmountFixed, '<====== 开始执行')
       if(this.contractForm.isAmountFixed) {
         return
       }
@@ -899,6 +915,15 @@ export default {
         parameter.startDate = this.dateArray[0]
         parameter.endDate = this.dateArray[1]
       }
+
+      if(this.customerOrgs) {
+        parameter.customerOrg = this.customerOrgs
+      }
+
+      if(this.finishStatuss) {
+        parameter.finishStatus = this.finishStatuss
+      }
+      
       this.http.post('/contract/exportContractOneToMany',parameter,
       res => {
         if(res.code == 'ok'){
@@ -1390,6 +1415,15 @@ export default {
         parameter.paymentStartDate = this.paymentDate[0]
         parameter.paymentEndDate = this.paymentDate[1]
       }
+
+      if(this.customerOrgs) {
+        parameter.customerOrg = this.customerOrgs
+      }
+
+      if(this.finishStatuss) {
+        parameter.finishStatus = this.finishStatuss
+      }
+      
       this.listLoading = true
       this.http.post('/contract/getContractPage',parameter,
       res => {

+ 37 - 4
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -395,10 +395,6 @@
                                 {{$t('defaultText.pleaseSelectAsubstitute')}}
                             </span>
                         </div>
-                        <!-- <el-radio-group v-model="singleDate" style="margin-left:10px;">
-                            <el-radio :label="1">单日代填</el-radio>
-                            <el-radio :label="2">多日代填</el-radio>
-                        </el-radio-group> -->
                     </el-form-item>
                     <el-form-item :label="$t('screening.workingDate')" prop="createDate">
                         <el-date-picker v-model="workForm.createDate" :editable="false" format="yyyy-MM-dd" value-format="yyyy-MM-dd" 
@@ -430,11 +426,15 @@
                         v-if="!isBatch && user.timeType.syncCorpwxTime==1 && !isSubstitude" icon="el-icon-refresh" 
                                 @click="refreshWXCardTime(workForm.createDate)"></el-button>
                         <el-button type="default" style="margin-left:5px;" size="small" :loading="syncTimeLoading" 
+                        v-if="!isBatch && user.timeType.syncDingding==1 && !isSubstitude" icon="el-icon-refresh" 
+                                @click="refreshDDCardTime(workForm.createDate)"></el-button>
+                        <el-button type="default" style="margin-left:5px;" size="small" :loading="syncTimeLoading" 
                         v-if="isBatch && user.company.companyName === mingyiName" icon="el-icon-refresh" 
                                 @click="refreshAttendance(workForm.createDate)"></el-button>
                         <el-button type="default" style="margin-left:5px;" size="small" :loading="syncTimeLoading" 
                         v-if="!isBatch && user.companyId === 5978" icon="el-icon-refresh" 
                                 @click="refreshBeiSengAttendance(workForm.createDate)"></el-button>
+                        
                         <span v-if="user.companyId==5978" style="margin-left:5px;color:#20a0ff;"><i class="el-icon-warning"></i>{{$t('other.kaoqingTimeTip')}}</span>
                     </el-form-item>
                     <!-- 000000 -->
@@ -3167,6 +3167,39 @@
                 let ma = ms / 1000 / 60 / 60
                 return ma;  //小时
             },
+            refreshDDCardTime(workdate) {
+                if (!workdate) return;
+                this.syncTimeLoading = true;
+                this.http.post('/dingding/refreshUserCardTime',{
+                    companyId: this.user.companyId,
+                    userId: this.user.id,
+                    date: workdate,
+                },res => {
+                    this.syncTimeLoading = false;
+                    if(res.code == 'ok'){
+                        if (!res.data) {
+                            this.$message({
+                                message: '获取考勤失败',
+                                type: 'error'
+                            })
+                        } else {
+                            this.workForm.time = res.data;
+                        }
+                        
+                    }else {
+                        this.$message({
+                            message: res.msg,
+                            type: 'error'
+                        })
+                    }
+                },err => {
+                    this.syncTimeLoading = false;
+                    this.$message({
+                        message: err,
+                        type: 'error'
+                    })
+                })
+            },
             refreshWXCardTime(workdate) {
                 if (!workdate) return;
                 this.syncTimeLoading = true;