| | |
| | | <img src="/cockpitPage/work-order-top.png" alt="" /> |
| | | <div class="top-title"> |
| | | <span>工单进度统计</span> |
| | | <span class="top-rate">{{ "60%" }}</span> |
| | | <span class="top-rate">{{ workOrderFinishRate + "%" }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="table-box"> |
| | | <el-table :data="tableData" style="width: 100%"> |
| | | <el-table |
| | | ref="table" |
| | | :data="tableData" |
| | | style="width: 100%" |
| | | height="100%" |
| | | > |
| | | <el-table-column |
| | | prop="workOrderId" |
| | | prop="Number" |
| | | label="工单编号" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="product" |
| | | prop="Product" |
| | | label="产品" |
| | | align="center" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="productSpecs" |
| | | prop="Scale" |
| | | label="产品规格" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="amount" |
| | | prop="Amount" |
| | | label="生产数量" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="planTime" |
| | | prop="PlanTime" |
| | | label="计划时间" |
| | | align="center" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column label="完成进度" align="center" min-width="160"> |
| | | <el-table-column label="完成进度" align="center" min-width="130"> |
| | | <template slot-scope="scope"> |
| | | <div class="progerss-bg"> |
| | | <div |
| | | v-for="item in scope.row.completeProgerss" |
| | | v-for="(item, index) in scope.row.completeProgerss" |
| | | class="progerss" |
| | | :class=" |
| | | item.status == 1 |
| | |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="延期预警" align="center"> |
| | | <el-table-column label="延期预警" align="center" width="90"> |
| | | <template slot-scope="scope"> |
| | | <div v-show="scope.row.delayWarning > 0" class="round-view"> |
| | | <div class="round"></div> |
| | | <div class="title">{{ scope.row.delayWarning + "天" }}</div> |
| | | <div v-show="scope.row.DelayDays > 0" class="round-view"> |
| | | <div class="round red-bg"></div> |
| | | <div class="title red-color"> |
| | | {{ scope.row.DelayDays > 10 ? ">10" : scope.row.DelayDays |
| | | }}{{ "天" }} |
| | | </div> |
| | | </div> |
| | | <div v-show="scope.row.DelayDays < 0" class="round-view"> |
| | | <div class="round green-bg"></div> |
| | | <div class="title green-color"> |
| | | {{ scope.row.DelayDays + "天" }} |
| | | </div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <script> |
| | | export default { |
| | | components: {}, |
| | | props: {}, |
| | | data() { |
| | | return { |
| | | tableData: [ |
| | | { |
| | | workOrderId: "A5435", |
| | | product: "产品1", |
| | | productSpecs: "规格", |
| | | amount: "2000", |
| | | planTime: "02-23~05-23", |
| | | completeProgerss: [ |
| | | { status: 1 }, |
| | | { status: 1 }, |
| | | { status: 2 }, |
| | | { status: 0 }, |
| | | ], |
| | | delayWarning: 3, |
| | | }, |
| | | { |
| | | workOrderId: "A5435", |
| | | product: "产品1", |
| | | productSpecs: "规格", |
| | | amount: "2000", |
| | | planTime: "02-23~05-23", |
| | | completeProgerss: [ |
| | | { status: 1 }, |
| | | { status: 1 }, |
| | | { status: 2 }, |
| | | { status: 0 }, |
| | | ], |
| | | delayWarning: 0, |
| | | }, |
| | | { |
| | | workOrderId: "A5435", |
| | | product: "产品1", |
| | | productSpecs: "规格", |
| | | amount: "2000", |
| | | planTime: "02-23~05-23", |
| | | completeProgerss: [ |
| | | { status: 1 }, |
| | | { status: 1 }, |
| | | { status: 1 }, |
| | | { status: 1 }, |
| | | { status: 1 }, |
| | | { status: 1 }, |
| | | { status: 1 }, |
| | | { status: 1 }, |
| | | { status: 2 }, |
| | | { status: 0 }, |
| | | ], |
| | | delayWarning: 2, |
| | | }, |
| | | { |
| | | workOrderId: "A5435", |
| | | product: "产品1", |
| | | productSpecs: "规格", |
| | | amount: "2000", |
| | | planTime: "02-23~05-23", |
| | | completeProgerss: [ |
| | | { status: 1 }, |
| | | { status: 1 }, |
| | | { status: 2 }, |
| | | { status: 0 }, |
| | | ], |
| | | delayWarning: 0, |
| | | }, |
| | | ], |
| | | }; |
| | | props: { |
| | | tableData: { |
| | | type: Array, |
| | | default: () => [], |
| | | }, |
| | | workOrderFinishRate: { |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | }, |
| | | mounted() {}, |
| | | data() { |
| | | return {}; |
| | | }, |
| | | mounted() { |
| | | this.setAutoScroll(); |
| | | }, |
| | | watch: {}, |
| | | methods: {}, |
| | | methods: { |
| | | // 实现自动滚动的方法 |
| | | setAutoScroll() { |
| | | // 拿到表格挂载后的真实DOM |
| | | const table = this.$refs.table; |
| | | // 拿到表格中承载数据的div元素 |
| | | const divData = table.bodyWrapper; |
| | | // 拿到元素后,对元素进行定时增加距离顶部距离,实现滚动效果(此配置为每100毫秒移动1像素) |
| | | setInterval(() => { |
| | | // 元素自增距离顶部1像素 |
| | | divData.scrollTop += 1; |
| | | // 判断元素是否滚动到底部(可视高度+距离顶部=整个高度) |
| | | if (divData.clientHeight + divData.scrollTop == divData.scrollHeight) { |
| | | // 重置table距离顶部距离 |
| | | divData.scrollTop = 0; |
| | | } |
| | | }, 200); // 滚动速度 |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | } |
| | | .table-box { |
| | | padding: 20px 15px; |
| | | height: calc(100% - 75px); |
| | | overflow: hidden; |
| | | .progerss-bg { |
| | | width: 100%; |
| | | height: 22px; |
| | |
| | | .round-view { |
| | | display: flex; |
| | | justify-content: center; |
| | | color: #ff0000; |
| | | align-items: center; |
| | | .round { |
| | | width: 22px; |
| | | height: 22px; |
| | | border-radius: 11px; |
| | | background: #ff0000; |
| | | width: 16px; |
| | | height: 16px; |
| | | border-radius: 8px; |
| | | margin-right: 5px; |
| | | } |
| | | .red-bg { |
| | | background: #ff0000; |
| | | } |
| | | .green-bg { |
| | | background: #00cc00; |
| | | } |
| | | .red-color { |
| | | color: #ff0000; |
| | | } |
| | | .green-color { |
| | | color: #00cc00; |
| | | } |
| | | } |
| | | } |
| | |
| | | // 修改表格字体颜色 |
| | | .el-table__body td { |
| | | color: #00ffff; |
| | | padding: 8px 0; |
| | | } |
| | | // 设置表格背景透明 |
| | | .el-table th { |
| | |
| | | .el-table::before { |
| | | display: none; |
| | | } |
| | | // 保留垂直滚动且隐藏滚动条 |
| | | .el-table__body-wrapper::-webkit-scrollbar { |
| | | width: 0px; |
| | | height: 0px; |
| | | } |
| | | } |
| | | </style> |