|
|
|
@ -84,43 +84,39 @@
|
|
|
|
<el-col style="height: 30vh;" :span="5">
|
|
|
|
<el-col style="height: 30vh;" :span="5">
|
|
|
|
|
|
|
|
|
|
|
|
<el-card style="height: 100%;" shadow="always">
|
|
|
|
<el-card style="height: 100%;" shadow="always">
|
|
|
|
<p>统计信息:</p>
|
|
|
|
<p style="margin: 0%;">统计信息:</p>
|
|
|
|
<!-- 为 ECharts 准备一个定义了宽高的 DOM -->
|
|
|
|
<!-- 为 ECharts 准备一个定义了宽高的 DOM -->
|
|
|
|
|
|
|
|
|
|
|
|
<Echart style="height:200px;" :options="option" />
|
|
|
|
<Echart style="height:230px;" :options="option" />
|
|
|
|
</el-card>
|
|
|
|
</el-card>
|
|
|
|
</el-col>
|
|
|
|
</el-col>
|
|
|
|
<el-col style="height: 30vh;" :span="18">
|
|
|
|
<el-col style="height: 28vh;" :span="18">
|
|
|
|
|
|
|
|
<el-card shadow="always">
|
|
|
|
<el-card style="height: 100%;" shadow="always">
|
|
|
|
<el-scrollbar height="28vh" width="28vw">
|
|
|
|
<div style="width: 100%;height: 100%;">
|
|
|
|
<!-- 使用 tabs 在上方选择标题 -->
|
|
|
|
|
|
|
|
<el-tabs type="border-card" >
|
|
|
|
<!-- 为 ECharts 准备一个定义了宽高的 DOM -->
|
|
|
|
<el-tab-pane
|
|
|
|
<!-- 遍历 Map 中的每个 key-value 对 -->
|
|
|
|
v-for="(title, index) in Array.from(buttonByObjectMap.keys())"
|
|
|
|
<!-- 遍历 Map 中的每个 key-value 对 -->
|
|
|
|
:key="index"
|
|
|
|
|
|
|
|
:label="title"
|
|
|
|
<div v-for="(title) in buttonByObjectMap.keys()" :key="title">
|
|
|
|
>
|
|
|
|
<!-- 标题 -->
|
|
|
|
<!-- 按钮区域,超过宽度自动换行 -->
|
|
|
|
<h4>{{ title }}</h4>
|
|
|
|
<div style="display: flex; flex-wrap: wrap; gap: 10px; padding: 10px;">
|
|
|
|
<!-- 遍历每个标题下的按钮数组 -->
|
|
|
|
<el-button
|
|
|
|
<el-space :size="size" :spacer="spacer">
|
|
|
|
v-for="(button, btnIndex) in buttonByObjectMap.get(title)"
|
|
|
|
<div
|
|
|
|
:key="btnIndex"
|
|
|
|
class="mb-15px"
|
|
|
|
:type="getButtonType(button.row, button.column)"
|
|
|
|
style="width: 5%;" v-for="(button, index) in buttonByObjectMap.get(title)" :key="index">
|
|
|
|
:disabled="isDisabled(button.row, button.column)"
|
|
|
|
<el-button
|
|
|
|
@click="getDialogVisible(button.row, button.column)"
|
|
|
|
:type="getButtonType(button.row, button.column)"
|
|
|
|
style="margin: 1px;width: 4%;"
|
|
|
|
:key="'button2-' + index"
|
|
|
|
>
|
|
|
|
:disabled="isDisabled(button.row, button.column)"
|
|
|
|
{{ button.row }}-{{ button.column }}
|
|
|
|
@click="getDialogVisible(button.row, button.column)"
|
|
|
|
</el-button>
|
|
|
|
>
|
|
|
|
|
|
|
|
{{ button.row }}-{{ button.column }}
|
|
|
|
|
|
|
|
</el-button>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</el-space>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</el-tab-pane>
|
|
|
|
|
|
|
|
</el-tabs>
|
|
|
|
</el-card>
|
|
|
|
</el-scrollbar>
|
|
|
|
|
|
|
|
</el-card>
|
|
|
|
</el-col>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
</el-row>
|
|
|
|
|
|
|
|
|
|
|
|
@ -155,7 +151,7 @@ const { t } = useI18n() // 国际化ist
|
|
|
|
|
|
|
|
|
|
|
|
const statusList = ['未盘点', '盘点异常', '盘点正确', '人工盘点正常'];
|
|
|
|
const statusList = ['未盘点', '盘点异常', '盘点正确', '人工盘点正常'];
|
|
|
|
const colorList = ['warning', 'danger', 'success', 'success'];
|
|
|
|
const colorList = ['warning', 'danger', 'success', 'success'];
|
|
|
|
const colorListHex = {'未盘点':'#ebc26e','盘点异常':'#ed6d6d','盘点正确':'#6cc238','人工盘点正常':'#b1c238'};
|
|
|
|
const colorListHex = {'未盘点':'#ebc26e','盘点异常':'#ed6d6d','盘点正确':'#6cc238','人工核对正确':'#5061c2'};
|
|
|
|
let rows = ref(12);
|
|
|
|
let rows = ref(12);
|
|
|
|
let columns = ref(48);
|
|
|
|
let columns = ref(48);
|
|
|
|
//最大行列
|
|
|
|
//最大行列
|
|
|
|
@ -266,6 +262,8 @@ const handleQuery = async () => {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
const handleClose = () => {
|
|
|
|
const handleClose = () => {
|
|
|
|
dialogVisible.value = false
|
|
|
|
dialogVisible.value = false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
getStreetStatus()
|
|
|
|
startTimer()
|
|
|
|
startTimer()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
const isDisabled = (row: number, column: number): boolean => {
|
|
|
|
const isDisabled = (row: number, column: number): boolean => {
|
|
|
|
@ -385,7 +383,7 @@ const option = reactive({
|
|
|
|
trigger: 'item'
|
|
|
|
trigger: 'item'
|
|
|
|
},
|
|
|
|
},
|
|
|
|
legend: {
|
|
|
|
legend: {
|
|
|
|
top: '5%',
|
|
|
|
|
|
|
|
left: 'center'
|
|
|
|
left: 'center'
|
|
|
|
},
|
|
|
|
},
|
|
|
|
series: [
|
|
|
|
series: [
|
|
|
|
@ -399,6 +397,7 @@ const option = reactive({
|
|
|
|
borderWidth: 2,
|
|
|
|
borderWidth: 2,
|
|
|
|
color: function (params) {
|
|
|
|
color: function (params) {
|
|
|
|
console.log(params.name);
|
|
|
|
console.log(params.name);
|
|
|
|
|
|
|
|
console.log(colorListHex[params.name]);
|
|
|
|
// var status = buttonByStatusMap.value.get(params.name);
|
|
|
|
// var status = buttonByStatusMap.value.get(params.name);
|
|
|
|
|
|
|
|
|
|
|
|
// 使用 params.dataIndex 获取当前数据项的索引
|
|
|
|
// 使用 params.dataIndex 获取当前数据项的索引
|
|
|
|
|