|
@@ -85,78 +85,78 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" v-for="header in tableHeaders" :key="header.day" :prop="header.day" width="42">
|
|
|
<template slot="header">
|
|
|
- <div style="width: 32px;font-size: 10px;text-align: center">{{ header.day }}</div>
|
|
|
- <div v-if="header.week=='周六'" class="view-cell" style="color: #1c84c6">{{ header.week }}</div>
|
|
|
- <div v-else-if="header.week=='周日'" class="view-cell" style="color: #1c84c6">{{ header.week }}</div>
|
|
|
- <div v-else-if="header.week=='今日'" class="view-cell" style="color: #008000">{{ header.week }}</div>
|
|
|
- <div v-else class="view-cell">{{ header.week }}</div>
|
|
|
+ <div style="width:40px;text-align: center">
|
|
|
+ <div style="font-size: 10px;">{{ header.day }}</div>
|
|
|
+ <div v-if="header.week=='周六'" class="view-cell" style="color: #1c84c6">{{ header.week }}</div>
|
|
|
+ <div v-else-if="header.week=='周日'" class="view-cell" style="color: #1c84c6">{{ header.week }}</div>
|
|
|
+ <div v-else-if="header.week=='今日'" class="view-cell" style="color: #008000">{{ header.week }}</div>
|
|
|
+ <div v-else class="view-cell">{{ header.week }}</div>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
<template slot-scope="scope">
|
|
|
<span v-if="scope.row[header.day].comment" class="comment-badge"></span>
|
|
|
<span v-if="scope.row[header.day].audit" class="audit-badge"></span>
|
|
|
- <div v-popover:popover style="font-size: 10px;cursor: pointer">{{ scope.row[header.day].value }}</div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
-
|
|
|
- <el-popover
|
|
|
- ref="popover"
|
|
|
- placement="top"
|
|
|
- width="700"
|
|
|
- v-model="popoverVisible"
|
|
|
- trigger="manual">
|
|
|
- <el-table :data="feedbacks" border size="mini">
|
|
|
- <el-table-column width="75" label="反馈状态">
|
|
|
- <template slot-scope="temp">
|
|
|
- <div>{{ getFeedbackTypeName(temp.row.feedbackType) }}</div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column width="60" property="userName" label="反馈人"></el-table-column>
|
|
|
- <el-table-column width="55" label="完成度">
|
|
|
- <template slot-scope="temp">
|
|
|
- <div>{{ temp.row.feedbackType === '4' ? '' : temp.row.value + '%' }}</div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column width="60" prop="hours" label="工时(h)"></el-table-column>
|
|
|
- <el-table-column width="110" property="createTime" label="反馈时间">
|
|
|
- <template slot-scope="temp">
|
|
|
- <div>{{ parseTime(temp.row.createTime) }}</div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="反馈备注">
|
|
|
- <template slot-scope="temp">
|
|
|
- <div>
|
|
|
- <span style="margin-right: 5px">{{ temp.row.description }}</span>
|
|
|
- <span v-for="(file,index) in temp.row.fileList">
|
|
|
- <a :href="file.url" style="color: darkgreen">
|
|
|
+ <el-popover
|
|
|
+ v-if="scope.row[header.day].value!=''"
|
|
|
+ placement="top"
|
|
|
+ width="700"
|
|
|
+ trigger="click">
|
|
|
+ <el-table :data="feedbacks" border size="mini">
|
|
|
+ <el-table-column width="75" label="反馈状态" align="center">
|
|
|
+ <template slot-scope="temp">
|
|
|
+ <div>{{ getFeedbackTypeName(temp.row.feedbackType) }}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column width="60" property="userName" label="反馈人" align="center"/>
|
|
|
+ <el-table-column width="55" label="完成度" align="center">
|
|
|
+ <template slot-scope="temp">
|
|
|
+ <div>{{ !temp.row.value ? '' : temp.row.value + '%' }}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column width="60" prop="hours" label="工时(h)" align="center"/>
|
|
|
+ <el-table-column width="110" property="createTime" label="反馈时间" align="center">
|
|
|
+ <template slot-scope="temp">
|
|
|
+ <div>{{ parseTime(temp.row.createTime) }}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="反馈备注" align="center">
|
|
|
+ <template slot-scope="temp">
|
|
|
+ <div>
|
|
|
+ <span>{{ temp.row.description }}</span>
|
|
|
+ <span v-for="(file,index) in temp.row.fileList">
|
|
|
+ <a :href="file.url" style="color: darkgreen">
|
|
|
<span style="margin-left: 5px">{{ file.name }}</span>
|
|
|
- </a>
|
|
|
+ </a>
|
|
|
</span>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="当前达成进度" width="100px">
|
|
|
- <template slot-scope="temp">
|
|
|
- <el-popover
|
|
|
- v-if="temp.row.descriptionDetail&&temp.row.descriptionDetail.length>0"
|
|
|
- placement="top"
|
|
|
- width="600"
|
|
|
- trigger="hover">
|
|
|
- <div v-html="temp.row.descriptionDetail"></div>
|
|
|
- <el-button slot="reference"
|
|
|
- type="text">详情
|
|
|
- </el-button>
|
|
|
- </el-popover>
|
|
|
- <span
|
|
|
- v-if="(temp.row.feedbackType === '4'||temp.row.feedbackType === '5')&& temp.row.executor===userId && temp.row.commentConfirm!='1'"
|
|
|
- style="margin-left: 10px">
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="当前达成进度" width="100px" align="center">
|
|
|
+ <template slot-scope="temp">
|
|
|
+ <el-popover
|
|
|
+ v-if="temp.row.descriptionDetail&&temp.row.descriptionDetail.length>0"
|
|
|
+ placement="top"
|
|
|
+ width="600"
|
|
|
+ trigger="hover">
|
|
|
+ <div v-html="temp.row.descriptionDetail"></div>
|
|
|
+ <el-button slot="reference" type="text">详情</el-button>
|
|
|
+ </el-popover>
|
|
|
+ <span
|
|
|
+ v-if="(temp.row.feedbackType === '4'||temp.row.feedbackType === '5')&& scope.row.executor===userId && temp.row.commentConfirm!='1'"
|
|
|
+ style="margin-left: 10px">
|
|
|
<el-button type="text" icon="el-icon-thumb" size="mini"
|
|
|
@click="confirmComment(temp.row)">确认</el-button>
|
|
|
</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </el-popover>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <div slot="reference" style="line-height:40px;font-size: 10px;cursor: pointer">
|
|
|
+ {{ scope.row[header.day].value }}
|
|
|
+ </div>
|
|
|
+ </el-popover>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
|
|
|
<el-dialog title="反馈任务" :visible.sync="open" width="680px" class="feed-dialog" append-to-body @close="cancel">
|
|
|
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="106px">
|
|
@@ -471,33 +471,21 @@ export default {
|
|
|
},
|
|
|
|
|
|
cellClick(row, column, cell, event) {
|
|
|
- this.popoverVisible = false;
|
|
|
- clearTimeout(this.clickTimer);
|
|
|
- this.clickTimer = setTimeout(() => {
|
|
|
- if (!row[column.property].value || row[column.property].value === '') {
|
|
|
- return;
|
|
|
- }
|
|
|
- let date = row[column.property].date
|
|
|
- if (DateUtil.unix(date) > DateUtil.unix()) {
|
|
|
- return;
|
|
|
- }
|
|
|
- getFeedbackList(row.id, date).then(res => {
|
|
|
- this.feedbacks = res.data.map(item => {
|
|
|
- item['executor'] = row.executor
|
|
|
- return item
|
|
|
- })
|
|
|
+ if (!row[column.property].value || row[column.property].value === '') {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let date = row[column.property].date
|
|
|
+ if (DateUtil.unix(date) > DateUtil.unix()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ getFeedbackList(row.id, date).then(res => {
|
|
|
+ this.feedbacks = res.data.map(item => {
|
|
|
+ item['executor'] = row.executor
|
|
|
+ return item
|
|
|
})
|
|
|
- this.$refs.popover.doDestroy(true);
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.popover.referenceElm = event.target;
|
|
|
- this.popoverVisible = true;
|
|
|
- });
|
|
|
- }, 300)
|
|
|
+ })
|
|
|
},
|
|
|
cellDbClick(row, column, cell, event) {
|
|
|
- clearTimeout(this.clickTimer);
|
|
|
- this.popoverVisible = false;
|
|
|
- this.$refs.popover.doDestroy(true);
|
|
|
let feedbackDate = DateUtil.getFeedBackDate(this.queryParams.startDate, this.queryParams.endDate, column.property)
|
|
|
if (DateUtil.unix(feedbackDate) > DateUtil.unix()) {
|
|
|
this.$message.warning("反馈时间不能超过:" + DateUtil.day())
|
|
@@ -682,13 +670,11 @@ export default {
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
::v-deep.el-table .cell {
|
|
|
- padding-left: 5px;
|
|
|
- padding-right: 5px;
|
|
|
+ padding: 0px;
|
|
|
}
|
|
|
|
|
|
::v-deep.el-table th.el-table__cell > .cell {
|
|
|
- padding-left: 5px;
|
|
|
- padding-right: 5px;
|
|
|
+ padding: 0px;
|
|
|
}
|
|
|
|
|
|
.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item {
|
|
@@ -696,7 +682,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
.view-cell {
|
|
|
- width: 32px;
|
|
|
+ width: 40px;
|
|
|
font-size: 10px;
|
|
|
text-align: center
|
|
|
}
|