Browse Source

2022.5.17 13.52

山水共长天一色 3 years ago
parent
commit
1ab1a2c87f

+ 10 - 10
fhKeeper/formulahousekeeper/timesheet/config/index.js

@@ -1,18 +1,18 @@
 var path = require('path')
 
 //  var ip = '127.0.0.1'
-// var ip = '192.168.2.36'
+var ip = '192.168.2.36'
 // var ip = '192.168.2.12'// var ip = '47.100.37.243' 
 
-var os = require('os'), ip = '', ifaces = os.networkInterfaces() // 获取本机ip
-for (var i in ifaces) {
-    for (var j in ifaces[i]) {
-        var val = ifaces[i][j]
-        if (val.family === 'IPv4' && val.address !== '127.0.0.1') {
-            ip = val.address
-        }
-    }
-}
+// var os = require('os'), ip = '', ifaces = os.networkInterfaces() // 获取本机ip
+// for (var i in ifaces) {
+//     for (var j in ifaces[i]) {
+//         var val = ifaces[i][j]
+//         if (val.family === 'IPv4' && val.address !== '127.0.0.1') {
+//             ip = val.address
+//         }
+//     }
+// }
 
 module.exports = {
   build: {

+ 106 - 86
fhKeeper/formulahousekeeper/timesheet/src/views/awayOffice/awayOffice.vue

@@ -228,7 +228,7 @@
                             </el-popover>
                         </template>
                     </el-table-column>
-                    <el-table-column v-if="isDingding" :label="isAuditList ? '审核' : '操作'" width="180" fixed="right" >
+                    <el-table-column v-if="!isDingding" :label="isAuditList ? '审核' : '操作'" width="180" fixed="right" >
                         <template slot-scope="scope">
                             <div v-if="isAuditList">
                                 <el-button icon="el-icon-check" circle size="mini" @click="approve(scope.row)"></el-button>
@@ -240,7 +240,7 @@
                             </div>
                         </template>
                     </el-table-column>
-                    <el-table-column v-if="!isDingding" label="操作" width="90" fixed="right">
+                    <el-table-column v-if="isDingding" label="操作" width="90" fixed="right">
                         <template slot-scope="scope">
                             <el-button icon="iconfont firerock-iconguanlian" circle size="mini" @click="DingdingEditor(scope.row)"></el-button>
                         </template>
@@ -523,37 +523,48 @@
     </el-dialog>
 
     <!-- 钉钉环境交互效果切换 -->
-    <el-dialog title="进行项目关联" :visible.sync="DingdingEditDialog" width="800px">
-        <el-form ref="DingdingForm" label-width="80px" style="margin:40px 0">
-            <el-form-item label="投入项目" style="width:300px;margin-right:30px;display:inline-block;" prop="projectId">
-                <el-select style="width:100%" @change="getwuduList(2,1)" v-model="DingdingForm.projectId" filterable clearable placeholder="请选择投入项目">
-                    <el-option
-                    v-for="item in projectList"
-                    :key="item.id"
-                    :label="item.projectName"
-                    :value="item.id">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item :label="wuduData.customDegreeName"
-            style="width:360px;margin-right:30px;display:inline-block;"
-            prop="degreeName">
-                <el-select style="width:220px" v-model="DingdingForm.degreeId" filterable clearable placeholder="请选择" >
-                    <el-option
-                    v-for="item in wuduList"
-                    :key="item.id"
-                    :label="item.name"
-                    :value="item.id">
-                    </el-option>
-                </el-select>
-                <el-link style="display: inline-block;margin-left: 20px;">添加</el-link>
-            </el-form-item>
-            
-        </el-form>
-        <span slot="footer" class="dialog-footer">
-            <el-button @click="DingdingEditDialog = false">取 消</el-button>
-            <el-button type="primary" @click="DingdingDetermine()">确 定</el-button>
-        </span>
+    <el-dialog title="项目关联信息" v-if="DingdingEditDialog" :close-on-click-modal="false" :visible.sync="DingdingEditDialog" width="800px" customClass="customWidth">
+        
+        <el-table data="" :loading="DingdingTableLoading">
+            <el-table-column label="时间段"></el-table-column>
+            <el-table-column label="关联项目"></el-table-column>
+            <el-table-column :label="wuduData.customDegreeName"></el-table-column>
+            <el-table-column label="操作" width="150">
+                <template slot-scope="scope">
+                    <el-button size="small" type="primary" @click="DingdingAddorMod(scope.row)">编辑</el-button>
+                    <el-button size="small" type="danger" @click="DingdingDelete(scope.row)">删除</el-button>
+                </template>
+            </el-table-column>
+        </el-table>
+        <div slot="footer" class="dialog-footer">
+            <el-button type="primary" @click="DingdingEditDialog = false">关闭</el-button>
+            <el-button type="primary" @click="DingdingAddorMod()">新增关联项目</el-button>
+        </div>
+
+        <el-dialog append-to-body title="新增/修改关联项目" v-if="appendAddorModDialog" :visible.sync="appendAddorModDialog" width="600px" customClass="customWidth">
+            <el-form label-width="100" :inline="true" style="margin-top:20px">
+                <el-form-item label="开始日期">
+                    <el-date-picker
+                    style="width:150px"
+                    v-model="relationItem.startDate"
+                    type="date"
+                    placeholder="请选择日期"></el-date-picker>
+                </el-form-item>
+                <el-form-item label="结束日期" style="margin-left:50px">
+                    <el-date-picker
+                    style="width:150px"
+                    v-model="relationItem.endDate"
+                    type="date"
+                    placeholder="请选择日期"></el-date-picker>
+                </el-form-item><br>
+                <el-form-item label="关联项目"></el-form-item>
+                <el-form-item label="自定义维度" style="margin-left:50px"></el-form-item>
+            </el-form>
+            <div slot="footer" class="dialog-footer">
+                <el-button @click="appendAddorModDialog = false">取消</el-button>
+                <el-button type="primary" @click="appendAddorModSure()">提交</el-button>
+            </div>
+        </el-dialog>
     </el-dialog>
 </section>
 </template>
@@ -670,7 +681,15 @@ export default {
             // 钉钉环境交互
             isDingding: 0,
             DingdingEditDialog: false,
-            DingdingForm:{}
+            DingdingTableLoading: false,
+            appendAddorModDialog: false,
+            relationItem: {
+                bustripId: '', //出差记录id
+                startDate: '',
+                endDate: '',
+                projectId: '',
+                degreeId: ''
+            }
         }
     },
     created(){
@@ -697,55 +716,56 @@ export default {
     },
     methods: {
         // 钉钉环境交互
-        DingdingClear(){
-            this.wuduList = []
-            this.DingdingForm.degreeId = null
-        },
         DingdingEditor(e){
             this.DingdingEditDialog = true
-            if(e.degreeId != null){
-                e.degreeId = e.degreeId + ''
-                // console.log("e.degreeId",e.degreeId);
-            }
-            this.DingdingForm = JSON.parse(JSON.stringify(e))
-            this.getwuduList(2)
-            // console.log('editor',this.DingdingForm);
+            this.DingdingTableLoading = true
+            this.http.post('/bustrip-project/list',{
+                bustripId: e.id
+            },res => {
+                if(res.code == 'ok'){
+                    this.DingdingTableLoading = false
+                    console.log('getlist',res.data);
+                }else {
+                    this.DingdingTableLoading = false
+                    this.$message({
+                        message: res.msg,
+                        type: 'error'
+                    })
+                }
+            },err => {
+                this.DingdingTableLoading = false
+                this.$message({
+                    message: err,
+                    type: 'error'
+                })
+            })
         },
-        DingdingDetermine(){
-            let edddd = {
-                id: this.DingdingForm.id,
-                projectId: this.DingdingForm.projectId,  //项目id
-                degreeId:this.DingdingForm.degreeId,     //维度id
-                degreeName: null
-            }
-            for(let i=0; i<this.wuduList.length; i++){
-                if(this.wuduList[i].id == edddd.degreeId){
-                    edddd.degreeName = this.wuduList[i].name
+        DingdingAddorMod(){
+            this.appendAddorModDialog = true
+            
+        },
+        appendAddorModSure(){
+            this.http.post('/bustrip-project/addOrMod',{
+                bustripId: '', //出差记录id
+                startDate: '',
+                endDate: '',
+                projectId: '',
+                degreeId: ''
+            },res => {
+                if(res.code == 'ok'){
+
+                }else {
+                    this.$message({
+                        message: res.msg,
+                        type: 'error'
+                    })
                 }
-            }
-            this.http.post( '/business-trip/modifyProject', edddd,
-                    res => {
-                        if (res.code == "ok") {
-                            this.DingdingForm = {}
-                            this.DingdingEditDialog = false
-                            this.$message({
-                                message: '修改成功',
-                                type: 'success'
-                            })
-                            this.billss()
-                        } else {
-                            this.$message({
-                                message: res.msg,
-                                type: "error"
-                            });
-                        }
-                    },
-                    error => {
-                        this.$message({
-                            message: error,
-                            type: "error"
-                        });
-                    });
+            },err => {
+                this.$message({
+                    message: err,
+                    type: 'error'
+                })
+            })
         },
 
 
@@ -1399,13 +1419,13 @@ export default {
                     }
                     var pId = this.editItemForm.projectId
                 }else{
-                    if(i == 1){
-                        this.DingdingForm.degreeId = null
-                    }
-                    if(this.DingdingForm.projectId == '' || this.DingdingForm.projectId == null){
-                        return
-                    }
-                    var pId = this.DingdingForm.projectId
+                    // if(i == 1){
+                    //     this.DingdingForm.degreeId = null
+                    // }
+                    // if(this.DingdingForm.projectId == '' || this.DingdingForm.projectId == null){
+                    //     return
+                    // }
+                    // var pId = this.DingdingForm.projectId
                 }
                 
                 this.http.post('/project/getDegreeList',{ 

+ 11 - 1
fhKeeper/formulahousekeeper/timesheet/src/views/leave/list.vue

@@ -679,7 +679,17 @@ export default {
       dialog: false,
       adform: {},
       affId: '',
-      qjType: [{name: '事假',id: 0},{name: '病假',id: 1},{name: '年假',id: 2},{name: '产假',id: 3},{name: '婚假',id: 4},{name: '丧假',id: 5},{name: '调休假',id: 6},{name: '陪产假',id: 7},{name: '其他', id: 8}],
+      qjType: [
+        {name: '事假', id: 0},
+        {name: '病假', id: 1},
+        {name: '年假', id: 2},
+        {name: '产假', id: 3},
+        {name: '婚假', id: 4},
+        {name: '丧假', id: 5},
+        {name: '调休假', id: 6},
+        {name: '陪产假', id: 7},
+        {name: '其他', id: 8}
+      ],
       // 
       apk2: false,
       sdata:[],

+ 5 - 5
fhKeeper/formulahousekeeper/timesheet/src/views/project/list.vue

@@ -9,7 +9,7 @@
                 <el-form-item >
                     <!-- <div style="display: flex;align-items: center;height: 40px;"> -->
                     <div style="display: flex;align-items: center;height: 40px;">
-                    <el-input v-model="keyword" class="input-with-select" placeholder="请输入项目名称关键字" clearable="true" size="small">
+                    <el-input v-model="keyword" class="input-with-select" :placeholder="searchField == '1' ? '请输入项目名称关键字' : '请输入项目编号关键字'" clearable="true" size="small">
                         <el-select v-model="searchField" style="width:120px;"  slot="prepend" placeholder="请选择">
                             <el-option label="项目名称" value=1 ></el-option>
                             <el-option label="项目编号" value=2></el-option>
@@ -426,8 +426,8 @@
             <el-table :data="baseCostItemList" highlight-current-row  height="400" style="width: 100%;">
             <el-table-column type="index" width="60" label="序号">
                 <template slot-scope="scope" >
-                        {{scope.$index+1+(page-1)*size}}
-                    </template>
+                    {{scope.$index+1+(page-1)*size}}
+                </template>
             </el-table-column>
             <el-table-column prop="name" label="名称" ></el-table-column>
             <el-table-column prop="alarmType" label="预警">
@@ -701,7 +701,7 @@ a {
                 status:null,
                 statusTxt:["-","进行中","已完成","已撤销"],
                 importanceList:[{id:1,label:'正常'},{id:2,label:'紧急'},{id:3,label:'重要'},{id:4,label:'重要且紧急'}],
-                searchField:null,
+                searchField:'1',
                 keyword:null,
                 user: JSON.parse(sessionStorage.getItem("user")),
                 permissions: JSON.parse(sessionStorage.getItem("permissions")),
@@ -1571,7 +1571,7 @@ a {
                             this.addClfDialog = false;
                             this.baseClfList = res.data;
                             // this.$forceUpdate();
-                            console.log(res.data);
+                            // console.log(res.data);
                         } else {
                             this.$message({
                                 message: res.msg,

+ 27 - 9
fhKeeper/formulahousekeeper/timesheet/src/views/settings/timetype.vue

@@ -10,7 +10,7 @@
             </el-form>
         </el-col>
         <p style="padding-top:80px;margin: 0 0 10px 10px;color:#666;">员工时薪录入方式设置</p>
-        <div class="panel" style="height:120px;margin-left:20px;margin-right:20px;">
+        <div class="panel" style="height:190px;margin-left:20px;margin-right:20px;">
         <el-radio v-model="timeType.hourCostInputType" :label="0" style="width:100%;margin-left:10px;">方式一: 录入月成本,自动计算时薪<span class="tip">(适合企业全职员工)</span>
             <el-form ref="form0" :inline="true" :model="timeType" label-width="150px" style="margin-top:10px;">
             <el-form-item label="平均每月工作天数" prop="monthDays">
@@ -22,7 +22,14 @@
                     <el-option v-for="item in times" :key="item" :label="item.toFixed(1)" :value="item"></el-option>
                 </el-select>
                 小时
-            </el-form-item>
+                <span class="lockworktime">锁定工作时长
+                <el-switch v-model="timeType.lockWorktime" :active-value="1" :inactive-value="0" active-color="#13ce66" inactive-color="#ff4949" style="margin:0 10px;"></el-switch>
+                
+                <el-tooltip effect="dark" content="锁定每日填报工时的上限" placement="top-start">
+                    <i class="el-icon-question" style="color:#606266"></i>
+                </el-tooltip>
+                </span>
+            </el-form-item><br>
             <el-form-item label="加班设置" prop="allday">
                 <el-checkbox v-model="timeType.payOvertime" label="加班工时记入成本" />
                 <!-- <el-checkbox v-model="timeType.doubleOvertime" label="加班双倍成本" :disabled="!timeType.payOvertime"/> -->
@@ -354,13 +361,16 @@
                 times:[],
                 halfTime:[],
                 user: JSON.parse(sessionStorage.getItem("user")),
-                timeType:{allday: 8,
-                am: 4,
-                companyId: 10,
-                hourCostInputType: 0,
-                monthDays: 21.75,
-                pm: 4,
-                type: 0},
+                timeType:{
+                    allday: 8,
+                    am: 4,
+                    companyId: 10,
+                    hourCostInputType: 0,
+                    monthDays: 21.75,
+                    pm: 4,
+                    type: 0,
+                    lockWorktime: 0
+                },
                 customDegreeActive: false,
                 needDeptAudit: false,
                 customDegreeName: '',
@@ -829,4 +839,12 @@
 .apu {
     width:360px !important;
 }
+.lockworktime{
+    margin-left: 40px;
+    color: #606266;
+    float: right;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+}
 </style>