Commit 51599112 authored by 仇晓婷's avatar 仇晓婷

流水排产

parent 76aa4671
......@@ -22,14 +22,14 @@
<Radio label="1">班组</Radio>
</RadioGroup>
</FormItem>-->
<FormItem label="人员" v-if="mode == 1" prop="userIds" :rules="{required: true, message: '必填', trigger: 'blur'}">
<FormItem label="人员" v-if="mode == 1" prop="userIds">
<!-- <UserSelect
ref="userSelected"
v-model="formItem.userIds"
style="width:300px"
:multiple="true"
/>-->
<UserSelect v-model="formItem.userIds" :multiple="true" :type="2" :rules="{required: true, message: '必填', trigger: 'blur'}"/>
<UserSelect v-model="formItem.userIds" :multiple="true" :type="2" />
</FormItem>
<FormItem label="班组" v-if="mode == 2" prop="shopId">
<Select
......@@ -106,21 +106,22 @@ export default {
},
},
],
// userIds: [
// {
// required: true,
// message: "请选择人员",
// type: "array",
// trigger: "change",
// },
// ],
// shopId: [
// {
// required: true,
// message: "请选择班组",
// trigger: "change",
// },
// ],
userIds: [
{
required: true,
message: "请选择人员!",
trigger: "blur",
type: "array",
},
],
shopId: [
{
required: true,
message: "请选择班组",
trigger: "blur",
type: "number",
},
],
},
};
},
......@@ -131,17 +132,17 @@ export default {
methods: {
//确定
Determine() {
if (this.mode == 1) {
if (!this.formItem.userIds) {
this.$Message.error("人员不能为空");
return false;
}
} else {
if (!this.formItem.shopId) {
this.$Message.error("班组不能为空");
return false;
}
}
// if (this.mode == 1) {
// if (!this.formItem.userIds) {
// this.$Message.error("人员不能为空");
// return false;
// }
// } else {
// if (!this.formItem.shopId) {
// this.$Message.error("班组不能为空");
// return false;
// }
// }
this.$refs["formItem"].validate((valid) => {
if (valid) {
this.formItem.detailId = this.detailId;
......
<template>
<div>
<v-chart :options="braking" style="width:'100%',height:'100%'" />
</div>
</template>
<script>
import ECharts from "vue-echarts";
import echarts from "echarts/lib/echarts";
import "echarts/lib/chart/pie";
// import "echarts/lib/chart/bar";
import "echarts/lib/component/tooltip";
import "echarts/lib/component/title";
import "echarts/lib/component/legend";
import "echarts/lib/component/grid";
export default {
name: "MonthlyPlan",
components: {
"v-chart": ECharts,
},
data() {
return {
braking: {},
};
},
mounted() {
this.statistics();
},
methods: {
statistics() {
this.braking = {
backgroundColor: "#2c343c",
title: {
text: "产品消耗工时占比",
left: "center",
top: 20,
textStyle: {
color: "#ccc",
},
},
tooltip: {
trigger: "item",
formatter: "{a} <br/>{b}: {c} ({d}%)",
},
legend: {
orient: "vertical",
left: 10,
textStyle: {
color: "#ccc",
},
data: ["直接访问", "邮件营销", "联盟广告", "视频广告", "搜索引擎"],
},
series: [
{
name: "访问来源",
type: "pie",
radius: ["50%", "70%"],
// avoidLabelOverlap: false,
label: {
show: false,
position: "outside",
normal: {
formatter: "{b}: {c} ({d}%)",
},
},
// emphasis: {
// label: {
// show: true,
// fontSize: "30",
// fontWeight: "bold",
// },
// },
labelLine: {
normal: {
show: true, //引导线显示
},
// show: false,
},
itemStyle: {
emphasis: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: "rgba(0, 0, 0, 0.5)",
},
normal: {
color: function (params) {
//自定义颜色
var colorList = [
"#00FFFF",
"#00FF00",
"#FFFF00",
"#FF8C00",
"#FF0000",
"#FE8463",
];
return colorList[params.dataIndex];
},
},
},
data: [
{ value: 335, name: "直接访问" },
{ value: 310, name: "邮件营销" },
{ value: 234, name: "联盟广告" },
{ value: 135, name: "视频广告" },
{ value: 1548, name: "搜索引擎" },
],
},
],
};
},
},
};
</script>
\ No newline at end of file
<template>
<div class="big-screen">
<h3>见著MSE可视化平台</h3>
<div class="up-screen">
<div>
<MonthlyPlan></MonthlyPlan>
</div>
<div>2</div>
<div>
<Consume></Consume>
</div>
<div><Workshop></Workshop></div>
<div>5</div>
</div>
<div class="down-screen">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
</div>
</template>
<script>
import MonthlyPlan from "./monthlyPlan.vue";
import Consume from "./consume.vue";
import Workshop from "./workshop.vue";
export default {
components: {
MonthlyPlan,
Consume,
Workshop,
},
data() {
return {};
},
};
</script>
<style lang="less">
.big-screen {
width: 100%;
height: 100%;
text-align: center;
// background: url("../../assets/images/home/menu.png");
background-size: 100% 100%;
background-repeat: no-repeat;
.up-screen {
display: -webkit-flex;
display: flex;
}
.down-screen {
display: -webkit-flex;
display: flex;
}
}
</style>
\ No newline at end of file
<template>
<div>
<v-chart :options="braking" style="width:'100%',height:'100%'" />
</div>
</template>
<script>
import ECharts from "vue-echarts";
import echarts from "echarts/lib/echarts";
import "echarts/lib/chart/pie";
// import "echarts/lib/chart/bar";
import "echarts/lib/component/tooltip";
import "echarts/lib/component/title";
import "echarts/lib/component/legend";
import "echarts/lib/component/grid";
export default {
name: "MonthlyPlan",
components: {
"v-chart": ECharts,
},
data() {
return {
braking: {},
};
},
mounted() {
this.statistics();
},
methods: {
statistics() {
this.braking = {
backgroundColor: "#2c343c",
title: {
text: "月度计划进行情况",
left: "center",
top: 20,
textStyle: {
color: "#ccc",
},
},
tooltip: {
trigger: "item",
formatter: "{a} <br/>{b} : {c} ({d}%)",
},
visualMap: {
show: false,
min: 80,
max: 600,
inRange: {
colorLightness: [0, 1],
},
},
series: [
{
name: "访问来源",
type: "pie",
radius: "55%",
center: ["50%", "50%"],
data: [
{ value: 335, name: "直接访问" },
{ value: 310, name: "邮件营销" },
{ value: 274, name: "联盟广告" },
{ value: 235, name: "视频广告" },
{ value: 400, name: "搜索引擎" },
].sort(function (a, b) {
return a.value - b.value;
}),
roseType: "radius",
label: {
// color: "rgba(255, 255, 255, 0.3)",
},
labelLine: {
// lineStyle: {
// color: "rgba(255, 255, 255, 0.3)",
// },
// smooth: 0.2,
// length: 10,
// length2: 20,
},
// itemStyle: {
// color: "#c23531",
// shadowBlur: 200,
// shadowColor: "rgba(0, 0, 0, 0.5)",
// },
itemStyle: {
emphasis: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: "rgba(0, 0, 0, 0.5)",
},
normal: {
color: function (params) {
//自定义颜色
var colorList = [
"#00FFFF",
"#00FF00",
"#FFFF00",
"#FF8C00",
"#FF0000",
"#FE8463",
];
return colorList[params.dataIndex];
},
},
},
// animationType: "scale",
// animationEasing: "elasticOut",
// animationDelay: function (idx) {
// return Math.random() * 200;
// },
},
],
};
},
},
};
</script>
\ No newline at end of file
<template>
<div>
<v-chart :options="braking" style="width:'100%',height:'100%'" />
</div>
</template>
<script>
import ECharts from "vue-echarts";
import echarts from "echarts/lib/echarts";
//import "echarts/lib/chart/pie";
import "echarts/lib/chart/bar";
import "echarts/lib/component/tooltip";
import "echarts/lib/component/title";
import "echarts/lib/component/legend";
import "echarts/lib/component/grid";
export default {
name: "MonthlyPlan",
components: {
"v-chart": ECharts,
},
data() {
return {
braking: {},
};
},
mounted() {
this.statistics();
},
methods: {
statistics() {
this.braking = {
backgroundColor: "#2c343c",
// color: ["#3398DB"],
title: {
text: "本月各车间工时排名",
left: "center",
top: 20,
textStyle: {
color: "#ccc",
},
},
tooltip: {
trigger: "axis",
axisPointer: {
// 坐标轴指示器,坐标轴触发有效
type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
},
},
grid: {
left: "3%",
right: "4%",
bottom: "3%",
containLabel: true,
},
xAxis: [
{
type: "value",
axisLine: {
//y轴
show: false,
lineStyle: {
color: "#fff",
},
},
axisTick: {
//y轴刻度线
show: false,
},
splitLine: {
//网格线
show: false,
},
},
],
yAxis: [
{
type: "category",
data: [
"一车间",
"二车间",
"三车间",
"四车间",
"五车间",
"六车间",
"七车间",
],
axisTick: {
//y轴刻度线
show: false,
},
axisLine: {
//y轴
show: false,
lineStyle: {
color: "#fff",
},
},
},
],
series: [
{
name: "车间工时",
type: "bar",
barWidth: 10,
label: {
show: true,
position: "right",
},
itemStyle: {
normal: {
color: "#2680EB",
barBorderRadius: [30, 30, 30, 30],
},
},
data: [10, 52, 200, 334, 390, 330, 220],
},
],
};
},
},
};
</script>
\ No newline at end of file
......@@ -79,10 +79,10 @@
>
<div>{{ item.taskSeq }} {{ item.detailName }}</div>
<div>人员:{{ item.userNames }}</div>
<div>{{ li.demandStartDate }}</div>
<div>{{ li.demandFinishDate }}</div>
<div>{{ li.actualStartDate }}</div>
<div>{{ li.actualFinishDate }}</div>
<div>{{ item.demandStartDate }}</div>
<div>{{ item.demandFinishDate }}</div>
<div>{{ item.actualStartDate }}</div>
<div>{{ item.actualFinishDate }}</div>
</div>
</div>
</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment