|
@@ -1,191 +1,100 @@
|
|
|
<template>
|
|
<template>
|
|
|
-<<<<<<< HEAD
|
|
|
|
|
- <div class="app-container" >
|
|
|
|
|
- <h3>{{m.meetingName}}</h3>
|
|
|
|
|
- <el-descriptions title="" :column="2" :size="size" border>
|
|
|
|
|
|
|
+ <div class="app-container">
|
|
|
|
|
+ <div style="display: flex;justify-content: space-between;margin-bottom: 8px">
|
|
|
|
|
+ <div style="font-size: 24px">{{ title }}</div>
|
|
|
|
|
+ <el-button size="mini" @click="exportPdf" icon="el-icon-download" style="margin-right: 20px">导出</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <el-descriptions title="" :column="2" :size="size" border>
|
|
|
<el-descriptions-item>
|
|
<el-descriptions-item>
|
|
|
<template slot="label">
|
|
<template slot="label">
|
|
|
<i class="el-icon-user"></i>
|
|
<i class="el-icon-user"></i>
|
|
|
- 会议时间
|
|
|
|
|
|
|
+ 会议时间
|
|
|
</template>
|
|
</template>
|
|
|
- {{m.beginTime}}至{{m.endTime}}
|
|
|
|
|
|
|
+ 2022-12-12 12:00:00至2022-12-12 12:00:00
|
|
|
</el-descriptions-item>
|
|
</el-descriptions-item>
|
|
|
<el-descriptions-item>
|
|
<el-descriptions-item>
|
|
|
<template slot="label">
|
|
<template slot="label">
|
|
|
- <i class="el-icon-user"></i>
|
|
|
|
|
- 会议主持人
|
|
|
|
|
|
|
+ <i class="el-icon-mobile-phone"></i>
|
|
|
|
|
+ 会议主持人
|
|
|
</template>
|
|
</template>
|
|
|
- {{m.emcee}}
|
|
|
|
|
|
|
+ 张三
|
|
|
</el-descriptions-item>
|
|
</el-descriptions-item>
|
|
|
<el-descriptions-item>
|
|
<el-descriptions-item>
|
|
|
<template slot="label">
|
|
<template slot="label">
|
|
|
<i class="el-icon-location-outline"></i>
|
|
<i class="el-icon-location-outline"></i>
|
|
|
会议地点
|
|
会议地点
|
|
|
</template>
|
|
</template>
|
|
|
- {{m.meetingPlace}}
|
|
|
|
|
|
|
+ 重庆柏玮熠办公室
|
|
|
</el-descriptions-item>
|
|
</el-descriptions-item>
|
|
|
<el-descriptions-item>
|
|
<el-descriptions-item>
|
|
|
<template slot="label">
|
|
<template slot="label">
|
|
|
- <i class="el-icon-user"></i>
|
|
|
|
|
|
|
+ <i class="el-icon-tickets"></i>
|
|
|
会议记录人
|
|
会议记录人
|
|
|
</template>
|
|
</template>
|
|
|
- {{m.recorder}}
|
|
|
|
|
|
|
+ <el-tag size="small">李四</el-tag>
|
|
|
</el-descriptions-item>
|
|
</el-descriptions-item>
|
|
|
<el-descriptions-item :span="2">
|
|
<el-descriptions-item :span="2">
|
|
|
<template slot="label">
|
|
<template slot="label">
|
|
|
- <i class="el-icon-user"></i>
|
|
|
|
|
- 参会人员
|
|
|
|
|
|
|
+ <i class="el-icon-office-building"></i>
|
|
|
|
|
+ 参会人员
|
|
|
</template>
|
|
</template>
|
|
|
- <span v-for="(item,index) in JSON.parse(m.innerAttendees)">
|
|
|
|
|
- {{item.name}}
|
|
|
|
|
- </span>
|
|
|
|
|
|
|
+ 王五、张三、小七
|
|
|
</el-descriptions-item>
|
|
</el-descriptions-item>
|
|
|
-<!-- <el-descriptions-item :span="2" >
|
|
|
|
|
|
|
+ <el-descriptions-item :span="2">
|
|
|
<template slot="label">
|
|
<template slot="label">
|
|
|
<i class="el-icon-office-building"></i>
|
|
<i class="el-icon-office-building"></i>
|
|
|
参会情况
|
|
参会情况
|
|
|
</template>
|
|
</template>
|
|
|
应到15人,实到12人
|
|
应到15人,实到12人
|
|
|
- </el-descriptions-item>-->
|
|
|
|
|
|
|
+ </el-descriptions-item>
|
|
|
</el-descriptions>
|
|
</el-descriptions>
|
|
|
<el-table
|
|
<el-table
|
|
|
- style="width: 100%" border stripe :data="tableData"
|
|
|
|
|
- :span-method="objectSpanMethod" >
|
|
|
|
|
- <el-table-column type="index" label="序号" width="60">
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
|
|
+ style="width: 100%" border stripe>
|
|
|
<el-table-column
|
|
<el-table-column
|
|
|
- prop="userName"
|
|
|
|
|
|
|
+ prop="date"
|
|
|
label="姓名" align="center"
|
|
label="姓名" align="center"
|
|
|
width="120">
|
|
width="120">
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="本周工作总结" min-width="450">
|
|
|
|
|
- <el-table-column label="工作内容" prop="taskName">
|
|
|
|
|
|
|
+ <el-table-column prop="workzongjie" label="本周工作总结" align="center" min-width="450">
|
|
|
|
|
+ <el-table-column label="工作内容" align="center">
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="是否上周遗留" width="120" prop="lastWeekFlag">
|
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
|
- <div v-if="scope.row.lastWeekFlag==='0'" style="color: darkred">是</div>
|
|
|
|
|
- <div v-else="scope.row.lastWeekFlag==='1'">否</div>
|
|
|
|
|
- </template>
|
|
|
|
|
|
|
+ <el-table-column label="是否上周遗留" align="center" width="120">
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="完成情况说明" prop="progressValue">
|
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
|
- {{scope.row.progressValue}}%
|
|
|
|
|
- </template>
|
|
|
|
|
|
|
+ <el-table-column label="完成情况说明" align="center">
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column prop="workplan" label="下周工作计划" >
|
|
|
|
|
- <el-table-column label="工作内容" >
|
|
|
|
|
|
|
+ <el-table-column prop="workplan" label="下周工作计划" align="center">
|
|
|
|
|
+ <el-table-column label="工作内容" align="center">
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column label="计划时间" width="150">
|
|
|
|
|
|
|
+ <el-table-column label="计划时间" align="center" width="150">
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column prop="pingfen" label="评分" align="center" width="85">
|
|
|
|
|
|
|
+ <el-table-column prop="pingfen" label="评分" align="center" width="85">
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
- <el-table-column prop="remark" label="备注" >
|
|
|
|
|
|
|
+ <el-table-column prop="remark" label="备注" align="center">
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
|
- <div class="app-container">
|
|
|
|
|
- <div style="display: flex;justify-content: space-between">
|
|
|
|
|
- <div style="font-size: 24px">{{ title }}</div>
|
|
|
|
|
- <el-button size="mini" @click="exportPdf" icon="el-icon-download" style="margin-right: 20px">导出</el-button>
|
|
|
|
|
- </div>
|
|
|
|
|
-
|
|
|
|
|
- <div id="pdfDom" ref="pdfDom" style="padding: 20px">
|
|
|
|
|
- <el-descriptions title="" :column="2" :size="size" border>
|
|
|
|
|
- <el-descriptions-item>
|
|
|
|
|
- <template slot="label">
|
|
|
|
|
- <i class="el-icon-user"></i>
|
|
|
|
|
- 会议时间
|
|
|
|
|
- </template>
|
|
|
|
|
- 2022-12-12 12:00:00至2022-12-12 12:00:00
|
|
|
|
|
- </el-descriptions-item>
|
|
|
|
|
- <el-descriptions-item>
|
|
|
|
|
- <template slot="label">
|
|
|
|
|
- <i class="el-icon-mobile-phone"></i>
|
|
|
|
|
- 会议主持人
|
|
|
|
|
- </template>
|
|
|
|
|
- 张三
|
|
|
|
|
- </el-descriptions-item>
|
|
|
|
|
- <el-descriptions-item>
|
|
|
|
|
- <template slot="label">
|
|
|
|
|
- <i class="el-icon-location-outline"></i>
|
|
|
|
|
- 会议地点
|
|
|
|
|
- </template>
|
|
|
|
|
- 重庆柏玮熠办公室
|
|
|
|
|
- </el-descriptions-item>
|
|
|
|
|
- <el-descriptions-item>
|
|
|
|
|
- <template slot="label">
|
|
|
|
|
- <i class="el-icon-tickets"></i>
|
|
|
|
|
- 会议记录人
|
|
|
|
|
- </template>
|
|
|
|
|
- <el-tag size="small">李四</el-tag>
|
|
|
|
|
- </el-descriptions-item>
|
|
|
|
|
- <el-descriptions-item :span="2">
|
|
|
|
|
- <template slot="label">
|
|
|
|
|
- <i class="el-icon-office-building"></i>
|
|
|
|
|
- 参会人员
|
|
|
|
|
- </template>
|
|
|
|
|
- 王五、张三、小七
|
|
|
|
|
- </el-descriptions-item>
|
|
|
|
|
- <el-descriptions-item :span="2">
|
|
|
|
|
- <template slot="label">
|
|
|
|
|
- <i class="el-icon-office-building"></i>
|
|
|
|
|
- 参会情况
|
|
|
|
|
- </template>
|
|
|
|
|
- 应到15人,实到12人
|
|
|
|
|
- </el-descriptions-item>
|
|
|
|
|
- </el-descriptions>
|
|
|
|
|
- <el-table
|
|
|
|
|
- style="width: 100%" border stripe>
|
|
|
|
|
- <el-table-column
|
|
|
|
|
- prop="date"
|
|
|
|
|
- label="姓名" align="center"
|
|
|
|
|
- width="120">
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column prop="workzongjie" label="本周工作总结" align="center" min-width="450">
|
|
|
|
|
- <el-table-column label="工作内容" align="center">
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column label="是否上周遗留" align="center" width="120">
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column label="完成情况说明" align="center">
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column prop="workplan" label="下周工作计划" align="center">
|
|
|
|
|
- <el-table-column label="工作内容" align="center">
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column label="计划时间" align="center" width="150">
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column prop="pingfen" label="评分" align="center" width="85">
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column prop="remark" label="备注" align="center">
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- </el-table>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
|
|
+</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
-
|
|
|
|
|
-import { getWeeksRecordsByWeeks } from '@/api/meeting/meeting'
|
|
|
|
|
-
|
|
|
|
|
-import {downloadPdf} from "@/api/meeting/meeting";
|
|
|
|
|
-
|
|
|
|
|
|
|
+import {downloadPdf, getWeeksRecordsByWeeks} from "@/api/meeting/meeting";
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
name: 'weeklyRecords',
|
|
name: 'weeklyRecords',
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
|
|
|
|
|
|
- title : '技术部周会',
|
|
|
|
|
|
|
+ title: '技术部周会',
|
|
|
size: '',
|
|
size: '',
|
|
|
- tableData:[],
|
|
|
|
|
- meetingId:30,
|
|
|
|
|
- weeks:46,
|
|
|
|
|
- m:{
|
|
|
|
|
- id:null,
|
|
|
|
|
|
|
+ tableData: [],
|
|
|
|
|
+ meetingId: 30,
|
|
|
|
|
+ weeks: 46,
|
|
|
|
|
+ m: {
|
|
|
|
|
+ id: null,
|
|
|
meetingName: '',
|
|
meetingName: '',
|
|
|
external: 0,
|
|
external: 0,
|
|
|
meetingType: 1,
|
|
meetingType: 1,
|
|
@@ -201,9 +110,9 @@ export default {
|
|
|
status: 1,
|
|
status: 1,
|
|
|
weeks: 46
|
|
weeks: 46
|
|
|
},
|
|
},
|
|
|
- workContents:{
|
|
|
|
|
- col:0,
|
|
|
|
|
- row:0
|
|
|
|
|
|
|
+ workContents: {
|
|
|
|
|
+ col: 0,
|
|
|
|
|
+ row: 0
|
|
|
},
|
|
},
|
|
|
spanArr: [], // 存合并行数据的数组
|
|
spanArr: [], // 存合并行数据的数组
|
|
|
pos: 0,// 合并行数据数组下标
|
|
pos: 0,// 合并行数据数组下标
|
|
@@ -215,28 +124,28 @@ export default {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
- mounted() {
|
|
|
|
|
- this.getData()
|
|
|
|
|
- },
|
|
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ exportPdf() {
|
|
|
|
|
+ downloadPdf()
|
|
|
|
|
+ },
|
|
|
getData() {
|
|
getData() {
|
|
|
- getWeeksRecordsByWeeks(this.meetingId,this.weeks).then(res => {
|
|
|
|
|
- this.tableData=res.data.workContent
|
|
|
|
|
- // this.getSpanArr(this.tableData)
|
|
|
|
|
- this.m=res.data.meeting
|
|
|
|
|
|
|
+ getWeeksRecordsByWeeks(this.meetingId, this.weeks).then(res => {
|
|
|
|
|
+ this.tableData = res.data.workContent
|
|
|
|
|
+ // this.getSpanArr(this.tableData)
|
|
|
|
|
+ this.m = res.data.meeting
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
- colMethod(columnArr, data){
|
|
|
|
|
|
|
+ colMethod(columnArr, data) {
|
|
|
let column = {}
|
|
let column = {}
|
|
|
let position = 0
|
|
let position = 0
|
|
|
//遍历合并的列的数据
|
|
//遍历合并的列的数据
|
|
|
columnArr.forEach((prop) => {
|
|
columnArr.forEach((prop) => {
|
|
|
column[prop] = []
|
|
column[prop] = []
|
|
|
- data.forEach((row,rowIndex) =>{
|
|
|
|
|
- column[prop][rowIndex]=[1,1]
|
|
|
|
|
- if(rowIndex===0){
|
|
|
|
|
- position=0
|
|
|
|
|
- }else if (row[prop] === data[rowIndex - 1][prop]) {
|
|
|
|
|
|
|
+ data.forEach((row, rowIndex) => {
|
|
|
|
|
+ column[prop][rowIndex] = [1, 1]
|
|
|
|
|
+ if (rowIndex === 0) {
|
|
|
|
|
+ position = 0
|
|
|
|
|
+ } else if (row[prop] === data[rowIndex - 1][prop]) {
|
|
|
// 当前行数据等于上一行,根据记录的行号,计算需要合并几行。
|
|
// 当前行数据等于上一行,根据记录的行号,计算需要合并几行。
|
|
|
column[prop][position][0] += 1
|
|
column[prop][position][0] += 1
|
|
|
// 当前行 隐藏不显示
|
|
// 当前行 隐藏不显示
|
|
@@ -260,11 +169,11 @@ export default {
|
|
|
|
|
|
|
|
// 先根据saleId合并第一次,将数据源根据合并下标处理为多段数据源
|
|
// 先根据saleId合并第一次,将数据源根据合并下标处理为多段数据源
|
|
|
let newData = []
|
|
let newData = []
|
|
|
- saleIdArr.saleId.forEach( (item, index) => {
|
|
|
|
|
|
|
+ saleIdArr.saleId.forEach((item, index) => {
|
|
|
if (item[0] > 0) {
|
|
if (item[0] > 0) {
|
|
|
let res = []
|
|
let res = []
|
|
|
for (let i = 0; i < item[0]; i++) {
|
|
for (let i = 0; i < item[0]; i++) {
|
|
|
- res.push(dataBase.slice(0,1)[0])
|
|
|
|
|
|
|
+ res.push(dataBase.slice(0, 1)[0])
|
|
|
this.$delete(dataBase, 0)
|
|
this.$delete(dataBase, 0)
|
|
|
}
|
|
}
|
|
|
newData.push(res)
|
|
newData.push(res)
|
|
@@ -282,7 +191,7 @@ export default {
|
|
|
|
|
|
|
|
// 处理time合并行
|
|
// 处理time合并行
|
|
|
let finishRes = []
|
|
let finishRes = []
|
|
|
- outArr.forEach( item => {
|
|
|
|
|
|
|
+ outArr.forEach(item => {
|
|
|
if (item.length > 1) {
|
|
if (item.length > 1) {
|
|
|
for (let i = 0; i < item.length; i++) {
|
|
for (let i = 0; i < item.length; i++) {
|
|
|
finishRes.push(item[i])
|
|
finishRes.push(item[i])
|
|
@@ -300,37 +209,37 @@ export default {
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
- getSpanArr(data){
|
|
|
|
|
|
|
+ getSpanArr(data) {
|
|
|
// 重新查询后,要清空行数据数组、序号重置为1
|
|
// 重新查询后,要清空行数据数组、序号重置为1
|
|
|
this.spanArr = []
|
|
this.spanArr = []
|
|
|
this.rowIndex = 1
|
|
this.rowIndex = 1
|
|
|
- for (let i = 0; i < data.length; i++){
|
|
|
|
|
- let executor=data[i].executor;
|
|
|
|
|
|
|
+ for (let i = 0; i < data.length; i++) {
|
|
|
|
|
+ let executor = data[i].executor;
|
|
|
if (i === 0) {
|
|
if (i === 0) {
|
|
|
this.spanArr.push(1)
|
|
this.spanArr.push(1)
|
|
|
this.pos = 0
|
|
this.pos = 0
|
|
|
data[i].serialNo = this.rowIndex
|
|
data[i].serialNo = this.rowIndex
|
|
|
this.rowIndex++
|
|
this.rowIndex++
|
|
|
- } else{
|
|
|
|
|
- if(data[i].executor===data[i-1].executor){
|
|
|
|
|
- this.spanArr.push[this.pos]+=1
|
|
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if (data[i].executor === data[i - 1].executor) {
|
|
|
|
|
+ this.spanArr.push[this.pos] += 1
|
|
|
this.spanArr.push(0)
|
|
this.spanArr.push(0)
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
this.spanArr.push(1)
|
|
this.spanArr.push(1)
|
|
|
- this.pos=i
|
|
|
|
|
- data[i].serialNo= this.rowIndex
|
|
|
|
|
|
|
+ this.pos = i
|
|
|
|
|
+ data[i].serialNo = this.rowIndex
|
|
|
this.rowIndex++
|
|
this.rowIndex++
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
- objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
|
|
|
|
|
|
+ objectSpanMethod({row, column, rowIndex, columnIndex}) {
|
|
|
let arr = this.mergeArr[column.property] || []
|
|
let arr = this.mergeArr[column.property] || []
|
|
|
if (column.type == 'index' && this.mergeArr['id'])
|
|
if (column.type == 'index' && this.mergeArr['id'])
|
|
|
return this.mergeArr['id'][rowIndex]
|
|
return this.mergeArr['id'][rowIndex]
|
|
|
else if (arr.length) return arr[rowIndex]
|
|
else if (arr.length) return arr[rowIndex]
|
|
|
- else[1, 1]
|
|
|
|
|
|
|
+ else [1, 1]
|
|
|
},
|
|
},
|
|
|
indexObj() {
|
|
indexObj() {
|
|
|
let num = 0;
|
|
let num = 0;
|
|
@@ -340,13 +249,9 @@ export default {
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
-
|
|
|
|
|
- },
|
|
|
|
|
- downloadPdf(){
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
-</template>
|
|
|