Merge branch 'bigPic'

This commit is contained in:
熊丽君
2022-01-24 14:50:54 +08:00
15 changed files with 1731 additions and 1468 deletions

View File

@ -4,7 +4,7 @@
<vue-seamless-scroll
ref="seamlessScroll"
:data="listData"
class="warp"
class="warp-scroll"
:class-option="{
openWatch: true,
singleHeight: 35,
@ -185,7 +185,7 @@ export default {
}
}
.warp {
.warp-scroll {
height: 280px;
width: 440px;
margin: 0 auto;

View File

@ -1,62 +1,82 @@
<template>
<div>
<container4 title="今日动态">
<vue-seamless-scroll :data="listData" class="warp" :class-option="{
singleHeight: 35
}">
<vue-seamless-scroll
:data="listData"
class="warp-scroll"
:class-option="{
singleHeight: 35,
}"
>
<ul class="item">
<li>
<el-row>
<el-col :span="10"><img src="./img/center2/1.png">今日收入</el-col>
<el-col :span="10"
><img src="./img/center2/1.png" />今日收入</el-col
>
<el-col :span="5">1234</el-col>
<el-col :span="7"></el-col>
</el-row>
</li>
<li>
<el-row>
<el-col :span="10"><img src="./img/center2/2.png">今日支出</el-col>
<el-col :span="10"
><img src="./img/center2/2.png" />今日支出</el-col
>
<el-col :span="5">1234</el-col>
<el-col :span="7"></el-col>
</el-row>
</li>
<li>
<el-row>
<el-col :span="10"><img src="./img/center2/3.png">今日新签合同</el-col>
<el-col :span="10"
><img src="./img/center2/3.png" />今日新签合同</el-col
>
<el-col :span="5">1234</el-col>
<el-col :span="7"></el-col>
</el-row>
</li>
<li>
<el-row>
<el-col :span="10"><img src="./img/center2/4.png">今日安全问题</el-col>
<el-col :span="10"
><img src="./img/center2/4.png" />今日安全问题</el-col
>
<el-col :span="5">1234</el-col>
<el-col :span="7"></el-col>
</el-row>
</li>
<li>
<el-row>
<el-col :span="10"><img src="./img/center2/5.png">今日质量问题</el-col>
<el-col :span="10"
><img src="./img/center2/5.png" />今日质量问题</el-col
>
<el-col :span="5">1234</el-col>
<el-col :span="7"></el-col>
</el-row>
</li>
<li>
<el-row>
<el-col :span="10"><img src="./img/center2/6.png">今日设备数</el-col>
<el-col :span="10"
><img src="./img/center2/6.png" />今日设备数</el-col
>
<el-col :span="5">123</el-col>
<el-col :span="7">运行率88%</el-col>
</el-row>
</li>
<li>
<el-row>
<el-col :span="10"><img src="./img/center2/7.png">今日职工数</el-col>
<el-col :span="10"
><img src="./img/center2/7.png" />今日职工数</el-col
>
<el-col :span="5">890</el-col>
<el-col :span="7">出勤率73%</el-col>
</el-row>
</li>
<li>
<el-row>
<el-col :span="10"><img src="./img/center2/8.png">今日生产任务</el-col>
<el-col :span="10"
><img src="./img/center2/8.png" />今日生产任务</el-col
>
<el-col :span="5">890</el-col>
<el-col :span="7">完成率66%</el-col>
</el-row>
@ -65,39 +85,32 @@
</vue-seamless-scroll>
</container4>
</div>
</template>
<script>
import container4 from "./components/container4/index.vue";
import rocketTit from "../components/rocketTit/index.vue";
import vueSeamlessScroll from 'vue-seamless-scroll'
import echarts from 'echarts'
require('echarts/theme/macarons') // echarts theme
import resize from '../../dashboard/mixins/resize'
import vueSeamlessScroll from "vue-seamless-scroll";
import echarts from "echarts";
require("echarts/theme/macarons"); // echarts theme
import resize from "../../dashboard/mixins/resize";
export default {
mixins: [resize],
name: 'left1',
name: "left1",
components: {
container4,
rocketTit,
vueSeamlessScroll
vueSeamlessScroll,
},
data () {
data() {
return {
listData: [1, 2, 3, 4, 5, 6, 7, 8],
}
};
},
mounted () {
},
beforeDestroy () {
},
methods: {
}
}
mounted() {},
beforeDestroy() {},
methods: {},
};
</script>
<style lang="scss" scoped>
@ -133,7 +146,7 @@ export default {
}
}
.warp {
.warp-scroll {
height: 280px;
width: 440px;
margin: 0 auto;

View File

@ -50,11 +50,10 @@
<div class="data-item">
<div><span style="font-weight: bold">产品错漏检率</span></div>
<div class="box">
<span
>{{ dataInfo.realErrorCheckRate }}%/{{
dataInfo.targetErrorCheckRate
}}%</span
>
<span>
{{ dataInfo.realErrorCheckRate }}%
<!-- /{{dataInfo.targetErrorCheckRate}}% -->
</span>
</div>
</div>
<div class="data-item">
@ -110,6 +109,8 @@ export default {
commonlyProblemTotal: 0,
lowProblemTotal: 0,
smallProductCate: 0,
realErrorCheckRate: 0,
targetErrorCheckRate: 0,
errorCheckRate: 0,
leakCheckRate: 0,
planCompleteRate: 0,

View File

@ -113,7 +113,7 @@ export default {
yAxis: {
type: "value",
name: "",
min: 0,
min: resData.spc.lowerLimit - 50,
// max: 250,
// interval: 50,
axisLabel: {

View File

@ -53,7 +53,7 @@
step: 0.5,
direction: 2,
}"
class="warp"
class="warp-scroll"
>
<ul class="ul-item">
<li
@ -246,7 +246,7 @@ export default {
float: right;
}
}
.warp {
.warp-scroll {
// height: 100px;
margin: 0 auto;
margin-top: 25px;

View File

@ -10,7 +10,9 @@
<div class="trends-item-content">
<div class="tit">作业工房/总数</div>
<div class="value">
{{ dataInfo.workingWorkshopTotal }}/<span class="small">{{ dataInfo.workshopTotal }}</span>
{{ dataInfo.workingWorkshopTotal }}/<span class="small">{{
dataInfo.workshopTotal
}}</span>
</div>
<div class="progressBar">
<progressBar :percentage="percentage" v-if="percentage" />
@ -26,7 +28,9 @@
<div class="trends-item-content">
<div class="tit">人员数量/出勤率</div>
<div class="value">
{{ dataInfo.realAttendance }}/<span class="small">{{ (dataInfo.attendanceRate - 0).toFixed(0) }}%</span>
{{ dataInfo.realAttendance }}/<span class="small"
>{{ (dataInfo.attendanceRate - 0).toFixed(0) }}%</span
>
</div>
<div class="progressBar">
<progressBar :percentage="dataInfo.attendanceRate" />
@ -46,7 +50,9 @@
<div class="trends-item-content">
<div class="tit">设备运行数量/运行率</div>
<div class="value">
{{ dataInfo.equipmentRunTotal }}/<span class="small">{{ dataInfo.equipmentRunRate }}%</span>
{{ dataInfo.equipmentRunTotal }}/<span class="small"
>{{ dataInfo.equipmentRunRate }}%</span
>
</div>
<div class="progressBar">
<progressBar :percentage="dataInfo.equipmentRunRate" />
@ -76,17 +82,22 @@
<div class="right">{{ carTotal.useTotal }}<span>辆</span></div>
</div>
<div style="margin: 5px 0 10px 0">
<progressBar :percentage="carTotal.useTotal / carTotal.total || 0" :strokeWidth="12" />
<progressBar
:percentage="carTotal.useTotal / carTotal.total || 0"
:strokeWidth="12"
/>
</div>
<div class="describe">
<div class="left">总车辆数:{{ carTotal.total }}</div>
<div class="right">使用率:{{ carTotal.useTotal / carTotal.total || 0 }}%</div>
<div class="right">
使用率:{{ carTotal.useTotal / carTotal.total || 0 }}%
</div>
</div>
</div>
<vue-seamless-scroll
ref="seamlessScroll"
:data="listData"
class="warp"
class="warp-scroll"
:class-option="{
singleHeight: 48,
}"
@ -94,13 +105,23 @@
<ul class="item">
<li v-for="item in listData" :key="item.id">
<el-row>
<el-col :span="10"><img src="./img/1.png" />{{ item.carName }}</el-col>
<el-col :span="10"
><img src="./img/1.png" />{{ item.carName }}</el-col
>
<el-col :span="6">
<div class="state success" v-if="item.carStatus == '使用中'">{{ item.carStatus }}</div>
<div class="state info" v-if="item.carStatus == '闲置'">{{ item.carStatus }}</div>
<div class="state fault" v-if="item.carStatus == '故障'">{{ item.carStatus }}</div>
<div class="state success" v-if="item.carStatus == '使用中'">
{{ item.carStatus }}
</div>
<div class="state info" v-if="item.carStatus == '闲置'">
{{ item.carStatus }}
</div>
<div class="state fault" v-if="item.carStatus == '故障'">
{{ item.carStatus }}
</div>
</el-col>
<el-col :span="8" style="text-align: right"><img src="./img/2.png" />{{ item.nowAddress }}</el-col>
<el-col :span="8" style="text-align: right"
><img src="./img/2.png" />{{ item.nowAddress }}</el-col
>
</el-row>
</li>
</ul>
@ -110,9 +131,9 @@
</template>
<script>
import container1 from './components/container1/index.vue'
import progressBar from '@/views/bigScreen/components/progress/index.vue'
import vueSeamlessScroll from 'vue-seamless-scroll'
import container1 from "./components/container1/index.vue";
import progressBar from "@/views/bigScreen/components/progress/index.vue";
import vueSeamlessScroll from "vue-seamless-scroll";
export default {
components: {
container1, //#endregion,
@ -123,49 +144,51 @@ export default {
return {
listData: [],
dataInfo: {
workingWorkshopTotal:0,
workshopTotal:0,
realAttendance:0,
attendanceRate:0,
equipmentRunTotal:0,
equipmentRunRate:0,
videoCollectionRate:0,
workingWorkshopTotal: 0,
workshopTotal: 0,
realAttendance: 0,
attendanceRate: 0,
equipmentRunTotal: 0,
equipmentRunRate: 0,
videoCollectionRate: 0,
},
carTotal: {
total:0,
useTotal:0
total: 0,
useTotal: 0,
},
}
};
},
computed: {
percentage() {
return (this.dataInfo.workingWorkshopTotal / this.dataInfo.workshopTotal) * 100
return (
(this.dataInfo.workingWorkshopTotal / this.dataInfo.workshopTotal) * 100
);
},
},
methods: {
getList() {
this.request({
url: '/hx/scientificProduction/getHxFactoryResourcesPic',
url: "/hx/scientificProduction/getHxFactoryResourcesPic",
}).then(({ data }) => {
this.dataInfo = data
})
this.dataInfo = data;
});
this.request({
url: '/hx/scientificProduction/getHxCarUsePic1',
url: "/hx/scientificProduction/getHxCarUsePic1",
}).then(({ data }) => {
this.carTotal = data
})
this.carTotal = data;
});
this.request({
url: '/hx/scientificProduction/getHxCarUsePic2',
url: "/hx/scientificProduction/getHxCarUsePic2",
}).then(({ data }) => {
this.listData = data
this.$refs.seamlessScroll.reset()
})
this.listData = data;
this.$refs.seamlessScroll.reset();
});
},
},
created() {
this.getList()
this.getList();
},
}
};
</script>
<style lang="scss" scoped>
@ -261,7 +284,7 @@ export default {
}
}
.warp {
.warp-scroll {
height: 128px;
width: 100%;
margin: 10px auto 0 auto;
@ -294,7 +317,7 @@ export default {
.state {
position: relative;
&::before {
content: '';
content: "";
display: block;
position: absolute;
left: -16px;

View File

@ -2,32 +2,52 @@
<container3 title="全厂作业明细" :width="535" :height="975">
<vue-seamless-scroll
:data="listData"
class="warp"
class="warp-scroll"
:class-option="{
singleHeight: 84,
}"
>
<ul>
<li class="item" :class="item.dangerLevel == '一级' ? 'active' : ''" v-for="item in listData" :key="item.id">
<li
class="item"
:class="item.dangerLevel == '一级' ? 'active' : ''"
v-for="item in listData"
:key="item.id"
>
<div class="item-tit">{{ item.workHome }}</div>
<div class="item-content">
<el-row>
<el-col :span="12"
><span class="text-tit">车间:</span><span class="text-val">{{ item.workshop }}</span></el-col
><span class="text-tit">车间:</span
><span class="text-val">{{ item.workshop }}</span></el-col
>
<el-col :span="12"
><span class="text-tit">产品:</span><span class="text-val">{{ item.product }}</span></el-col
><span class="text-tit">产品:</span
><span class="text-val">{{ item.product }}</span></el-col
>
</el-row>
<el-row>
<el-col :span="12"
><span class="text-tit">工序:</span><span class="text-val">{{ item.procedure }}</span></el-col
><span class="text-tit">工序:</span
><span class="text-val">{{ item.procedure }}</span></el-col
>
<el-col :span="12">
<span class="text-tit">危险级别:</span>
<span class="text-val level1" v-if="item.dangerLevel == '一级'">{{ item.dangerLevel }}</span>
<span class="text-val level2" v-if="item.dangerLevel == '二级'">{{ item.dangerLevel }}</span>
<span class="text-val level3" v-if="item.dangerLevel == '级'">{{ item.dangerLevel }}</span>
<span
class="text-val level1"
v-if="item.dangerLevel == '级'"
>{{ item.dangerLevel }}</span
>
<span
class="text-val level2"
v-if="item.dangerLevel == '二级'"
>{{ item.dangerLevel }}</span
>
<span
class="text-val level3"
v-if="item.dangerLevel == '三级'"
>{{ item.dangerLevel }}</span
>
</el-col>
</el-row>
</div>
@ -36,7 +56,9 @@
</vue-seamless-scroll>
<div class="sub">
<div class="sub-left">
<div class="sub-tit"><img src="./img/sub/sub1.png" alt="" />装药当前作业内容</div>
<div class="sub-tit">
<img src="./img/sub/sub1.png" alt="" />装药当前作业内容
</div>
<div class="sub-content">
<div class="sub-item">
<div class="sub-item-tit"> </div>
@ -65,7 +87,9 @@
</div>
</div>
<div class="sub-right">
<div class="sub-tit"><img src="./img/sub/sub2.png" alt="" />酯生产量</div>
<div class="sub-tit">
<img src="./img/sub/sub2.png" alt="" />硝酸酯生产量
</div>
<div class="sub-content">
<div class="sub-item">
<div class="sub-item-tit">{{ twoData.jobContent }}</div>
@ -79,7 +103,7 @@
<div class="sub-item-val">{{ twoData.forecastEndDate }}</div>
</div>
<div class="sub-item">
<div class="sub-item-tit">酯生产量</div>
<div class="sub-item-tit">硝酸酯生产量</div>
<div class="sub-item-val">{{ twoData.esterProduction }}</div>
</div>
<div class="sub-item">
@ -92,8 +116,8 @@
</container3>
</template>
<script>
import container3 from './components/container3/index.vue'
import vueSeamlessScroll from 'vue-seamless-scroll'
import container3 from "./components/container3/index.vue";
import vueSeamlessScroll from "vue-seamless-scroll";
export default {
components: {
container3, //#endregion,
@ -104,41 +128,41 @@ export default {
listData: [],
oneData: {},
twoData: {},
}
};
},
methods: {
getList() {
// 全厂作业明细
this.request({
url: '/hx/scientificProduction/getHxJobDetailsPic',
url: "/hx/scientificProduction/getHxJobDetailsPic",
}).then(({ data }) => {
this.listData = data
})
this.listData = data;
});
// 装药当前作业内容
this.request({
url: '/hx/scientificProduction/getChargeJobContentPic',
url: "/hx/scientificProduction/getChargeJobContentPic",
}).then(({ data }) => {
this.oneData = data
})
this.oneData = data;
});
},
getTwoList() {
// 酯生产
// 硝酸酯量
this.request({
url: '/hx/scientificProduction/getHxEsterProductionPic',
url: "/hx/scientificProduction/getHxEsterProductionPic",
}).then(({ data }) => {
this.twoData = data
})
this.twoData = data;
});
},
},
created() {
this.getList()
this.getTwoList()
this.getList();
this.getTwoList();
},
}
};
</script>
<style lang="scss" scoped>
.warp {
.warp-scroll {
height: 416px;
width: 100%;
margin: 10px auto 0 auto;

View File

@ -3,29 +3,54 @@
<container1 title="物资计划">
<div class="left3-content">
<el-col :span="24" style="margin-bottom: 1px">
<el-row style="height: 42px; line-height: 42px; background: rgba(0, 255, 255, 0.3)">
<el-row
style="
height: 42px;
line-height: 42px;
background: rgba(0, 255, 255, 0.3);
"
>
<el-col style="text-align: center" :span="4">序号</el-col>
<el-col style="text-align: center" :span="4">物资名称</el-col>
<el-col style="text-align: center" :span="3">现有库存</el-col>
<el-col style="text-align: center" :span="6">是否开始备货采购</el-col>
<el-col style="text-align: center" :span="6"
>是否开始备货采购</el-col
>
<el-col style="text-align: center" :span="3">采购数量</el-col>
<el-col style="text-align: center" :span="4">入库时间</el-col>
</el-row>
</el-col>
<vue-seamless-scroll ref="seamlessScroll" :data="listData" class="warp" :class-option="{singleHeight: 42,}">
<vue-seamless-scroll
ref="seamlessScroll"
:data="listData"
class="warp-scroll"
:class-option="{ singleHeight: 42 }"
>
<ul class="item">
<li v-for="item in scrollList" :key="item.id">
<el-row>
<el-col style="text-align: center" :span="4">{{item.id}}</el-col>
<el-col style="text-align: center" :title="item.materialName" :span="4">{{item.materialName}}</el-col>
<el-col style="text-align: center" :span="3">{{item.stock}}</el-col>
<el-col style="text-align: center" :span="4">{{
item.id
}}</el-col>
<el-col
style="text-align: center"
:title="item.materialName"
:span="4"
>{{ item.materialName }}</el-col
>
<el-col style="text-align: center" :span="3">{{
item.stock
}}</el-col>
<el-col style="text-align: center" :span="6">
{{item.startPurchase}}
{{ item.startPurchase }}
</el-col>
<el-col style="text-align: center" :span="3">{{item.purchaseNumber}}</el-col>
<el-col style="text-align: center" :span="4">{{item.createTime}}</el-col>
<el-col style="text-align: center" :span="3">{{
item.purchaseNumber
}}</el-col>
<el-col style="text-align: center" :span="4">{{
item.createTime
}}</el-col>
</el-row>
</li>
</ul>
@ -33,49 +58,48 @@
</div>
</container1>
</div>
</template>
<script>
import container1 from "./components/container1/index.vue";
import echarts from 'echarts'
require('echarts/theme/macarons') // echarts theme
import resize from '../../../dashboard/mixins/resize'
import vueSeamlessScroll from 'vue-seamless-scroll'
import echarts from "echarts";
require("echarts/theme/macarons"); // echarts theme
import resize from "../../../dashboard/mixins/resize";
import vueSeamlessScroll from "vue-seamless-scroll";
export default {
mixins: [resize],
name: 'left2',
name: "left2",
components: {
container1,
vueSeamlessScroll,
},
data () {
data() {
return {
listData: [1, 2, 3, 4, 5, 6, 7, 8],
scrollList: [],
}
};
},
mounted () {
mounted() {
this.$nextTick(() => {
this.getData()
})
this.getData();
});
},
methods: {
getData () {
getData() {
this.request({
url: '/hx/scientificProduction/getMaterialPlanPic',
method: 'get',
}).then(res => {
url: "/hx/scientificProduction/getMaterialPlanPic",
method: "get",
}).then((res) => {
if (200 == res.code) {
this.scrollList = res.data;
this.listData = Array(this.scrollList.length).fill(0);
this.$refs.seamlessScroll.reset();
}
})
});
},
}
}
},
};
</script>
<style lang="scss" scoped>
@ -84,7 +108,7 @@ export default {
font-size: 14px;
}
.warp {
.warp-scroll {
height: 168px;
width: 100%;
margin: 10px auto 0 auto;

View File

@ -1,12 +1,30 @@
<template>
<div>
<container1 title="里程牌及瓶颈短线工作计划">
<el-select clearable slot="datePicker" v-model="value" size="mini" placeholder="请选择">
<el-option v-for="item in selectData" :key="item" :label="item" :value="item"> </el-option>
<el-select
clearable
slot="datePicker"
v-model="value"
size="mini"
placeholder="请选择"
>
<el-option
v-for="item in selectData"
:key="item"
:label="item"
:value="item"
>
</el-option>
</el-select>
<div class="left3-content">
<el-col :span="24" style="margin-bottom: 1px">
<el-row style="height: 42px; line-height: 42px; background: rgba(0, 255, 255, 0.3)">
<el-row
style="
height: 42px;
line-height: 42px;
background: rgba(0, 255, 255, 0.3);
"
>
<el-col style="text-align: center" :span="3">项目</el-col>
<el-col style="text-align: center" :span="5">工作内容</el-col>
<el-col style="text-align: center" :span="5">进展情况</el-col>
@ -14,26 +32,47 @@
<el-col style="text-align: center" :span="4">目标完成时间</el-col>
</el-row>
</el-col>
<vue-seamless-scroll ref="seamlessScroll" :data="listData" class="warp" :class-option="{singleHeight: 42,}">
<vue-seamless-scroll
ref="seamlessScroll"
:data="listData"
class="warp-scroll"
:class-option="{ singleHeight: 42 }"
>
<ul class="item">
<li v-for="item in scrollList" :key="item.id">
<el-row>
<el-col style="text-align: center" :title="item.projectName" :span="3">{{ item.projectName }}</el-col>
<el-col style="text-align: center" :title="item.jobContent" :span="5">{{ item.jobContent }}</el-col>
<el-col
style="text-align: center"
:title="item.projectName"
:span="3"
>{{ item.projectName }}</el-col
>
<el-col
style="text-align: center"
:title="item.jobContent"
:span="5"
>{{ item.jobContent }}</el-col
>
<el-col style="text-align: center" :span="5">
<span class="state" :class="{success: item.progress == '已完成',
<span
class="state"
:class="{
success: item.progress == '已完成',
fault: item.progress == '未完成',
progress: item.progress == '未开始',
}">
}"
>
<section v-if="item.progress == 1">已完成</section>
<section v-else-if="item.progress == 3">未完成</section>
<section v-else>未开始</section>
</span>
</el-col>
<el-col style="text-align: center" :span="7">{{item.forecastCompleteTime}}</el-col>
<el-col style="text-align: center" :span="4">{{item.targetCompleteTime}}</el-col>
<el-col style="text-align: center" :span="7">{{
item.forecastCompleteTime
}}</el-col>
<el-col style="text-align: center" :span="4">{{
item.targetCompleteTime
}}</el-col>
</el-row>
</li>
</ul>
@ -41,52 +80,51 @@
</div>
</container1>
</div>
</template>
<script>
import container1 from "./components/container1/index.vue";
import echarts from 'echarts'
require('echarts/theme/macarons') // echarts theme
import resize from '../../../dashboard/mixins/resize'
import vueSeamlessScroll from 'vue-seamless-scroll'
import echarts from "echarts";
require("echarts/theme/macarons"); // echarts theme
import resize from "../../../dashboard/mixins/resize";
import vueSeamlessScroll from "vue-seamless-scroll";
export default {
mixins: [resize],
name: 'left2',
name: "left2",
components: {
container1,
vueSeamlessScroll,
},
data () {
data() {
return {
selectData: [],
value: '',
value: "",
listData: [1, 2, 3, 4, 5, 6, 7, 8],
scrollList: [],
}
};
},
watch: {
value (newVal, oldVal) {
this.getData(newVal)
value(newVal, oldVal) {
this.getData(newVal);
},
},
mounted () {
mounted() {
this.$nextTick(() => {
this.getData()
})
this.getData();
});
},
methods: {
getData (projectName) {
getData(projectName) {
let params = {};
if (projectName) {
params['projectName'] = projectName
params["projectName"] = projectName;
}
this.request({
url: '/hx/scientificProduction/getMilepostAndBottleneckPic',
method: 'get',
url: "/hx/scientificProduction/getMilepostAndBottleneckPic",
method: "get",
params,
}).then(res => {
}).then((res) => {
if (200 == res.code) {
this.scrollList = res.data.list;
this.listData = Array(this.scrollList.length).fill(0);
@ -95,10 +133,10 @@ export default {
this.selectData = res.data.allProject;
}
}
})
});
},
}
}
},
};
</script>
<style lang="scss" scoped>
@ -107,7 +145,7 @@ export default {
font-size: 14px;
}
.warp {
.warp-scroll {
height: 168px;
width: 100%;
margin: 10px auto 0 auto;

View File

@ -3,7 +3,13 @@
<container1 title="调度会">
<div class="left3-content">
<el-col :span="24" style="margin-bottom: 1px">
<el-row style="height: 42px; line-height: 42px; background: rgba(0, 255, 255, 0.3)">
<el-row
style="
height: 42px;
line-height: 42px;
background: rgba(0, 255, 255, 0.3);
"
>
<el-col style="text-align: center" :span="4">工作内容</el-col>
<el-col style="text-align: center" :span="5">会议名称</el-col>
<el-col style="text-align: center" :span="5">督办领导</el-col>
@ -11,22 +17,50 @@
<el-col style="text-align: center" :span="3">工作进展</el-col>
</el-row>
</el-col>
<vue-seamless-scroll ref="seamlessScroll" :data="listData" class="warp" :class-option="{singleHeight: 42,}">
<vue-seamless-scroll
ref="seamlessScroll"
:data="listData"
class="warp-scroll"
:class-option="{ singleHeight: 42 }"
>
<ul class="item">
<li v-for="item in scrollList" :key="item.id">
<el-row>
<el-col style="text-align: center" :title="item.jobContent" :span="4">{{item.jobContent}}</el-col>
<el-col style="text-align: center" :title="item.meetingName" :span="5">{{item.meetingName}}</el-col>
<el-col style="text-align: center" :title="item.checkLeader" :span="5">
{{item.checkLeader}}
<el-col
style="text-align: center"
:title="item.jobContent"
:span="4"
>{{ item.jobContent }}</el-col
>
<el-col
style="text-align: center"
:title="item.meetingName"
:span="5"
>{{ item.meetingName }}</el-col
>
<el-col
style="text-align: center"
:title="item.checkLeader"
:span="5"
>
{{ item.checkLeader }}
</el-col>
<el-col style="text-align: center" :title="item.responsibleUnit" :span="7">{{item.responsibleUnit}}</el-col>
<el-col
style="text-align: center"
:title="item.responsibleUnit"
:span="7"
>{{ item.responsibleUnit }}</el-col
>
<el-col style="text-align: center" :span="3">
<span class="state" :class="{success: item.workProgress == '已完成',
<span
class="state"
:class="{
success: item.workProgress == '已完成',
fault: item.workProgress == '未完成',
progress: item.workProgress == '未开始',
}">
<section>{{item.workProgress|| '未开始'}}</section>
}"
>
<section>{{ item.workProgress || "未开始" }}</section>
</span>
</el-col>
</el-row>
@ -36,50 +70,48 @@
</div>
</container1>
</div>
</template>
<script>
import container1 from "./components/container1/index.vue";
import echarts from 'echarts'
require('echarts/theme/macarons') // echarts theme
import resize from '../../../dashboard/mixins/resize'
import vueSeamlessScroll from 'vue-seamless-scroll'
import echarts from "echarts";
require("echarts/theme/macarons"); // echarts theme
import resize from "../../../dashboard/mixins/resize";
import vueSeamlessScroll from "vue-seamless-scroll";
export default {
mixins: [resize],
name: 'left2',
name: "left2",
components: {
container1,
vueSeamlessScroll,
},
data () {
data() {
return {
listData: [1, 2, 3, 4, 5, 6, 7, 8],
scrollList: [
],
}
scrollList: [],
};
},
mounted () {
mounted() {
this.$nextTick(() => {
this.getData()
})
this.getData();
});
},
methods: {
getData () {
getData() {
this.request({
url: '/hx/scientificProduction/getDispatchMeetingPic',
method: 'get',
}).then(res => {
url: "/hx/scientificProduction/getDispatchMeetingPic",
method: "get",
}).then((res) => {
if (200 == res.code) {
this.scrollList = res.data;
this.listData = Array(this.scrollList.length).fill(0);
this.$refs.seamlessScroll.reset();
}
})
});
},
}
}
},
};
</script>
<style lang="scss" scoped>
@ -88,7 +120,7 @@ export default {
font-size: 14px;
}
.warp {
.warp-scroll {
height: 168px;
width: 100%;
margin: 10px auto 0 auto;

View File

@ -3,7 +3,13 @@
<container1 title="人员管理">
<div class="left3-content">
<el-col :span="24" style="margin-bottom: 1px">
<el-row style="height: 42px; line-height: 42px; background: rgba(0, 255, 255, 0.3)">
<el-row
style="
height: 42px;
line-height: 42px;
background: rgba(0, 255, 255, 0.3);
"
>
<el-col style="text-align: center" :span="4">班组名称</el-col>
<el-col style="text-align: center" :span="4">人员数量</el-col>
<el-col style="text-align: center" :span="4">班次数</el-col>
@ -11,16 +17,33 @@
<el-col style="text-align: center" :span="8">到岗人员</el-col>
</el-row>
</el-col>
<vue-seamless-scroll ref="seamlessScroll" :data="listData" class="warp" :class-option="{singleHeight: 42,}">
<vue-seamless-scroll
ref="seamlessScroll"
:data="listData"
class="warp-scroll"
:class-option="{ singleHeight: 42 }"
>
<ul class="item">
<li v-for="item in scrollList" :key="item.id">
<el-row>
<el-col style="text-align: center" :span="4">{{item.teamName}}</el-col>
<el-col style="text-align: center" :span="4">{{item.peopleTotal}}人</el-col>
<el-col style="text-align: center" :span="4">{{item.shift}}
<el-col style="text-align: center" :span="4">{{
item.teamName
}}</el-col>
<el-col style="text-align: center" :span="4"
>{{ item.peopleTotal }}</el-col
>
<el-col style="text-align: center" :span="4"
>{{ item.shift }}
</el-col>
<el-col style="text-align: center" :span="4">{{item.realWorkerTotal}}</el-col>
<el-col style="text-align: center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;" :span="8" :title="item.peopleList">{{item.peopleList}}</el-col>
<el-col style="text-align: center" :span="4"
>{{ item.realWorkerTotal }}</el-col
>
<el-col
style="text-align: center"
:span="8"
:title="item.peopleList"
>{{ item.peopleList }}</el-col
>
</el-row>
</li>
</ul>
@ -28,49 +51,48 @@
</div>
</container1>
</div>
</template>
<script>
import container1 from "./components/container1/index.vue";
import echarts from 'echarts'
require('echarts/theme/macarons') // echarts theme
import resize from '../../../dashboard/mixins/resize'
import vueSeamlessScroll from 'vue-seamless-scroll'
import echarts from "echarts";
require("echarts/theme/macarons"); // echarts theme
import resize from "../../../dashboard/mixins/resize";
import vueSeamlessScroll from "vue-seamless-scroll";
export default {
mixins: [resize],
name: 'left2',
name: "left2",
components: {
container1,
vueSeamlessScroll,
},
data () {
data() {
return {
listData: [1, 2, 3, 4, 5, 6, 7, 8],
scrollList: [],
}
};
},
mounted () {
mounted() {
this.$nextTick(() => {
this.getData()
})
this.getData();
});
},
methods: {
getData () {
getData() {
this.request({
url: '/hx/scientificProduction/getTeamAttendancePic',
method: 'get',
}).then(res => {
url: "/hx/scientificProduction/getTeamAttendancePic",
method: "get",
}).then((res) => {
if (200 == res.code) {
this.scrollList = res.data;
this.listData = Array(this.scrollList.length).fill(0);
this.$refs.seamlessScroll.reset();
}
})
});
},
}
}
},
};
</script>
<style lang="scss" scoped>
@ -79,7 +101,7 @@ export default {
font-size: 14px;
}
.warp {
.warp-scroll {
height: 168px;
width: 100%;
margin: 10px auto 0 auto;

View File

@ -1,7 +1,11 @@
<template>
<div style="display: flex">
<container2 title="型号原材料及配套件">
<bigScreenTabs slot="datePicker" v-model="index" :titleArr="['原材料', '配套件']"></bigScreenTabs>
<bigScreenTabs
slot="datePicker"
v-model="index"
:titleArr="['原材料', '配套件']"
></bigScreenTabs>
<el-select
style="position: absolute; z-index: 1; left: 30px"
v-model="value"
@ -9,7 +13,13 @@
placeholder="请选择"
@change="getLeftChartData"
>
<el-option v-for="item in selectData" :key="item" :label="item" :value="item"> </el-option>
<el-option
v-for="item in selectData"
:key="item"
:label="item"
:value="item"
>
</el-option>
</el-select>
<div class="tit_box">
<div style="border: 1px solid #f6d97e">
@ -31,7 +41,13 @@
</div>
<div style="height: 100%; width: 60%; padding-right: 15px">
<div style="margin-bottom: 1px">
<el-row style="height: 42px; line-height: 42px; background: rgba(0, 255, 255, 0.3)">
<el-row
style="
height: 42px;
line-height: 42px;
background: rgba(0, 255, 255, 0.3);
"
>
<el-col style="text-align: center" :span="4">项目</el-col>
<el-col style="text-align: center" :span="7">关键原材料</el-col>
<el-col style="text-align: center" :span="5">数量</el-col>
@ -49,11 +65,21 @@
<ul class="item">
<li v-for="(item, index) in scrollData" :key="index">
<el-row>
<el-col style="text-align: center" :span="4">{{ item.projectName }}</el-col>
<el-col style="text-align: center" :span="7">{{ item.category }}</el-col>
<el-col style="text-align: center" :span="5">{{ item.total }}</el-col>
<el-col style="text-align: center" :span="5">{{ item.arrivalTotal }}</el-col>
<el-col style="text-align: center" :span="3">{{ item.usedTotal }}</el-col>
<el-col style="text-align: center" :span="4">{{
item.projectName
}}</el-col>
<el-col style="text-align: center" :span="7">{{
item.category
}}</el-col>
<el-col style="text-align: center" :span="5">{{
item.total
}}</el-col>
<el-col style="text-align: center" :span="5">{{
item.arrivalTotal
}}</el-col>
<el-col style="text-align: center" :span="3">{{
item.usedTotal
}}</el-col>
</el-row>
</li>
</ul>
@ -62,7 +88,11 @@
</div>
</container2>
<container1 style="margin-left: 14px" title="型号工位">
<bigScreenTabs slot="datePicker" v-model="index2" :titleArr="['工位', '明细']"></bigScreenTabs>
<bigScreenTabs
slot="datePicker"
v-model="index2"
:titleArr="['工位', '明细']"
></bigScreenTabs>
<div class="trends">
<div style="height: 100%; width: 100%" ref="chart2"></div>
</div>
@ -70,7 +100,13 @@
<container1 style="margin-left: 14px" title="库房信息">
<div class="trends">
<div style="margin-bottom: 1px">
<el-row style="height: 42px; line-height: 42px; background: rgba(0, 255, 255, 0.3)">
<el-row
style="
height: 42px;
line-height: 42px;
background: rgba(0, 255, 255, 0.3);
"
>
<el-col style="text-align: center" :span="5">名称</el-col>
<el-col style="text-align: center" :span="5">库位编号</el-col>
<el-col style="text-align: center" :span="7">库位类型</el-col>
@ -87,15 +123,25 @@
<ul class="item">
<li v-for="(item, index) in scrollList" :key="index">
<el-row>
<el-col style="text-align: center" :span="5">{{ item.name }}</el-col>
<el-col style="text-align: center" :span="5">{{ item.numberNo }}</el-col>
<el-col style="text-align: center" :span="7">{{ item.category }}</el-col>
<el-col style="text-align: center" :span="5">{{
item.name
}}</el-col>
<el-col style="text-align: center" :span="5">{{
item.numberNo
}}</el-col>
<el-col style="text-align: center" :span="7">{{
item.category
}}</el-col>
<el-col style="text-align: center" :span="7">
<section class="box">
<span v-if="item.status == '使用中'" style="color: #6fd1b4; font-size: 25px; margin-right: 3px"
<span
v-if="item.status == '使用中'"
style="color: #6fd1b4; font-size: 25px; margin-right: 3px"
>·</span
>
<span v-else style="font-size: 25px; margin-right: 3px"
>·</span
>
<span v-else style="font-size: 25px; margin-right: 3px">·</span>
<span v-if="item.status == '使用中'">使用中</span>
<span v-else>未启用</span>
</section>
@ -109,12 +155,12 @@
</div>
</template>
<script>
import container1 from './components/container1/index.vue'
import container2 from './components/container2/index.vue'
import bigScreenTabs from '../../components/bigScreenTabs/index.vue'
import vueSeamlessScroll from 'vue-seamless-scroll'
import colorList from '@/utils/colorPalette'
import echarts from 'echarts'
import container1 from "./components/container1/index.vue";
import container2 from "./components/container2/index.vue";
import bigScreenTabs from "../../components/bigScreenTabs/index.vue";
import vueSeamlessScroll from "vue-seamless-scroll";
import colorList from "@/utils/colorPalette";
import echarts from "echarts";
export default {
components: {
container1,
@ -127,105 +173,105 @@ export default {
index: 0,
index2: 0,
chart: null,
titVal: '原材料',
titVal: "原材料",
selectData: [],
value: '',
value: "",
scrollData: [],
scrollList: [],
dataList: [],
pic1List: [],
}
};
},
mounted() {
this.$nextTick(() => {
this.initChart()
this.initChart2()
})
this.initChart();
this.initChart2();
});
},
watch: {
index(newVal, oldVal) {
if (newVal == 0) {
this.titVal = '原材料'
this.titVal = "原材料";
} else {
this.titVal = '配套件'
this.titVal = "配套件";
}
this.initChart()
this.initChart();
},
},
methods: {
getData() {
this.request({
url: '/hx/scientificProduction/getStorehousePic',
url: "/hx/scientificProduction/getStorehousePic",
}).then(({ data }) => {
this.scrollList = data
})
this.scrollList = data;
});
},
getLeftChartData(e) {
for (let i = 0; i < this.pic1List.length; i++) {
const item = this.pic1List[i]
const item = this.pic1List[i];
if (e == item.model) {
// lack // 缺少
// used // 已用
// arrival // 到货
// existing // 现有
if (item.lack) {
this.dataList[0] = item.lack
this.dataList[0] = item.lack;
}
if (item.used) {
this.dataList[1] = item.used
this.dataList[1] = item.used;
}
if (item.arrival) {
this.dataList[2] = item.arrival
this.dataList[2] = item.arrival;
}
if (item.existing) {
this.dataList[3] = item.existing
this.dataList[3] = item.existing;
}
this.setOptions()
this.setOptions();
}
}
},
initChart() {
this.request({
url: '/hx/scientificProduction/getMaterialsAccessoriesPic',
url: "/hx/scientificProduction/getMaterialsAccessoriesPic",
params: {
type: this.titVal,
},
}).then(({ data }) => {
this.selectData = data.modelList
this.value = data.modelList[0]
this.pic1List = data.pic1
this.scrollData = data.pic2
this.selectData = data.modelList;
this.value = data.modelList[0];
this.pic1List = data.pic1;
this.scrollData = data.pic2;
for (let i = 0; i < data.pic1.length; i++) {
const item = data.pic1[i]
const item = data.pic1[i];
if (this.value == item.model) {
// lack // 缺少
// used // 已用
// arrival // 到货
// existing // 现有
if (item.lack) {
this.dataList[0] = item.lack
this.dataList[0] = item.lack;
}
if (item.used) {
this.dataList[1] = item.used
this.dataList[1] = item.used;
}
if (item.arrival) {
this.dataList[2] = item.arrival
this.dataList[2] = item.arrival;
}
if (item.existing) {
this.dataList[3] = item.existing
this.dataList[3] = item.existing;
}
this.chart = echarts.init(this.$refs.chart)
this.setOptions()
this.chart = echarts.init(this.$refs.chart);
this.setOptions();
}
}
})
});
},
setOptions() {
this.chart.setOption({
polar: {
radius: [100, '80%'],
radius: [100, "80%"],
},
angleAxis: {
max: Math.max(...this.dataList) + 100,
@ -238,12 +284,12 @@ export default {
},
radiusAxis: {
show: false,
type: 'category',
data: ['缺少', '已用', '到货', '现有'],
type: "category",
data: ["缺少", "已用", "到货", "现有"],
z: 3,
axisLabel: {
show: false,
color: '#f00',
color: "#f00",
},
},
// tooltip: {
@ -273,78 +319,78 @@ export default {
// },
// },
series: {
type: 'bar',
type: "bar",
barWidth: 20,
data: this.dataList,
coordinateSystem: 'polar',
coordinateSystem: "polar",
label: {
show: false,
position: 'middle',
formatter: '{b}: {c}',
position: "middle",
formatter: "{b}: {c}",
},
roundCap: true,
itemStyle: {
borderColor: 'green',
borderColor: "green",
opacity: 0.8,
borderWidth: 1,
normal: {
//每个柱子的颜色即为colorList数组里的每一项如果柱子数目多于colorList的长度则柱子颜色循环使用该数组
color: function (params) {
var colorList = ['#fa8c16', '#8bb1ed', '#55c5a2', '#f6d97e']
return colorList[params.dataIndex]
var colorList = ["#fa8c16", "#8bb1ed", "#55c5a2", "#f6d97e"];
return colorList[params.dataIndex];
},
},
},
},
})
});
},
initChart2() {
this.request({
url: '/hx/scientificProduction/getModelStationPic',
url: "/hx/scientificProduction/getModelStationPic",
}).then(({ data }) => {
this.chart2 = echarts.init(this.$refs.chart2)
this.setOptions2(data)
})
this.chart2 = echarts.init(this.$refs.chart2);
this.setOptions2(data);
});
},
setOptions2(resData) {
let titList = []
let newData = []
let titList = [];
let newData = [];
// coolingNumber // 降温数
// freeNumber // 空闲数
// riseNumber // 升温数
// warmNumber // 保温数
for (const key in resData) {
if (Object.hasOwnProperty.call(resData, key)) {
const item = resData[key]
const item = resData[key];
titList.push({
name: key,
value: item.total,
})
});
for (const k in item) {
if (Object.hasOwnProperty.call(item, k)) {
let name = ''
if (k == 'coolingNumber') name = '降温数'
else if (k == 'freeNumber') name = '空闲数'
else if (k == 'riseNumber') name = '升温数'
else if (k == 'warmNumber') name = '保温数'
if (name != '') {
let name = "";
if (k == "coolingNumber") name = "降温数";
else if (k == "freeNumber") name = "空闲数";
else if (k == "riseNumber") name = "升温数";
else if (k == "warmNumber") name = "保温数";
if (name != "") {
newData.push({
name,
value:
name == '降温数'
? item['coolingNumber']
: name == '空闲数'
? item['freeNumber']
: name == '升温数'
? item['riseNumber']
: name == '保温数'
? item['warmNumber']
: '',
name == "降温数"
? item["coolingNumber"]
: name == "空闲数"
? item["freeNumber"]
: name == "升温数"
? item["riseNumber"]
: name == "保温数"
? item["warmNumber"]
: "",
itemStyle: {
color: item.stationName == '硫化' ? '#5B8FF9' : '#5AD8A6',
borderColor: '#fff',
color: item.stationName == "硫化" ? "#5B8FF9" : "#5AD8A6",
borderColor: "#fff",
},
})
});
}
}
}
@ -353,27 +399,27 @@ export default {
this.chart2.setOption({
tooltip: {
trigger: 'item',
formatter: '{b}: {c}',
position: 'inner',
trigger: "item",
formatter: "{b}: {c}",
position: "inner",
},
series: [
{
name: '详情',
type: 'pie',
center: ['45%', '50%'],
radius: ['60%', '80%'],
name: "详情",
type: "pie",
center: ["45%", "50%"],
radius: ["60%", "80%"],
avoidLabelOverlap: false,
hoverAnimation: false, // hover 效果
label: {
show: false,
position: 'center',
position: "center",
},
emphasis: {
label: {
show: false,
fontSize: '40',
fontWeight: 'bold',
fontSize: "40",
fontWeight: "bold",
},
},
labelLine: {
@ -388,8 +434,8 @@ export default {
normal: {
label: {
show: true,
formatter: '{b}',
position: 'inner',
formatter: "{b}",
position: "inner",
},
labelLine: {
show: true,
@ -398,21 +444,21 @@ export default {
},
},
{
name: '详情',
type: 'pie',
radius: ['35%', '55%'],
center: ['45%', '50%'],
name: "详情",
type: "pie",
radius: ["35%", "55%"],
center: ["45%", "50%"],
avoidLabelOverlap: false,
hoverAnimation: false, // hover 效果
label: {
show: false,
position: 'center',
position: "center",
},
emphasis: {
label: {
show: false,
fontSize: '40',
fontWeight: 'bold',
fontSize: "40",
fontWeight: "bold",
},
},
labelLine: {
@ -428,24 +474,24 @@ export default {
normal: {
label: {
show: true,
formatter: '{b}',
position: 'inner',
formatter: "{b}",
position: "inner",
},
labelLine: {
show: true,
},
},
},
color: ['#5B8FF9', '#5AD8A6'],
color: ["#5B8FF9", "#5AD8A6"],
},
],
})
});
},
},
created() {
this.getData()
this.getData();
},
}
};
</script>
<style lang="scss" scoped>
.tit_box {

View File

@ -1,32 +1,48 @@
<template>
<div class="app-container">
<el-divider content-position="left"><span class="text-bold-18">全厂资源动态</span></el-divider>
<el-divider content-position="left"
><span class="text-bold-18">全厂资源动态</span></el-divider
>
<left1 />
<el-divider content-position="left"><span class="text-bold-18">车辆管理</span></el-divider>
<el-divider content-position="left"
><span class="text-bold-18">车辆管理</span></el-divider
>
<left2 />
<el-divider content-position="left"><span class="text-bold-18">本周计划</span></el-divider>
<el-divider content-position="left"
><span class="text-bold-18">本周计划</span></el-divider
>
<left3 />
<el-divider content-position="left"><span class="text-bold-18">全厂工房作业信息</span></el-divider>
<el-divider content-position="left"
><span class="text-bold-18">全厂工房作业信息</span></el-divider
>
<center1 />
<el-divider content-position="left"><span class="text-bold-18">危险点工房图片管理</span></el-divider>
<el-divider content-position="left"
><span class="text-bold-18">危险点工房图片管理</span></el-divider
>
<center2 />
<el-divider content-position="left"><span class="text-bold-18">全厂作业明细</span></el-divider>
<el-divider content-position="left"
><span class="text-bold-18">全厂作业明细</span></el-divider
>
<right1 />
<el-divider content-position="left"><span class="text-bold-18">装药当前作业内容</span></el-divider>
<el-divider content-position="left"
><span class="text-bold-18">装药当前作业内容</span></el-divider
>
<right2 />
<el-divider content-position="left"><span class="text-bold-18">酯生产量</span></el-divider>
<el-divider content-position="left"
><span class="text-bold-18">硝酸酯生产量</span></el-divider
>
<right3 />
</div>
</template>
<script>
import left1 from './left1.vue'
import left2 from './left2.vue'
import left3 from './left3.vue'
import center1 from './center1.vue'
import center2 from './center2.vue'
import right1 from './right1.vue'
import right2 from './right2.vue'
import right3 from './right3.vue'
import left1 from "./left1.vue";
import left2 from "./left2.vue";
import left3 from "./left3.vue";
import center1 from "./center1.vue";
import center2 from "./center2.vue";
import right1 from "./right1.vue";
import right2 from "./right2.vue";
import right3 from "./right3.vue";
export default {
components: {
left1,
@ -38,7 +54,7 @@ export default {
right2,
right3,
},
}
};
</script>
<style lang="scss" scoped>
.app-container {

View File

@ -4,7 +4,14 @@
<el-col :span="24" :xs="24">
<el-row :gutter="10" class="mb8 fr">
<el-col :span="1.5">
<el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport">导入</el-button>
<el-button
type="info"
plain
icon="el-icon-upload2"
size="mini"
@click="handleImport"
>导入</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
@ -23,9 +30,21 @@
<el-table-column label="序号" align="center" prop="id" width="80" />
<el-table-column label="酯工作内容" align="center" prop="jobContent" />
<el-table-column label="开车时间" align="center" prop="driveDate" />
<el-table-column label="预计结束时间" align="center" prop="forecastEndDate" />
<el-table-column label="酯生产量" align="center" prop="esterProduction" />
<el-table-column label="粘合剂干燥情况" align="center" prop="cleanStatus" />
<el-table-column
label="预计结束时间"
align="center"
prop="forecastEndDate"
/>
<el-table-column
label="硝酸酯生产量"
align="center"
prop="esterProduction"
/>
<el-table-column
label="粘合剂干燥情况"
align="center"
prop="cleanStatus"
/>
</el-table>
<pagination
@ -39,7 +58,12 @@
/>
</el-col>
<!-- 用户导入对话框 -->
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
<el-dialog
:title="upload.title"
:visible.sync="upload.open"
width="400px"
append-to-body
>
<el-upload
ref="upload"
:limit="1"
@ -66,8 +90,8 @@
</el-row>
</template>
<script>
import { rightThreeList, rightThreeImportTemplate } from './indexApi'
import { getToken } from '@/utils/auth'
import { rightThreeList, rightThreeImportTemplate } from "./indexApi";
import { getToken } from "@/utils/auth";
export default {
data() {
return {
@ -89,27 +113,27 @@ export default {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: '',
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: 'Bearer ' + getToken() },
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + '/hx/esterProduction/importData',
url: process.env.VUE_APP_BASE_API + "/hx/esterProduction/importData",
},
}
};
},
methods: {
/** 查询用户列表 */
getList() {
this.loading = true
rightThreeList(this.queryParams).then(res => {
this.userList = res.rows
this.total = res.total
this.loading = false
})
this.loading = true;
rightThreeList(this.queryParams).then((res) => {
this.userList = res.rows;
this.total = res.total;
this.loading = false;
});
},
/** 删除按钮操作 */
// handleDelete(row) {
@ -126,49 +150,49 @@ export default {
// },
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams
const queryParams = this.queryParams;
this.$modal
.confirm('是否确认导出所有数据项?')
.confirm("是否确认导出所有数据项?")
.then(() => {
this.exportLoading = true
return exportUser(queryParams)
this.exportLoading = true;
return exportUser(queryParams);
})
.then(response => {
this.$download.name(response.msg)
this.exportLoading = false
.then((response) => {
this.$download.name(response.msg);
this.exportLoading = false;
})
.catch(() => {})
.catch(() => {});
},
/** 导入按钮操作 */
handleImport() {
this.upload.title = '数据导入'
this.upload.open = true
this.upload.title = "数据导入";
this.upload.open = true;
},
/** 下载模板操作 */
importTemplate() {
rightThreeImportTemplate().then(response => {
this.$download.name(response.msg)
})
rightThreeImportTemplate().then((response) => {
this.$download.name(response.msg);
});
},
// 文件上传中处理
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true
this.upload.isUploading = true;
},
// 文件上传成功处理
handleFileSuccess(response, file, fileList) {
this.upload.open = false
this.upload.isUploading = false
this.$refs.upload.clearFiles()
this.$alert(response.msg, '导入结果', { dangerouslyUseHTMLString: true })
this.getList()
this.upload.open = false;
this.upload.isUploading = false;
this.$refs.upload.clearFiles();
this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
this.getList();
},
// 提交上传文件
submitFileForm() {
this.$refs.upload.submit()
this.$refs.upload.submit();
},
},
created() {
this.getList()
this.getList();
},
}
};
</script>

View File

@ -35,7 +35,7 @@ module.exports = {
[process.env.VUE_APP_BASE_API]: {
// target: `http://localhost:1818`,
// target: `http://120.26.107.74:1818`,
target: `http://192.168.0.115:1818`,
target: `http://192.168.0.154:1818`,
// target: `http://124.70.138.50:1818`,
changeOrigin: true,
pathRewrite: {