xiexiang 9 månader sedan
förälder
incheckning
f8e145bfe0

+ 9 - 0
src/api/personnel.js

@@ -27,4 +27,13 @@ export default {
             params: params
         })
     },
+
+    /**
+     * 更新到期时间
+     * @param {*} data 
+     * @returns 
+     */
+    updateExpitrTime(data) {
+        return axios.post('/permission/api/personnel/updateExpitrTime', data)
+    }
 }

+ 47 - 1
src/views/backStageManage/organization/personnel/components/personnel.vue

@@ -38,7 +38,31 @@
             <el-table-column prop="email" label="邮箱" align="center" show-overflow-tooltip></el-table-column>
             <el-table-column prop="mobile" label="联系方式" align="center" show-overflow-tooltip></el-table-column>
             <el-table-column prop="tenantName" label="所属租户" align="center" show-overflow-tooltip></el-table-column>
-            <el-table-column prop="expitrTime" label="到期时间" align="center" show-overflow-tooltip></el-table-column>
+            <el-table-column prop="expitrTime" label="到期时间" align="center" width="250px" show-overflow-tooltip>
+                <template slot-scope="scope">
+                    <div class="block">
+                        {{ scope.row.expitrTime }}
+                        <el-popover
+                            placement="bottom"
+                            title="修改到期时间"
+                            width="220"
+                            :ref="'popover_expitrTime_'+scope.row.id"
+                            trigger="click">
+                            <el-date-picker
+                                v-model="editMessage.expitrTime"
+                                type="datetime"
+                                value-format="yyyy-MM-dd HH:mm:ss"
+                                placeholder="选择日期时间">
+                            </el-date-picker>
+                            <div style="display: flex;justify-content: flex-end;">
+                               <el-button type="text" size="small" @click="submit('expitrTime',editMessage.expitrTime,scope.row)">确认</el-button> 
+                            </div>
+                            
+                            <el-button type="text" size="small" slot="reference" @click="addEditMessage('expitrTime',scope.row.expitrTime)">修改</el-button>
+                        </el-popover>
+                    </div>
+                </template>
+            </el-table-column>
             <el-table-column label="剩余天数" align="center" show-overflow-tooltip>
                 <template slot-scope="scope">
                     <div v-html="getRemainDays(scope.row.expitrTime)">
@@ -102,6 +126,7 @@ export default {
                 positionIds:[],
                 ...defaultSearchForm
             },
+            editMessage:{}
         };
     },
     watch: {},
@@ -112,6 +137,27 @@ export default {
         this.getTenantList();
     },
     methods: {
+        
+        addEditMessage(field,data){
+            this.$set(this.editMessage,field,data)
+        },  
+        submit(field,data,row){
+            var params = {
+                id:row.id,
+            }
+            params[field] = data
+            this.$api.updateExpitrTime(params).then(response=>{
+                if(response.code == 200){
+                    this.$message.success('修改成功')
+                    row[field] = data
+                    delete this.editMessage[field]
+                    this.$refs['popover_'+field+'_'+row.id].doClose()
+                    console.log(this.$refs['popover_'+field+'_'+row.id])
+                }
+            }).catch(error=>{
+                
+            })
+        },
         //获取剩余天数
         getRemainDays(endDate){
             if(!endDate){