|
|
@@ -6,7 +6,7 @@
|
|
|
<el-col :span="6" class="bg1-1">
|
|
|
<el-row :span="24" class="bg1-1-1">
|
|
|
<div class="box-company-title">
|
|
|
- <div class="company-title">木之云数字化平台</div>
|
|
|
+ <div class="company-title">{{ systemName }}</div>
|
|
|
</div>
|
|
|
</el-row>
|
|
|
<el-row :span="24" class="bg1-1-2">
|
|
|
@@ -30,7 +30,8 @@
|
|
|
<el-col :span="12" class="bg1-2">
|
|
|
<el-row :span="24" class="bg1-2-1">
|
|
|
<div ref="boxnoticetitle" class="box-notice-title" @dblclick="doubleClick">
|
|
|
- <div ref="noticetitle" :class="isTran ? 'notice-title notice-title-animation' : 'notice-title'">{{ noticeContent }}</div>
|
|
|
+ <div ref="noticetitle" :class="isTran ? 'notice-title notice-title-animation' : 'notice-title'">{{
|
|
|
+ noticeContent }}</div>
|
|
|
</div>
|
|
|
</el-row>
|
|
|
<el-row :span="24" class="bg1-2-2">
|
|
|
@@ -58,45 +59,20 @@
|
|
|
<el-row :span="24" class="bg1-2-3">
|
|
|
<div class="box-contract-table">
|
|
|
<div class="contract-table table">
|
|
|
- <el-table
|
|
|
- ref="contractProdTable"
|
|
|
- :data="contractProdList"
|
|
|
- height="100%"
|
|
|
- :row-class-name="contractProdListAddClass"
|
|
|
- style="width: 100%"
|
|
|
- >
|
|
|
+ <el-table ref="contractProdTable" :data="contractProdList" height="100%"
|
|
|
+ :row-class-name="contractProdListAddClass" style="width: 100%">
|
|
|
<el-table-column type="index" label="序号"></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="orderCode"
|
|
|
- label="合同号"
|
|
|
- ></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="productName"
|
|
|
- label="物料名称"
|
|
|
- ></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="prodCode"
|
|
|
- label="物料编号"
|
|
|
- ></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="batchNo"
|
|
|
- label="批次号"
|
|
|
- ></el-table-column>
|
|
|
+ <el-table-column prop="orderCode" label="合同号"></el-table-column>
|
|
|
+ <el-table-column prop="productName" label="物料名称"></el-table-column>
|
|
|
+ <el-table-column prop="prodCode" label="物料编号"></el-table-column>
|
|
|
+ <el-table-column prop="batchNo" label="批次号"></el-table-column>
|
|
|
<el-table-column label="生产进度" width="180">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-progress
|
|
|
- :percentage="parseInt(scope.row.progressBar)"
|
|
|
- ></el-progress>
|
|
|
+ <el-progress :percentage="parseInt(scope.row.progressBar)"></el-progress>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="customerName"
|
|
|
- label="客户名称"
|
|
|
- ></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="curOperator"
|
|
|
- label="当前操作人"
|
|
|
- ></el-table-column>
|
|
|
+ <el-table-column prop="customerName" label="客户名称"></el-table-column>
|
|
|
+ <el-table-column prop="curOperator" label="当前操作人"></el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -112,25 +88,13 @@
|
|
|
<div class="box-custom-ranking">
|
|
|
<div class="custom-ranking">
|
|
|
<div class="table">
|
|
|
- <el-table
|
|
|
- ref="customerRankTable"
|
|
|
- :data="customerRankList"
|
|
|
- height="100%"
|
|
|
- row-class-name="custom-ranking-table-row"
|
|
|
- style="width: 100%"
|
|
|
- >
|
|
|
- <el-table-column
|
|
|
- prop="customerName"
|
|
|
- label="客户名称"
|
|
|
- ></el-table-column>
|
|
|
+ <el-table ref="customerRankTable" :data="customerRankList" height="100%"
|
|
|
+ row-class-name="custom-ranking-table-row" style="width: 100%">
|
|
|
+ <el-table-column prop="customerName" label="客户名称"></el-table-column>
|
|
|
<el-table-column label="合同金额占比">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-progress
|
|
|
- :text-inside="true"
|
|
|
- :stroke-width="16"
|
|
|
- :percentage="scope.row.percentage * 100"
|
|
|
- status="success"
|
|
|
- ></el-progress>
|
|
|
+ <el-progress :text-inside="true" :stroke-width="16" :percentage="scope.row.percentage * 100"
|
|
|
+ status="success"></el-progress>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
@@ -151,32 +115,14 @@
|
|
|
<div class="box-contract-alert">
|
|
|
<div class="contract-alert">
|
|
|
<div class="table">
|
|
|
- <el-table
|
|
|
- ref="contractAlarmTable"
|
|
|
- :data="contractAlarmList"
|
|
|
- height="100%"
|
|
|
- row-class-name="custom-ranking-table-row"
|
|
|
- style="width: 100%"
|
|
|
- >
|
|
|
+ <el-table ref="contractAlarmTable" :data="contractAlarmList" height="100%"
|
|
|
+ row-class-name="custom-ranking-table-row" style="width: 100%">
|
|
|
<el-table-column type="index" label="序号"></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="contractNumber"
|
|
|
- label="合同号"
|
|
|
- ></el-table-column>
|
|
|
+ <el-table-column prop="contractNumber" label="合同号"></el-table-column>
|
|
|
<!-- <el-table-column prop="orderCode" label="任务单号"></el-table-column> -->
|
|
|
- <el-table-column
|
|
|
- prop="remainTime"
|
|
|
- label="剩余时间(天)"
|
|
|
- width="100"
|
|
|
- ></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="deliveryTime"
|
|
|
- label="交付日期"
|
|
|
- ></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="customerName"
|
|
|
- label="客户名称"
|
|
|
- ></el-table-column>
|
|
|
+ <el-table-column prop="remainTime" label="剩余时间(天)" width="100"></el-table-column>
|
|
|
+ <el-table-column prop="deliveryTime" label="交付日期"></el-table-column>
|
|
|
+ <el-table-column prop="customerName" label="客户名称"></el-table-column>
|
|
|
<!-- <el-table-column prop="salesmenName" label="业务员"></el-table-column> -->
|
|
|
</el-table>
|
|
|
</div>
|
|
|
@@ -194,32 +140,14 @@
|
|
|
<div class="box-contract-alert">
|
|
|
<div class="contract-alert">
|
|
|
<div class="table">
|
|
|
- <el-table
|
|
|
- ref="damageTable"
|
|
|
- :data="damageList"
|
|
|
- height="100%"
|
|
|
- row-class-name="custom-ranking-table-row"
|
|
|
- style="width: 100%"
|
|
|
- >
|
|
|
+ <el-table ref="damageTable" :data="damageList" height="100%" row-class-name="custom-ranking-table-row"
|
|
|
+ style="width: 100%">
|
|
|
<el-table-column type="index" label="序号"></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="productName"
|
|
|
- label="物料"
|
|
|
- ></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="prodCode"
|
|
|
- label="编号"
|
|
|
- ></el-table-column>
|
|
|
+ <el-table-column prop="productName" label="物料"></el-table-column>
|
|
|
+ <el-table-column prop="prodCode" label="编号"></el-table-column>
|
|
|
<!-- <el-table-column prop="damageReason" label="原因"></el-table-column> -->
|
|
|
- <el-table-column
|
|
|
- prop="liableUserName"
|
|
|
- label="报损人"
|
|
|
- width="80"
|
|
|
- ></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="createTime"
|
|
|
- label="报损时间"
|
|
|
- ></el-table-column>
|
|
|
+ <el-table-column prop="liableUserName" label="报损人" width="80"></el-table-column>
|
|
|
+ <el-table-column prop="createTime" label="报损时间"></el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -236,31 +164,13 @@
|
|
|
<div class="box-contract-alert">
|
|
|
<div class="contract-alert">
|
|
|
<div class="table">
|
|
|
- <el-table
|
|
|
- ref="submittedRecordTable"
|
|
|
- :data="submittedRecordList"
|
|
|
- height="100%"
|
|
|
- row-class-name="custom-ranking-table-row"
|
|
|
- style="width: 100%"
|
|
|
- >
|
|
|
+ <el-table ref="submittedRecordTable" :data="submittedRecordList" height="100%"
|
|
|
+ row-class-name="custom-ranking-table-row" style="width: 100%">
|
|
|
<el-table-column type="index" label="序号"></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="nodeName"
|
|
|
- label="工序"
|
|
|
- width="70"
|
|
|
- ></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="taskName"
|
|
|
- label="物料名字"
|
|
|
- ></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="endTime"
|
|
|
- label="完成时间"
|
|
|
- ></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="operatorName"
|
|
|
- label="操作人名字"
|
|
|
- ></el-table-column>
|
|
|
+ <el-table-column prop="nodeName" label="工序" width="70"></el-table-column>
|
|
|
+ <el-table-column prop="taskName" label="物料名字"></el-table-column>
|
|
|
+ <el-table-column prop="endTime" label="完成时间"></el-table-column>
|
|
|
+ <el-table-column prop="operatorName" label="操作人名字"></el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -277,31 +187,13 @@
|
|
|
<div class="box-contract-alert">
|
|
|
<div class="contract-alert">
|
|
|
<div class="table">
|
|
|
- <el-table
|
|
|
- ref="outboundRecordTable"
|
|
|
- :data="outboundRecordList"
|
|
|
- height="100%"
|
|
|
- row-class-name="custom-ranking-table-row"
|
|
|
- style="width: 100%"
|
|
|
- >
|
|
|
+ <el-table ref="outboundRecordTable" :data="outboundRecordList" height="100%"
|
|
|
+ row-class-name="custom-ranking-table-row" style="width: 100%">
|
|
|
<el-table-column type="index" label="序号"></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="materialName"
|
|
|
- label="物品"
|
|
|
- ></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="cnt"
|
|
|
- label="数量"
|
|
|
- width="50"
|
|
|
- ></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="createTime"
|
|
|
- label="时间"
|
|
|
- ></el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="applicant"
|
|
|
- label="申请人"
|
|
|
- ></el-table-column>
|
|
|
+ <el-table-column prop="materialName" label="物品"></el-table-column>
|
|
|
+ <el-table-column prop="cnt" label="数量" width="50"></el-table-column>
|
|
|
+ <el-table-column prop="createTime" label="时间"></el-table-column>
|
|
|
+ <el-table-column prop="applicant" label="申请人"></el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -336,9 +228,14 @@ import {
|
|
|
getProduceCensus
|
|
|
} from '@/api/home'
|
|
|
export default {
|
|
|
+ computed: {
|
|
|
+ systemName() {
|
|
|
+ return (window.SITE_CONFIG && window.SITE_CONFIG.systemName) || '木之云数字化平台';
|
|
|
+ }
|
|
|
+ },
|
|
|
name: 'admin',
|
|
|
components: {},
|
|
|
- data () {
|
|
|
+ data() {
|
|
|
return {
|
|
|
analytics: {
|
|
|
clients: '', // 客户数
|
|
|
@@ -380,7 +277,7 @@ export default {
|
|
|
isTran: false
|
|
|
}
|
|
|
},
|
|
|
- created () {
|
|
|
+ created() {
|
|
|
this.getAnalytics()
|
|
|
this.analyticsTimer = setInterval(this.getAnalytics, 1000 * 3600) // 1小时刷新
|
|
|
|
|
|
@@ -427,7 +324,7 @@ export default {
|
|
|
|
|
|
this.setTitleScroll()
|
|
|
},
|
|
|
- mounted () {
|
|
|
+ mounted() {
|
|
|
this.contractProdTableScroll()
|
|
|
this.customerRankTableScroll()
|
|
|
this.contractAlarmTableScroll()
|
|
|
@@ -435,7 +332,7 @@ export default {
|
|
|
this.submittedRecordTableScroll()
|
|
|
this.damageTableScroll()
|
|
|
},
|
|
|
- beforeDestroy () {
|
|
|
+ beforeDestroy() {
|
|
|
clearInterval(this.analyticsTimer)
|
|
|
clearInterval(this.contractAlarmListTimer)
|
|
|
clearInterval(this.damageListTimer)
|
|
|
@@ -446,7 +343,7 @@ export default {
|
|
|
clearInterval(this.produceCensusTimer)
|
|
|
},
|
|
|
methods: {
|
|
|
- setTitleScroll () {
|
|
|
+ setTitleScroll() {
|
|
|
this.$nextTick(() => {
|
|
|
let boxWidth = this.$refs.boxnoticetitle.offsetWidth
|
|
|
let contentWidth = this.$refs.noticetitle.offsetWidth
|
|
|
@@ -456,7 +353,7 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- getNoticeContent () {
|
|
|
+ getNoticeContent() {
|
|
|
let content = sessionStorage.getItem('noticeContent')
|
|
|
if (content == null || content === '') {
|
|
|
content = '双击此处修改通知内容'
|
|
|
@@ -464,17 +361,17 @@ export default {
|
|
|
|
|
|
this.noticeContent = content
|
|
|
},
|
|
|
- doubleClick () {
|
|
|
+ doubleClick() {
|
|
|
this.dialogFormVisible = true
|
|
|
},
|
|
|
- dialogSubmit () {
|
|
|
+ dialogSubmit() {
|
|
|
this.noticeContent = this.noticeForm.content
|
|
|
this.dialogFormVisible = false
|
|
|
sessionStorage.setItem('noticeContent', this.noticeContent)
|
|
|
this.setTitleScroll()
|
|
|
},
|
|
|
// 合同统计
|
|
|
- getAnalytics () {
|
|
|
+ getAnalytics() {
|
|
|
getAnalytics({}).then(({ data }) => {
|
|
|
if (data && data.code === '200') {
|
|
|
this.analytics = { ...data.data }
|
|
|
@@ -482,7 +379,7 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
// 合同预警列表
|
|
|
- getContractAlarmList () {
|
|
|
+ getContractAlarmList() {
|
|
|
let params = {
|
|
|
current: 1,
|
|
|
size: 20
|
|
|
@@ -494,7 +391,7 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
// 客户排名列表
|
|
|
- getCustomerRankList () {
|
|
|
+ getCustomerRankList() {
|
|
|
let params = {
|
|
|
current: 1,
|
|
|
size: 20
|
|
|
@@ -506,7 +403,7 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
// 报损记录列表
|
|
|
- getDamageList () {
|
|
|
+ getDamageList() {
|
|
|
let params = {
|
|
|
current: 1,
|
|
|
size: 20
|
|
|
@@ -518,7 +415,7 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
// 出库记录列表
|
|
|
- getOutboundRecordList () {
|
|
|
+ getOutboundRecordList() {
|
|
|
let params = {
|
|
|
current: 1,
|
|
|
size: 20
|
|
|
@@ -530,7 +427,7 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
// 合同生产记录列表
|
|
|
- getContractProdList () {
|
|
|
+ getContractProdList() {
|
|
|
let params = {
|
|
|
current: 1,
|
|
|
size: 20
|
|
|
@@ -541,7 +438,7 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- contractProdListAddClass ({row, rowIndex}) {
|
|
|
+ contractProdListAddClass({ row, rowIndex }) {
|
|
|
if (row.warningState === '3') {
|
|
|
return 'custom-ranking-table-row overdue-row'
|
|
|
}
|
|
|
@@ -553,7 +450,7 @@ export default {
|
|
|
return 'custom-ranking-table-row'
|
|
|
},
|
|
|
// 报工列表
|
|
|
- getSubmittedRecordList () {
|
|
|
+ getSubmittedRecordList() {
|
|
|
let params = {
|
|
|
current: 1,
|
|
|
size: 20
|
|
|
@@ -565,14 +462,14 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
// 生产统计
|
|
|
- getProduceCensus () {
|
|
|
+ getProduceCensus() {
|
|
|
getProduceCensus({}).then(({ data }) => {
|
|
|
if (data && data.code === '200') {
|
|
|
this.produceCensus = data.data
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- contractProdTableScroll () {
|
|
|
+ contractProdTableScroll() {
|
|
|
this.$nextTick(() => {
|
|
|
const divData = this.$refs.contractProdTable.bodyWrapper
|
|
|
setInterval(() => {
|
|
|
@@ -586,7 +483,7 @@ export default {
|
|
|
}, 50)
|
|
|
})
|
|
|
},
|
|
|
- customerRankTableScroll () {
|
|
|
+ customerRankTableScroll() {
|
|
|
this.$nextTick(() => {
|
|
|
const divData = this.$refs.customerRankTable.bodyWrapper
|
|
|
setInterval(() => {
|
|
|
@@ -600,7 +497,7 @@ export default {
|
|
|
}, 50)
|
|
|
})
|
|
|
},
|
|
|
- contractAlarmTableScroll () {
|
|
|
+ contractAlarmTableScroll() {
|
|
|
this.$nextTick(() => {
|
|
|
const divData = this.$refs.contractAlarmTable.bodyWrapper
|
|
|
setInterval(() => {
|
|
|
@@ -614,7 +511,7 @@ export default {
|
|
|
}, 50)
|
|
|
})
|
|
|
},
|
|
|
- outboundRecordTableScroll () {
|
|
|
+ outboundRecordTableScroll() {
|
|
|
this.$nextTick(() => {
|
|
|
const divData = this.$refs.outboundRecordTable.bodyWrapper
|
|
|
setInterval(() => {
|
|
|
@@ -628,7 +525,7 @@ export default {
|
|
|
}, 50)
|
|
|
})
|
|
|
},
|
|
|
- submittedRecordTableScroll () {
|
|
|
+ submittedRecordTableScroll() {
|
|
|
this.$nextTick(() => {
|
|
|
const divData = this.$refs.submittedRecordTable.bodyWrapper
|
|
|
setInterval(() => {
|
|
|
@@ -642,7 +539,7 @@ export default {
|
|
|
}, 50)
|
|
|
})
|
|
|
},
|
|
|
- damageTableScroll () {
|
|
|
+ damageTableScroll() {
|
|
|
this.$nextTick(() => {
|
|
|
const divData = this.$refs.damageTable.bodyWrapper
|
|
|
setInterval(() => {
|
|
|
@@ -657,7 +554,7 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
// 全屏显示
|
|
|
- fullScreen () {
|
|
|
+ fullScreen() {
|
|
|
const element = document.getElementById('content')
|
|
|
element.requestFullscreen()
|
|
|
}
|
|
|
@@ -684,7 +581,7 @@ body,
|
|
|
}
|
|
|
|
|
|
.el-table .warning-row {
|
|
|
- color:#FFD700;
|
|
|
+ color: #FFD700;
|
|
|
}
|
|
|
|
|
|
.el-table .overdue-row {
|
|
|
@@ -692,7 +589,6 @@ body,
|
|
|
}
|
|
|
</style>
|
|
|
<style scoped>
|
|
|
-
|
|
|
.mod-home {
|
|
|
/* line-height: 1.5; */
|
|
|
height: 100%;
|
|
|
@@ -853,22 +749,24 @@ body,
|
|
|
animation: wordsLoop 25s linear infinite normal;
|
|
|
}
|
|
|
|
|
|
-@keyframes wordsLoop{
|
|
|
+@keyframes wordsLoop {
|
|
|
0% {
|
|
|
transform: translateX(0);
|
|
|
-webkit-transform: translateX(0);
|
|
|
}
|
|
|
+
|
|
|
100% {
|
|
|
transform: translateX(-51%);
|
|
|
-webkit-transform: translateX(-51%);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-@-webkit-keyframes wordsLoop{
|
|
|
+@-webkit-keyframes wordsLoop {
|
|
|
0% {
|
|
|
transform: translateX(0);
|
|
|
-webkit-transform: translateX(0);
|
|
|
}
|
|
|
+
|
|
|
100% {
|
|
|
transform: translateX(-51%);
|
|
|
-webkit-transform: translateX(-51%);
|
|
|
@@ -891,18 +789,18 @@ body,
|
|
|
width: 100%;
|
|
|
}
|
|
|
|
|
|
-.stat-number > .item {
|
|
|
+.stat-number>.item {
|
|
|
height: 80%;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
justify-content: space-around;
|
|
|
}
|
|
|
|
|
|
-.stat-number > .item > .title {
|
|
|
+.stat-number>.item>.title {
|
|
|
color: darkturquoise;
|
|
|
}
|
|
|
|
|
|
-.stat-number > .item > .number {
|
|
|
+.stat-number>.item>.number {
|
|
|
text-align: center;
|
|
|
}
|
|
|
|
|
|
@@ -954,7 +852,7 @@ body,
|
|
|
height: 100%;
|
|
|
}
|
|
|
|
|
|
-.custom-ranking > .table {
|
|
|
+.custom-ranking>.table {
|
|
|
background-color: darkturquoise;
|
|
|
height: 100%;
|
|
|
width: 100%;
|
|
|
@@ -990,7 +888,7 @@ body,
|
|
|
height: 100%;
|
|
|
}
|
|
|
|
|
|
-.contract-alert > .title > div {
|
|
|
+.contract-alert>.title>div {
|
|
|
background-color: #415065;
|
|
|
width: 100%;
|
|
|
display: flex;
|
|
|
@@ -999,7 +897,7 @@ body,
|
|
|
text-align: justify;
|
|
|
}
|
|
|
|
|
|
-.contract-alert > .table {
|
|
|
+.contract-alert>.table {
|
|
|
background-color: darkturquoise;
|
|
|
height: 100%;
|
|
|
width: 100%;
|