| | |
| | | <ChartTitle name="订单完成比率"></ChartTitle> |
| | | </div> |
| | | <div class="list-view"> |
| | | <!-- <ul> --> |
| | | <template v-for="item in tableList"> |
| | | <div class="table-bg-view"> |
| | | <div class="left">{{ item.title }}</div> |
| | |
| | | :define-back-color="'#083f55'" |
| | | :text-color="'#fec718'" |
| | | ></el-progress> |
| | | <!-- <div class="container"> |
| | | <div class="item" v-for="i in 40" :key="i"></div> |
| | | </div> --> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <!-- </ul> --> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | ], |
| | | }; |
| | | }, |
| | | mounted() { |
| | | console.log(this.$refs.middle.$el, "sssssssss"); |
| | | }, |
| | | mounted() {}, |
| | | watch: {}, |
| | | methods: {}, |
| | | }; |
New file |
| | |
| | | <template> |
| | | <div class="work-order-progress"> |
| | | <div class="bar-contents"> |
| | | <div class="top-view"> |
| | | <img src="/cockpitPage/work-order-top.png" alt="" /> |
| | | <div class="top-title"> |
| | | <span>工单进度统计</span> |
| | | <span class="top-rate">{{ "60%" }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="table-box"> |
| | | <el-table :data="tableData" style="width: 100%"> |
| | | <el-table-column |
| | | prop="workOrderId" |
| | | label="工单编号" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="product" |
| | | label="产品" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="productSpecs" |
| | | label="产品规格" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="amount" |
| | | label="生产数量" |
| | | align="center" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="planTime" |
| | | label="计划时间" |
| | | align="center" |
| | | min-width="100" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column label="完成进度" align="center" min-width="160"> |
| | | <template slot-scope="scope"> |
| | | <div class="progerss-bg"> |
| | | <div |
| | | v-for="item in scope.row.completeProgerss" |
| | | class="progerss" |
| | | :class=" |
| | | item.status == 1 |
| | | ? 'complete' |
| | | : item.status == 2 |
| | | ? 'producing' |
| | | : 'noStart' |
| | | " |
| | | :style="`width: ${ |
| | | (1 / scope.row.completeProgerss.length) * 100 |
| | | }%`" |
| | | ></div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="延期预警" align="center"> |
| | | <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> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <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, |
| | | }, |
| | | ], |
| | | }; |
| | | }, |
| | | mounted() {}, |
| | | watch: {}, |
| | | methods: {}, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .work-order-progress { |
| | | width: 100%; |
| | | height: calc(100% - 10px); |
| | | .bar-contents { |
| | | width: calc(100% - 5px); |
| | | height: 100%; |
| | | border: 1px solid #00ffff; |
| | | box-sizing: border-box; |
| | | position: relative; |
| | | .top-view { |
| | | width: 33%; |
| | | margin-top: -1px; |
| | | margin-left: -1px; |
| | | position: relative; |
| | | .top-title { |
| | | width: 100%; |
| | | position: absolute; |
| | | top: 20%; |
| | | left: 0; |
| | | margin: auto; |
| | | color: #01f7fd; |
| | | font-size: 14px; |
| | | font-family: "Arial Negreta", "Arial Normal", "Arial"; |
| | | font-weight: 700; |
| | | padding-left: 30px; |
| | | .top-rate { |
| | | margin-left: 15px; |
| | | color: #fec718; |
| | | } |
| | | } |
| | | } |
| | | .table-box { |
| | | padding: 20px 15px; |
| | | .progerss-bg { |
| | | width: 100%; |
| | | height: 22px; |
| | | background: #364459; |
| | | display: flex; |
| | | border: 1px solid #00ffff; |
| | | .progerss { |
| | | background: #fec718; |
| | | height: 100%; |
| | | border-right: 1px solid #00ffff; |
| | | &:last-child { |
| | | border-right: 0px; |
| | | } |
| | | } |
| | | .complete { |
| | | background: #00cc0077; |
| | | } |
| | | .producing { |
| | | background: #33ccff77; |
| | | } |
| | | .noStart { |
| | | background-color: transparent; |
| | | } |
| | | } |
| | | .round-view { |
| | | display: flex; |
| | | justify-content: center; |
| | | color: #ff0000; |
| | | .round { |
| | | width: 22px; |
| | | height: 22px; |
| | | border-radius: 11px; |
| | | background: #ff0000; |
| | | margin-right: 5px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | ::v-deep { |
| | | //修改表头的背景颜色横向渐变色 |
| | | .el-table { |
| | | thead { |
| | | color: #fff; |
| | | font-weight: 500; |
| | | background: linear-gradient(to right, #081630, #076c80) !important; |
| | | & th { |
| | | background-color: transparent; |
| | | padding: 6px 0; |
| | | } |
| | | & tr { |
| | | background-color: transparent; |
| | | padding: 6px 0; |
| | | } |
| | | } |
| | | } |
| | | // 修改表格字体颜色 |
| | | .el-table__body td { |
| | | color: #00ffff; |
| | | } |
| | | // 设置表格背景透明 |
| | | .el-table th { |
| | | background-color: transparent !important; |
| | | &:hover { |
| | | background-color: transparent !important; |
| | | } |
| | | } |
| | | .el-table tr { |
| | | background-color: transparent !important; |
| | | &:hover { |
| | | background-color: transparent !important; |
| | | } |
| | | } |
| | | .el-table--enable-row-transition .el-table__body td, |
| | | .el-table .cell { |
| | | background-color: transparent; |
| | | } |
| | | .el-table, |
| | | .el-table__expanded-cell { |
| | | background-color: transparent; |
| | | } |
| | | .el-table__body tr:hover > td { |
| | | background-color: transparent !important; |
| | | } |
| | | // 修改横线颜色 |
| | | .el-table td.el-table__cell, |
| | | .el-table th.el-table__cell.is-leaf { |
| | | border-bottom: 1px solid #364459; |
| | | } |
| | | // 去掉底部多余横线 |
| | | .el-table::before { |
| | | display: none; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <template #leftBlock4> |
| | | <OrderCompleteRadio></OrderCompleteRadio> |
| | | </template> |
| | | <template #leftBlock5> |
| | | <WorkOrderProgress></WorkOrderProgress> |
| | | </template> |
| | | <template #leftBlock6> |
| | | <PerSonnelProductivity |
| | | @should-reload="reloadAllData" |
| | |
| | | import MaterialChart from "@/views/cockpitPage/components/MaterialChart.vue"; |
| | | import BarChart from "@/views/cockpitPage/components/BarChart.vue"; |
| | | import OrderCompleteRadio from "@/views/cockpitPage/components/OrderCompleteRadio"; |
| | | import WorkOrderProgress from "@/views/cockpitPage/components/WorkOrderProgress"; |
| | | export default { |
| | | components: { |
| | | StatisticalBox, |
| | |
| | | MachineStartupRate, |
| | | CountView, |
| | | OrderCompleteRadio, |
| | | WorkOrderProgress, |
| | | }, |
| | | props: {}, |
| | | data() { |