'del_parseInt'
This commit is contained in:
commit
b0e38a378b
3
.env.dev
3
.env.dev
@ -1,7 +1,7 @@
|
||||
###
|
||||
# @Author: Do not edit
|
||||
# @Date: 2023-08-29 09:40:39
|
||||
# @LastEditTime: 2024-01-30 16:17:03
|
||||
# @LastEditTime: 2024-02-01 16:49:38
|
||||
# @LastEditors: zhp
|
||||
# @Description:
|
||||
###
|
||||
@ -22,6 +22,7 @@ VUE_APP_BASE_API = 'http://10.70.2.2:8080'
|
||||
# VUE_APP_BASE_API = 'http://192.168.4.159:48080'
|
||||
# VUE_APP_BASE_API = 'http://192.168.1.104:48082'
|
||||
# VUE_APP_BASE_API = 'http://192.168.0.33:48082'
|
||||
# VUE_APP_BASE_API = 'http://192.168.0.33:48082'
|
||||
# VUE_APP_BASE_API = 'http://192.168.1.62:48082'
|
||||
# VUE_APP_BASE_API = 'http://192.168.1.78:48082'
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Author: zhp
|
||||
* @Date: 2023-12-04 14:10:37
|
||||
* @LastEditTime: 2024-01-30 18:06:48
|
||||
* @LastEditTime: 2024-01-31 09:56:09
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
*/
|
||||
@ -28,7 +28,7 @@ export function updateQualityInspectionBoxBtn(data) {
|
||||
// 删除安灯按钮16键对应
|
||||
export function deleteQualityInspectionBoxBtn(id) {
|
||||
return request({
|
||||
url: 'base/quality-inspection-box-btn-auth/delete?id=' + id,
|
||||
url: 'base/quality-inspection-box-btn-auth/delete?userId=' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
@ -36,7 +36,7 @@ export function deleteQualityInspectionBoxBtn(id) {
|
||||
// 获得安灯按钮16键对应
|
||||
export function getQualityInspectionBoxBtn(id) {
|
||||
return request({
|
||||
url: 'base/quality-inspection-box-btn-auth/get?id=' + id,
|
||||
url: 'base/quality-inspection-box-btn-auth/get?userId=' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-07-19 15:18:30
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2024-01-19 16:31:53
|
||||
* @LastEditTime: 2024-02-01 15:35:10
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -881,6 +881,7 @@ export default {
|
||||
background-size: 100% 100%;
|
||||
color: #00fff0;
|
||||
text-align: center;
|
||||
word-spacing:8px;
|
||||
position: relative;
|
||||
.unit{
|
||||
position: absolute;
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2024-01-29 16:50:26
|
||||
* @LastEditTime: 2024-01-29 17:06:50
|
||||
* @LastEditTime: 2024-02-01 15:35:43
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -882,6 +882,7 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.visual-container {
|
||||
width: 1920px;
|
||||
height: 1080px;
|
||||
@ -895,7 +896,7 @@ export default {
|
||||
background-size: 100% 100%;
|
||||
color: rgba(0, 255, 247, 1);
|
||||
text-align: center;
|
||||
|
||||
word-spacing: 8px;
|
||||
.unit {
|
||||
position: absolute;
|
||||
left: 260px;
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: gtz
|
||||
* @Date: 2022-01-19 15:58:17
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2024-01-29 15:35:37
|
||||
* @LastEditTime: 2024-02-01 15:25:14
|
||||
* @Description: file content
|
||||
* @FilePath: \mt-bus-fe\src\views\OperationalOverview\components\baseContainer\index.vue
|
||||
-->
|
||||
@ -250,12 +250,12 @@ export default {
|
||||
width: 100%;
|
||||
color: #ffffff;
|
||||
font-size: 24px;
|
||||
padding: 0.67em;
|
||||
padding: 0.67em 0.67em 0.3em 0.67em;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.bar-content {
|
||||
padding: 1em;
|
||||
padding: .5em 1em 1em 1em;
|
||||
flex: 1 auto;
|
||||
position: relative;
|
||||
}
|
||||
|
@ -1,13 +1,13 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-09-21 09:06:28
|
||||
* @LastEditTime: 2024-01-29 15:14:40
|
||||
* @LastEditTime: 2024-02-01 15:52:41
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<div :id="id" class="productChart" :style="{ height: '390px', width: width }" />
|
||||
<div style="height: 400px;">
|
||||
<div :id="id" class="productChart" :style="{ height: '420px', width: width }" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
import * as echarts from 'echarts';
|
||||
import 'echarts/theme/macarons' // echarts theme
|
||||
import resize from './mixins/resize'
|
||||
|
||||
// import resize from './../mixins/resize'
|
||||
export default {
|
||||
name: 'OverviewBar',
|
||||
mixins: [resize],
|
||||
@ -67,12 +67,18 @@ export default {
|
||||
}]
|
||||
}
|
||||
},
|
||||
// mounted() {
|
||||
// console.log('mounted')
|
||||
// console.log('borderRadius: ', this.borderRadius)
|
||||
// // this.$nextTick(() => {
|
||||
// // this.initChart()
|
||||
// // })
|
||||
// },
|
||||
mounted() {
|
||||
console.log('mounted')
|
||||
console.log('borderRadius: ', this.borderRadius)
|
||||
// this.$nextTick(() => {
|
||||
// this.initChart()
|
||||
// })
|
||||
this.$el.addEventListener('resize', () => {
|
||||
console.log('resziing.....');
|
||||
});
|
||||
this.initChart()
|
||||
},
|
||||
beforeDestroy() {
|
||||
if (!this.chart) {
|
||||
@ -149,15 +155,11 @@ export default {
|
||||
type: 'cross'
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
left: "6%",
|
||||
right: "6%",
|
||||
bottom: "3%",
|
||||
containLabel: true
|
||||
},
|
||||
grid: { top: 90, right: 60, bottom: 20, left: 90 },
|
||||
legend: {
|
||||
itemWidth: 10,
|
||||
itemHeight: 10,
|
||||
top: '0%',
|
||||
right: '20px',
|
||||
data: ['产线产量', '产线良品率'],
|
||||
textStyle: {
|
||||
@ -175,9 +177,12 @@ export default {
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
textStyle: {
|
||||
color: 'rgba(255,255,255,0.5)' // 坐标值得具体的颜色
|
||||
}
|
||||
color: "#fff",
|
||||
fontSize: 12,
|
||||
// formatter: '{value}'
|
||||
// textStyle: {
|
||||
// color: 'rgba(255,255,255,0.5)' // 坐标值得具体的颜色
|
||||
// }
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
@ -215,10 +220,11 @@ export default {
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
textStyle: {
|
||||
color: '#ced1d5', // 坐标值得具体的颜色
|
||||
formatter: '{value}%'
|
||||
}
|
||||
color: "#fff",
|
||||
fontSize: 12,
|
||||
// formatter: '{value}'
|
||||
formatter: '{value}%'
|
||||
// }
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
@ -242,7 +248,7 @@ export default {
|
||||
// },
|
||||
scale: true,
|
||||
type: 'value',
|
||||
name: '产量/㎡', // y轴上方的单位
|
||||
name: '产量/片', // y轴上方的单位
|
||||
nameTextStyle: {
|
||||
color: "#fff",
|
||||
// fontSize: 10,
|
||||
@ -259,10 +265,13 @@ export default {
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
textStyle: {
|
||||
color: 'rgba(255,255,255,0.5)', // 坐标值得具体的颜色
|
||||
formatter: '{value} 片'
|
||||
}
|
||||
// textStyle: {
|
||||
// color: 'rgba(255,255,255,0.5)', // 坐标值得具体的颜色
|
||||
color: "#fff",
|
||||
fontSize: 12,
|
||||
// formatter: '{value}'
|
||||
formatter: '{value} 片'
|
||||
// }
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
@ -286,6 +295,9 @@ export default {
|
||||
</script>
|
||||
<style>
|
||||
.productChart{
|
||||
top: -40px;
|
||||
position: absolute;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
top: -30px;
|
||||
}
|
||||
</style>
|
||||
|
@ -150,9 +150,9 @@ export default {
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
textStyle: {
|
||||
color: 'rgba(255,255,255,1)' // 坐标值得具体的颜色
|
||||
}
|
||||
color: "#fff",
|
||||
fontSize: 12,
|
||||
// formatter: '{value}'
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
@ -162,25 +162,29 @@ export default {
|
||||
data: this.nameList
|
||||
},
|
||||
yAxis: {
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
type: 'solid',
|
||||
color: '#213259', // 左边线的颜色
|
||||
width: '1' // 坐标线的宽度
|
||||
}
|
||||
name: '单位kwh',
|
||||
nameTextStyle: {
|
||||
color: '#fff',
|
||||
fontSize: 10,
|
||||
align: 'right',
|
||||
},
|
||||
type: 'value',
|
||||
axisLabel: {
|
||||
show: true, // 是否显示 y 轴
|
||||
textStyle: {
|
||||
color: 'rgba(255,255,255,1)' // 坐标值得具体的颜色
|
||||
}
|
||||
color: "#fff",
|
||||
fontSize: 12,
|
||||
formatter: '{value}/kwh'
|
||||
},
|
||||
axisLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: "#213259",
|
||||
},
|
||||
},
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
color: '#213259'
|
||||
}
|
||||
},
|
||||
type: 'value'
|
||||
color: "#213259a0",
|
||||
},
|
||||
}
|
||||
},
|
||||
// legend: {
|
||||
// itemHeight: 10,
|
||||
|
62
src/views/OperationalOverview/components/resize.js
Normal file
62
src/views/OperationalOverview/components/resize.js
Normal file
@ -0,0 +1,62 @@
|
||||
/*
|
||||
* @Author: zhp
|
||||
* @Date: 2024-02-01 15:39:22
|
||||
* @LastEditTime: 2024-02-01 15:39:23
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
*/
|
||||
import { debounce } from '@/utils'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
$_sidebarElm: null,
|
||||
$_resizeHandler: null
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$_resizeHandler = debounce(() => {
|
||||
if (this.chart) {
|
||||
this.chart.resize()
|
||||
}
|
||||
}, 100)
|
||||
this.$_initResizeEvent()
|
||||
this.$_initSidebarResizeEvent()
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.$_destroyResizeEvent()
|
||||
this.$_destroySidebarResizeEvent()
|
||||
},
|
||||
// to fixed bug when cached by keep-alive
|
||||
// https://github.com/PanJiaChen/vue-element-admin/issues/2116
|
||||
activated() {
|
||||
this.$_initResizeEvent()
|
||||
this.$_initSidebarResizeEvent()
|
||||
},
|
||||
deactivated() {
|
||||
this.$_destroyResizeEvent()
|
||||
this.$_destroySidebarResizeEvent()
|
||||
},
|
||||
methods: {
|
||||
// use $_ for mixins properties
|
||||
// https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential
|
||||
$_initResizeEvent() {
|
||||
window.addEventListener('resize', this.$_resizeHandler)
|
||||
},
|
||||
$_destroyResizeEvent() {
|
||||
window.removeEventListener('resize', this.$_resizeHandler)
|
||||
},
|
||||
$_sidebarResizeHandler(e) {
|
||||
if (e.propertyName === 'width') {
|
||||
this.$_resizeHandler()
|
||||
}
|
||||
},
|
||||
$_initSidebarResizeEvent() {
|
||||
this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]
|
||||
this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler)
|
||||
},
|
||||
$_destroySidebarResizeEvent() {
|
||||
this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler)
|
||||
}
|
||||
}
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-07-19 15:18:30
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2024-01-30 17:19:32
|
||||
* @LastEditTime: 2024-02-01 15:35:29
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -103,13 +103,13 @@
|
||||
</base-container>
|
||||
</el-col>
|
||||
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12">
|
||||
<base-container :show-time="true" :no-content-padding="true" :height="318 + 338 + 16" :size="'middle'"
|
||||
<base-container :show-time="true" :no-content-padding="true" :height="318 + 338 + 16" :size="'middle'"
|
||||
:title="'产线产量及良品率'" :title-icon="'productLine'">
|
||||
<!-- <div style="width: 45%;position: absolute; top: 3em; right: 3em;">
|
||||
<top-radio-group />
|
||||
</div> -->
|
||||
<!-- 像下面这样表格里的limit值,也许可以用js动态计算出来 -->
|
||||
<double-y-chart ref="productLineChart" :id=" 'doubleYChart' " :height="359" :show-legend="true" />
|
||||
<double-y-chart ref="productLineChart" :id=" 'doubleYChart' " :height="390" :show-legend="true" />
|
||||
</base-container>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -993,6 +993,7 @@ export default {
|
||||
background: url('../../assets/img/OperationalOverview/title.png') no-repeat;
|
||||
background-size: 100% 100%;
|
||||
color: #00fff0;
|
||||
word-spacing: 8px;
|
||||
text-align: center;
|
||||
.unit {
|
||||
position: absolute;
|
||||
|
@ -89,7 +89,7 @@
|
||||
<el-form ref="updateAssigneeForm" :model="updateAssignee.form" :rules="updateAssignee.rules" label-width="110px">
|
||||
<el-form-item label="新审批人" prop="assigneeUserId">
|
||||
<el-select v-model="updateAssignee.form.assigneeUserId" clearable style="width: 100%">
|
||||
<el-option v-for="item in userOptions" :key="parseInt(item.id)" :label="item.nickname" :value="parseInt(item.id)" />
|
||||
<el-option v-for="item in userOptions" :key="item.id" :label="item.nickname" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
@ -41,7 +41,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.type === 10" label="指定角色" prop="roleIds">
|
||||
<el-select v-model="form.roleIds" multiple clearable style="width: 100%">
|
||||
<el-option v-for="item in roleOptions" :key="parseInt(item.id)" :label="item.name" :value="parseInt(item.id)" />
|
||||
<el-option v-for="item in roleOptions" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.type === 20 || form.type === 21" label="指定部门" prop="deptIds">
|
||||
@ -50,17 +50,17 @@
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.type === 22" label="指定岗位" prop="postIds">
|
||||
<el-select v-model="form.postIds" multiple clearable style="width: 100%">
|
||||
<el-option v-for="item in postOptions" :key="parseInt(item.id)" :label="item.name" :value="parseInt(item.id)" />
|
||||
<el-option v-for="item in postOptions" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.type === 30 || form.type === 31 || form.type === 32" label="指定用户" prop="userIds">
|
||||
<el-select v-model="form.userIds" multiple clearable style="width: 100%">
|
||||
<el-option v-for="item in userOptions" :key="parseInt(item.id)" :label="item.nickname" :value="parseInt(item.id)" />
|
||||
<el-option v-for="item in userOptions" :key="item.id" :label="item.nickname" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.type === 40" label="指定用户组" prop="userGroupIds">
|
||||
<el-select v-model="form.userGroupIds" multiple clearable style="width: 100%">
|
||||
<el-option v-for="item in userGroupOptions" :key="parseInt(item.id)" :label="item.name" :value="parseInt(item.id)" />
|
||||
<el-option v-for="item in userGroupOptions" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="form.type === 50" label="指定脚本" prop="scripts">
|
||||
|
@ -246,9 +246,7 @@ export default {
|
||||
.map((_, index) => {
|
||||
const today = new Date();
|
||||
const dtimestamp = today - (index+1) * 24 * 60 * 60 * 1000;
|
||||
return `${currentMonth < 10?'0'+currentMonth:currentMonth }.${new Date(
|
||||
dtimestamp
|
||||
).getDate()}`;}).reverse()
|
||||
return `${new Date(dtimestamp).getMonth()+1}.${new Date(dtimestamp).getDate()}`;}).reverse()
|
||||
}else if (this.chartTime == "月") {
|
||||
if (currentMonth in [1, 3, 5, 7, 8, 10, 12]) {
|
||||
days = 31;
|
||||
|
@ -51,7 +51,7 @@ export default {
|
||||
list: {
|
||||
handler(val) {
|
||||
if (val) {
|
||||
console.log(val);
|
||||
// console.log(val);
|
||||
this.list__inner = val.map((item) => ({ ...item, disabled: false }));
|
||||
}
|
||||
},
|
||||
@ -60,7 +60,8 @@ export default {
|
||||
},
|
||||
currentSelect: {
|
||||
handler(val) {
|
||||
// val: string
|
||||
// val: string
|
||||
console.log(val)
|
||||
this.selected = val;
|
||||
this.randomKey = Math.random();
|
||||
// 更新选中状态
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
<!--
|
||||
filename: BomSelector.vue
|
||||
author: liubin
|
||||
date: 2023-11-17 16:23:28
|
||||
description:
|
||||
description:
|
||||
-->
|
||||
|
||||
<template>
|
||||
@ -119,7 +119,9 @@ export default {
|
||||
console.log('value', val);
|
||||
if (val) {
|
||||
this.selectedEquipments = val.map((item) => item.equipmentId);
|
||||
this.selected = val;
|
||||
this.selected = val
|
||||
console.log(this.materialsBomList)
|
||||
// console.log(this.selectedEquipments)
|
||||
}
|
||||
},
|
||||
deep: true,
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
<!--
|
||||
filename: ProcessBomList.vue
|
||||
author: liubin
|
||||
date: 2023-10-20 15:00:58
|
||||
description:
|
||||
description:
|
||||
-->
|
||||
|
||||
<template>
|
||||
@ -261,7 +261,8 @@ export default {
|
||||
}
|
||||
// 设置设备id
|
||||
eq.materialsBom.equipmentId = eq.id;
|
||||
eq.valuesBom.equipmentId = eq.id;
|
||||
eq.valuesBom.equipmentId = eq.id;
|
||||
console.log(this.selectedBoms)
|
||||
return eq;
|
||||
});
|
||||
} else {
|
||||
|
@ -32,7 +32,7 @@ SOFTWARE.
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="公众号" prop="accountId">
|
||||
<el-select v-model="queryParams.accountId" placeholder="请选择公众号">
|
||||
<el-option v-for="item in accounts" :key="parseInt(item.id)" :label="item.name" :value="parseInt(item.id)" />
|
||||
<el-option v-for="item in accounts" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
@ -33,7 +33,7 @@ SOFTWARE.
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="公众号" prop="accountId">
|
||||
<el-select v-model="queryParams.accountId" placeholder="请选择公众号">
|
||||
<el-option v-for="item in accounts" :key="parseInt(item.id)" :label="item.name" :value="parseInt(item.id)" />
|
||||
<el-option v-for="item in accounts" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
@ -31,7 +31,7 @@ SOFTWARE.
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="公众号" prop="accountId">
|
||||
<el-select v-model="queryParams.accountId" placeholder="请选择公众号">
|
||||
<el-option v-for="item in accounts" :key="parseInt(item.id)" :label="item.name" :value="parseInt(item.id)" />
|
||||
<el-option v-for="item in accounts" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
@ -33,7 +33,7 @@ SOFTWARE.
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="公众号" prop="accountId">
|
||||
<el-select v-model="queryParams.accountId" placeholder="请选择公众号">
|
||||
<el-option v-for="item in accounts" :key="parseInt(item.id)" :label="item.name" :value="parseInt(item.id)" />
|
||||
<el-option v-for="item in accounts" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
@ -32,7 +32,7 @@ SOFTWARE.
|
||||
<el-form ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="公众号" prop="accountId">
|
||||
<el-select v-model="accountId" placeholder="请选择公众号">
|
||||
<el-option v-for="item in accounts" :key="parseInt(item.id)" :label="item.name" :value="parseInt(item.id)" />
|
||||
<el-option v-for="item in accounts" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
@ -6,7 +6,7 @@
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="公众号" prop="accountId">
|
||||
<el-select v-model="queryParams.accountId" placeholder="请选择公众号">
|
||||
<el-option v-for="item in accounts" :key="parseInt(item.id)" :label="item.name" :value="parseInt(item.id)" />
|
||||
<el-option v-for="item in accounts" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- TODO 等待处理 -->
|
||||
|
@ -6,7 +6,7 @@
|
||||
<el-form ref="queryForm" size="small" :inline="true" label-width="68px">
|
||||
<el-form-item label="公众号" prop="accountId">
|
||||
<el-select v-model="accountId" @change="getSummary">
|
||||
<el-option v-for="item in accounts" :key="parseInt(item.id)" :label="item.name" :value="parseInt(item.id)" />
|
||||
<el-option v-for="item in accounts" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="时间范围" prop="date">
|
||||
|
@ -6,7 +6,7 @@
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="公众号" prop="accountId">
|
||||
<el-select v-model="queryParams.accountId" placeholder="请选择公众号">
|
||||
<el-option v-for="item in accounts" :key="parseInt(item.id)" :label="item.name" :value="parseInt(item.id)" />
|
||||
<el-option v-for="item in accounts" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="标签名称" prop="name">
|
||||
|
@ -6,7 +6,7 @@
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="公众号" prop="accountId">
|
||||
<el-select v-model="queryParams.accountId" placeholder="请选择公众号">
|
||||
<el-option v-for="item in accounts" :key="parseInt(item.id)" :label="item.name" :value="parseInt(item.id)" />
|
||||
<el-option v-for="item in accounts" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户标识" prop="openid">
|
||||
|
@ -1,14 +1,14 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2024-01-30 10:54:51
|
||||
* @LastEditTime: 2024-01-30 16:53:35
|
||||
* @LastEditTime: 2024-02-01 14:46:19
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<div class="bom-selection" v-for="item in list__inner" :key="item.id + randomKey">
|
||||
<el-checkbox :label="item.name" :checked="item.id === selected" @change="(e) => handleChange(item, e)"
|
||||
<el-checkbox :label="item.name" :checked="item.choose" @change="(e) => handleChange(item, e)"
|
||||
class="sl__body-item"></el-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
@ -25,8 +25,8 @@ export default {
|
||||
// },
|
||||
props: {
|
||||
currentSelect: {
|
||||
type: String | Number,
|
||||
default: null,
|
||||
type: Array,
|
||||
default: ()=>[],
|
||||
},
|
||||
list: {
|
||||
type: Array,
|
||||
@ -46,24 +46,29 @@ export default {
|
||||
},
|
||||
watch: {
|
||||
list: {
|
||||
handler(val) {
|
||||
handler(val) {
|
||||
console.log(val)
|
||||
if (val) {
|
||||
this.list__inner = val.map((item) => ({ ...item, disabled: false }));
|
||||
this.list__inner = val.map((item) => ({ ...item, choose: false }));
|
||||
}
|
||||
},
|
||||
deep: true,
|
||||
immediate: true,
|
||||
},
|
||||
currentSelect: {
|
||||
handler(val) {
|
||||
handler(val) {
|
||||
console.log(val)
|
||||
// val: string
|
||||
this.selected = val;
|
||||
this.randomKey = Math.random();
|
||||
// 更新选中状态
|
||||
if (val) {
|
||||
this.list__inner.forEach((item) => {
|
||||
if (item.id == val) item.disabled = false;
|
||||
else item.disabled = true;
|
||||
this.list__inner.forEach((item,index) => {
|
||||
val.forEach((ele) => {
|
||||
console.log(ele)
|
||||
if (item.id == ele.id) item.choose = true;console.log(ele.id)
|
||||
// else item.choose = false;
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2024-01-30 10:53:32
|
||||
* @LastEditTime: 2024-01-30 17:51:13
|
||||
* @LastEditTime: 2024-02-01 14:47:03
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -36,7 +36,7 @@
|
||||
|
||||
<BomSelection ref="materialsBomList" :key="materialsBomList.equipmentId + 'materialsBomList'"
|
||||
:list="materialsBomList" :equipment-id="materialsBomList.equipmentId"
|
||||
:current-select="currentSelectedMaterialBomId" @change="handleMaterialBomChange" />
|
||||
:current-select="currentSelectedIdList" @change="handleMaterialBomChange" />
|
||||
</div>
|
||||
</el-col>
|
||||
<!-- <el-col :span="8" style="border-left: 1px solid #ccc">
|
||||
@ -78,7 +78,11 @@ export default {
|
||||
value: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
},
|
||||
chooseList: {
|
||||
type: Array,
|
||||
default:() => []
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -87,19 +91,20 @@ export default {
|
||||
selected: [],
|
||||
bomArr:[],
|
||||
materialsBomList: [],
|
||||
valuesBomList: [],
|
||||
// valuesBomList: [],
|
||||
|
||||
refreshKey: Math.random(),
|
||||
currentSelectedMaterialBomId: null,
|
||||
currentSelectedIdList: [],
|
||||
currentSelectedValueBomId: null,
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
value: {
|
||||
handler(val) {
|
||||
handler(val) {
|
||||
console.log('value', val);
|
||||
if (val) {
|
||||
this.selectedEquipments = val.map((item) => item.equipmentId);
|
||||
this.selectedEquipments = val.map((item) => item.equipmentId)
|
||||
console.log(this.selectedEquipments)
|
||||
this.selected = val;
|
||||
}
|
||||
},
|
||||
@ -109,35 +114,55 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
filteredBomList() {
|
||||
return this.bomList.filter((item) => {
|
||||
return this.bomList.filter((item) => {
|
||||
// console.log(item)
|
||||
return item.name.includes(this.searchText);
|
||||
});
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
// this.getList()
|
||||
},
|
||||
methods: {
|
||||
commit() {
|
||||
this.$emit('update', this.selected);
|
||||
},
|
||||
|
||||
},
|
||||
// getList() {
|
||||
// this.selectedEquipments = this.chooseList
|
||||
// console.log(this.selectedEquipments)
|
||||
// console.log(this.chooseList);
|
||||
// },
|
||||
handleLoadDom(eq) {
|
||||
// 只显示 dom 列表
|
||||
this.currentEquipment = eq.id;
|
||||
this.materialsBomList = eq.materialsBom;
|
||||
this.valuesBomList = eq.valuesBom;
|
||||
this.materialsBomList = eq.materialsBom;
|
||||
console.log(this.materialsBomList)
|
||||
// this.valuesBomList = eq.valuesBom;
|
||||
// 回复选中的bom信息
|
||||
if (this.selectedEquipments.includes(eq.id)) {
|
||||
const selectedItem = this.selected.find(
|
||||
(item) => item.equipmentId == eq.id
|
||||
);
|
||||
this.currentSelectedMaterialBomId =
|
||||
selectedItem.equMaterialBomId ?? null;
|
||||
this.currentSelectedValueBomId = selectedItem.equValueBomId ?? null;
|
||||
)
|
||||
// console.log(selectedItem)
|
||||
|
||||
let arr = []
|
||||
console.log(selectedItem.children);
|
||||
selectedItem.children.forEach((ele) => {
|
||||
console.log(ele)
|
||||
arr.push({ id: ele.id })
|
||||
})
|
||||
// console.log(arr)
|
||||
this.currentSelectedIdList = arr
|
||||
console.log(this.currentSelectedIdList);
|
||||
// selectedItem.equMaterialBomId ?? null;
|
||||
// this.currentSelectedValueBomId = selectedItem.equValueBomId ?? null;
|
||||
}
|
||||
},
|
||||
|
||||
handleEquipmentChange(eq, selected) {
|
||||
this.currentEquipment = eq.id;
|
||||
this.materialsBomList = eq.materialsBom;
|
||||
this.materialsBomList = eq.materialsBom
|
||||
console.log(this.value)
|
||||
this.valuesBomList = eq.valuesBom;
|
||||
if (selected) {
|
||||
console.log(selected)
|
||||
@ -165,6 +190,7 @@ export default {
|
||||
},
|
||||
|
||||
handleMaterialBomChange(equipmentId, bomId, selected) {
|
||||
// console.log(this.chooseList)
|
||||
const selectedItem = this.selected.find(
|
||||
(item) => item.equipmentId == equipmentId
|
||||
);
|
||||
@ -178,7 +204,7 @@ export default {
|
||||
this.selectedEquipments.push(equipmentId);
|
||||
console.log(this.selected.indexOf(equipmentId))
|
||||
this.selected.forEach((ele,index) => {
|
||||
if (ele.equipmentId === equipmentId) {
|
||||
if (ele.equipmentId === equipmentId ) {
|
||||
this.selected[index].children.push({ id: bomId })
|
||||
}
|
||||
})
|
||||
@ -192,8 +218,10 @@ export default {
|
||||
// this.$emit('update', this.selected);
|
||||
return;
|
||||
} else {
|
||||
console.log(selected);
|
||||
this.selected.forEach((ele, index) => {
|
||||
ele.children.forEach((e, i) => {
|
||||
console.log(e)
|
||||
if (ele.equipmentId === equipmentId && e.id == bomId) {
|
||||
this.selected[index].children.splice(i,1)
|
||||
}
|
||||
@ -201,8 +229,8 @@ export default {
|
||||
})
|
||||
}
|
||||
// this.$emit('getData', this.dataForm)
|
||||
selectedItem && (selectedItem.equMaterialBomId = selected ? bomId : null);
|
||||
this.currentSelectedMaterialBomId = selected ? bomId : null;
|
||||
// selectedItem && (selectedItem.equMaterialBomId = selected ? bomId : null);
|
||||
// this.currentSelectedMaterialBomId = selected ? bomId : null;
|
||||
console.log(this.selected)
|
||||
},
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2024-01-30 10:52:01
|
||||
* @LastEditTime: 2024-01-30 18:03:08
|
||||
* @LastEditTime: 2024-02-01 14:43:53
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -84,8 +84,8 @@
|
||||
</el-col>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<BomSelector ref="bomSelector" v-if="open" :bom-list="bomList" :value="selectedBoms"
|
||||
@update="selectedBoms = $event" />
|
||||
<BomSelector ref="bomSelector" v-if="open" :bom-list="bomList" :value="selectedBoms"
|
||||
@update="selectedBoms = $event" />
|
||||
|
||||
<el-row slot="footer">
|
||||
<el-button size="small" @click="cancel">取消</el-button>
|
||||
@ -100,8 +100,18 @@
|
||||
<script>
|
||||
import BomSelector from './BomSelector.vue';
|
||||
import {
|
||||
getUserList
|
||||
getUserList,
|
||||
getQualityInspectionBoxBtn,
|
||||
} from '@/api/base/qualityInspectionBoxPermissions';
|
||||
// import {
|
||||
// createQualityInspectionBoxBtn,
|
||||
// updateQualityInspectionBoxBtn,
|
||||
// deleteQualityInspectionBoxBtn,
|
||||
|
||||
// getPage,
|
||||
// exportQualityInspectionBoxBtnExcel,
|
||||
// getUserList
|
||||
// } from '@/api/base/qualityInspectionBoxPermissions';
|
||||
export default {
|
||||
name: 'ProcessBom',
|
||||
components: { BomSelector },
|
||||
@ -127,7 +137,8 @@ export default {
|
||||
],
|
||||
list: [],
|
||||
total: 0,
|
||||
tableBtn: [],
|
||||
tableBtn: [],
|
||||
chooseList:[],
|
||||
queryParams: {
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
@ -159,10 +170,6 @@ export default {
|
||||
// deep: true,
|
||||
// },
|
||||
// },
|
||||
mounted () {
|
||||
this.getData()
|
||||
this.getDict()
|
||||
},
|
||||
methods: {
|
||||
getDict() {
|
||||
getUserList({
|
||||
@ -209,11 +216,11 @@ export default {
|
||||
eq.materialsBom.chosen
|
||||
// eq.valuesBom.chosen
|
||||
) {
|
||||
this.selectedBoms.push({
|
||||
equipmentId: eq.id,
|
||||
equMaterialBomId: eq.materialsBom.chosen,
|
||||
// equValueBomId: eq.valuesBom.chosen,
|
||||
});
|
||||
// this.selectedBoms.push({
|
||||
// equipmentId: eq.id,
|
||||
// equMaterialBomId: eq.materialsBom.chosen,
|
||||
// // equValueBomId: eq.valuesBom.chosen,
|
||||
// });
|
||||
}
|
||||
// 设置设备id
|
||||
eq.materialsBom.equipmentId = eq.id;
|
||||
@ -222,7 +229,6 @@ export default {
|
||||
});
|
||||
} else {
|
||||
this.bomList.splice(0);
|
||||
this.selectedBoms = [];
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
@ -278,7 +284,7 @@ export default {
|
||||
}
|
||||
})
|
||||
console.log(this.dataForm);
|
||||
if (this.selectedBoms.length) {
|
||||
if (!this.dataForm.userId) {
|
||||
const { code, data } = await this.http(
|
||||
'base/quality-inspection-box-btn-auth/create',
|
||||
'post',
|
||||
@ -294,7 +300,23 @@ export default {
|
||||
this.btnLoading = false;
|
||||
this.$message.error('操作失败');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
const { code, data } = await this.http(
|
||||
'base/quality-inspection-box-btn-auth/update',
|
||||
'put',
|
||||
this.dataForm
|
||||
);
|
||||
if (code == 0) {
|
||||
this.$message.success('操作成功');
|
||||
// this.getList(this.currentDet);
|
||||
this.btnLoading = false;
|
||||
this.$emit('getList')
|
||||
this.cancel();
|
||||
} else {
|
||||
this.btnLoading = false;
|
||||
this.$message.error('操作失败');
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
// async getList({
|
||||
@ -362,11 +384,46 @@ export default {
|
||||
// // this.selectedBoms = [];
|
||||
// // });
|
||||
// },
|
||||
async handleAddEquipment() {
|
||||
this.open = true;
|
||||
async handleAddEquipment(userId) {
|
||||
this.open = true
|
||||
this.selectedBoms = []
|
||||
this.getData()
|
||||
this.getDict()
|
||||
if (userId) {
|
||||
getQualityInspectionBoxBtn(userId).then((res) => {
|
||||
// console.log(res)
|
||||
this.$nextTick(() => {
|
||||
this.dataForm.userId = userId
|
||||
this.dataForm.nickname = res.data.nickName
|
||||
this.dataList = res.data.datas
|
||||
let arr = []
|
||||
res.data.datas.forEach((item) => {
|
||||
// console.log(item.children);
|
||||
// item.children.forEach((ele) => {
|
||||
// console.log(ele)
|
||||
this.selectedBoms.push({
|
||||
equipmentId: item.id,
|
||||
children: Object.keys(item).length > 0 ? item.children.map((ele) => {
|
||||
console.log(ele)
|
||||
return {
|
||||
id: ele.id
|
||||
}
|
||||
}) : []
|
||||
})
|
||||
// })
|
||||
})
|
||||
})
|
||||
// console.log(arr)
|
||||
// this.chooseList = arr
|
||||
// console.log(this.chooseList)
|
||||
})
|
||||
}
|
||||
},
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.open = false
|
||||
this.bomList = []
|
||||
this.selectedBoms = []
|
||||
this.$refs.dataForm.resetFields();
|
||||
},
|
||||
clearList() {
|
||||
this.list = [];
|
||||
|
@ -25,10 +25,7 @@
|
||||
|
||||
<script>
|
||||
import {
|
||||
createQualityInspectionBoxBtn,
|
||||
updateQualityInspectionBoxBtn,
|
||||
deleteQualityInspectionBoxBtn,
|
||||
getQualityInspectionBoxBtn,
|
||||
getPage,
|
||||
exportQualityInspectionBoxBtnExcel,
|
||||
getUserList
|
||||
@ -157,9 +154,10 @@ export default {
|
||||
this.urlOptions.getDataListURL(this.listQuery).then(res => {
|
||||
this.tableData = res.data.list.map((item) => {
|
||||
return {
|
||||
// datas: item.strList.toString(),
|
||||
datas: item.strList.toString(),
|
||||
nickName: item.nickName,
|
||||
userName: item.userName,
|
||||
userId: item.userId
|
||||
// sectionId: item.sectionId,
|
||||
// sectionName: item.sectionName
|
||||
}
|
||||
@ -182,6 +180,7 @@ export default {
|
||||
this.resetForm('form');
|
||||
},
|
||||
deleteHandle(id, name, index, data) {
|
||||
console.log(data)
|
||||
// console.log(data)
|
||||
this.$confirm(`确认要删除产线名为${data.userName}的数据项?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
|
@ -9,8 +9,8 @@
|
||||
<div class="itemBox">
|
||||
<div class="itemClass" v-for="(item, index) in realtimeList" :key='index'>
|
||||
<div class="itemSub">
|
||||
<p class="itemNum">{{item.checkValue}}</p>
|
||||
<p class="itemDescribe">
|
||||
<p class="itemNum">{{item.checkValue ? (item.checkValue).toFixed(2) : '-'}}</p>
|
||||
<p class="itemDescribe" :title="item.name">
|
||||
<img src="./../../../../../assets/images/detectionData.png" alt="">
|
||||
{{item.name}}</p>
|
||||
</div>
|
||||
@ -123,6 +123,9 @@ export default {
|
||||
.itemDescribe {
|
||||
font-size: 16px;
|
||||
text-align: right;
|
||||
white-space: nowrap; /* 防止换行 */
|
||||
overflow: hidden; /* 隐藏超出部分 */
|
||||
text-overflow: ellipsis; /* 添加省略号 */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9,8 +9,8 @@
|
||||
<div class="itemBox">
|
||||
<div class="itemClass" v-for="(item, index) in realtimeList" :key='index'>
|
||||
<div class="itemSub">
|
||||
<p class="itemNum">{{item.checkValue}}</p>
|
||||
<p class="itemDescribe">
|
||||
<p class="itemNum">{{item.checkValue ? (item.checkValue).toFixed(2) : '-'}}</p>
|
||||
<p class="itemDescribe" :title="item.name">
|
||||
<img src="./../../../../../assets/images/detectionData.png" alt="">
|
||||
{{item.name}}</p>
|
||||
</div>
|
||||
@ -123,6 +123,9 @@ export default {
|
||||
.itemDescribe {
|
||||
font-size: 16px;
|
||||
text-align: right;
|
||||
white-space: nowrap; /* 防止换行 */
|
||||
overflow: hidden; /* 隐藏超出部分 */
|
||||
text-overflow: ellipsis; /* 添加省略号 */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -8,8 +8,8 @@
|
||||
<div class="itemBox">
|
||||
<div class="itemClass" v-for="(item, index) in realtimeList" :key='index'>
|
||||
<div class="itemSub">
|
||||
<p class="itemNum">{{item.checkValue}}</p>
|
||||
<p class="itemDescribe">
|
||||
<p class="itemNum">{{item.checkValue ? (item.checkValue).toFixed(2) : '-'}}</p>
|
||||
<p class="itemDescribe" :title="item.name">
|
||||
<img src="./../../../../../assets/images/detectionData.png" alt="">
|
||||
{{item.name}}</p>
|
||||
</div>
|
||||
@ -120,6 +120,9 @@ export default {
|
||||
.itemDescribe {
|
||||
font-size: 16px;
|
||||
text-align: right;
|
||||
white-space: nowrap; /* 防止换行 */
|
||||
overflow: hidden; /* 隐藏超出部分 */
|
||||
text-overflow: ellipsis; /* 添加省略号 */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -76,7 +76,7 @@
|
||||
<el-col :span="12">
|
||||
<el-form-item label="负责人" prop="leaderUserId">
|
||||
<el-select v-model="form.leaderUserId" placeholder="请输入负责人" clearable style="width: 100%">
|
||||
<el-option v-for="item in users" :key="parseInt(item.id)" :label="item.nickname" :value="parseInt(item.id)" />
|
||||
<el-option v-for="item in users" :key="item.id" :label="item.nickname" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -117,7 +117,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="接收人" prop="userId">
|
||||
<el-select v-model="sendNotifyForm.userId" placeholder="请输入接收人" clearable style="width: 100%">
|
||||
<el-option v-for="item in users" :key="parseInt(item.id)" :label="item.nickname" :value="parseInt(item.id)" />
|
||||
<el-option v-for="item in users" :key="item.id" :label="item.nickname" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-for="param in sendNotifyForm.params" :key="param" :label="'参数 {' + param + '}'" :prop="'templateParams.' + param">
|
||||
|
@ -415,9 +415,9 @@
|
||||
<el-select v-model="form.roleIds" multiple placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in roleOptions"
|
||||
:key="parseInt(item.id)"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="parseInt(item.id)"></el-option>
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
Loading…
Reference in New Issue
Block a user