|
@@ -1,16 +1,23 @@
|
|
|
<template>
|
|
|
- <div class="commonTitle">待完成订工单[{{ ordersSum }}]</div>
|
|
|
- <Empty v-if="ordersDataArray.length < 1" />
|
|
|
- <el-scrollbar class="barHeight">
|
|
|
- <Order v-for="(item, index) in ordersDataArray" :key="index" @click="setSlectIndex(index)"
|
|
|
- :hoverStatus="index == selectIndex ? true : false" :item="item" />
|
|
|
- <el-empty v-if="!ordersDataArray" description="暂无数据" />
|
|
|
- </el-scrollbar>
|
|
|
+ <div>
|
|
|
+ <div class="commonTitle">待完成工单[{{ ordersSum }}]</div>
|
|
|
+ <el-tabs v-model="activeName" class="demo-tabs" type="card" @tab-click="handleClick">
|
|
|
+ <el-tab-pane label="未完成" name="false" />
|
|
|
+ <el-tab-pane label="已完成" name="ok" />
|
|
|
+ </el-tabs>
|
|
|
+ <el-scrollbar class="barHeight">
|
|
|
+ <Order v-for="(item, index) in selectOrder" :key="index" @click="setSlectIndex(item)"
|
|
|
+ :hoverStatus="item.index == selectIndex ? true : false" :item="item" />
|
|
|
+ <Empty v-if="selectOrder.length < 1" />
|
|
|
+ </el-scrollbar>
|
|
|
+ <Empty v-if="ordersDataArray.length < 1" />
|
|
|
+ </div>
|
|
|
</template>
|
|
|
<script lang="ts" setup>
|
|
|
import Order from "@/views/process/components/order.vue";
|
|
|
import { useProcessStore } from "@/store";
|
|
|
-
|
|
|
+import { useDictionaryStore } from "@/store";
|
|
|
+const dictS = useDictionaryStore();
|
|
|
const store = useProcessStore();
|
|
|
const selectSeqIndex = inject("selectSeqIndex");
|
|
|
const props = defineProps<{
|
|
@@ -18,30 +25,86 @@ const props = defineProps<{
|
|
|
}>();
|
|
|
const emit = defineEmits(["getindex"]);
|
|
|
const ordersDataArray = inject("ordersDataArray");
|
|
|
+const selectOrder = computed(() => {
|
|
|
+ let array = [];
|
|
|
+ if (activeName.value == "ok") {
|
|
|
+ array = ordersDataArray.value.filter((item) => item.workOrderState == "6");
|
|
|
+ } else {
|
|
|
+ array = ordersDataArray.value.filter((item) => item.workOrderState != "6");
|
|
|
+ }
|
|
|
+ return array;
|
|
|
+});
|
|
|
+const activeName = ref("false");
|
|
|
//这里是存放控制当前选择工序的index
|
|
|
-const selectIndex = ref(0);
|
|
|
-const setSlectIndex = (value: number) => {
|
|
|
- selectIndex.value = value;
|
|
|
- store.odersData.productLineId = ordersDataArray.value[value].productLineId;
|
|
|
- store.odersData.workOrderCode = ordersDataArray.value[value].workOrderCode;
|
|
|
- store.processInfo.materialName = ordersDataArray.value[value].materialName;
|
|
|
- store.processInfo.materialModel = ordersDataArray.value[value].materialModel;
|
|
|
+const selectIndex = ref(null);
|
|
|
+const setSlectIndex = (item: object) => {
|
|
|
+ if (item == null) {
|
|
|
+ selectIndex.value = null;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ selectIndex.value = item.index;
|
|
|
+ store.odersData.productLineId =
|
|
|
+ ordersDataArray.value[selectIndex.value].productLineId;
|
|
|
+ store.odersData.workOrderCode =
|
|
|
+ ordersDataArray.value[selectIndex.value].workOrderCode;
|
|
|
+ store.processInfo.materialName =
|
|
|
+ ordersDataArray.value[selectIndex.value].materialName;
|
|
|
+ store.processInfo.materialModel =
|
|
|
+ ordersDataArray.value[selectIndex.value].materialModel;
|
|
|
store.odersData.operationId = "";
|
|
|
store.processInfo.operationCode = "";
|
|
|
store.processInfo.operationName = "";
|
|
|
store.useSeqNo = "";
|
|
|
selectSeqIndex.value = null;
|
|
|
- emit("getindex", value);
|
|
|
+ emit("getindex", selectIndex.value);
|
|
|
};
|
|
|
-
|
|
|
-watch(ordersDataArray, () => {
|
|
|
- if (ordersDataArray.value.length > 0) setSlectIndex(0);
|
|
|
-});
|
|
|
+const handleClick = (tab: TabsPaneContext, event: Event) => {
|
|
|
+ setSlectIndex(null);
|
|
|
+ store.odersData.productLineId = "";
|
|
|
+ store.odersData.workOrderCode = "";
|
|
|
+ store.processInfo.materialName = "";
|
|
|
+ store.processInfo.materialModel = "";
|
|
|
+};
|
|
|
+// watch(ordersDataArray, () => {
|
|
|
+// if (ordersDataArray.value.length > 0) setSlectIndex(0);
|
|
|
+// });
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
.barHeight {
|
|
|
- height: calc(100vh - 170px);
|
|
|
+ height: calc(100vh - 265px);
|
|
|
+}
|
|
|
+
|
|
|
+:deep(.el-tabs--card > .el-tabs__header .el-tabs__nav) {
|
|
|
+ background: rgba(0, 0, 0, 0.1);
|
|
|
+ border-radius: 16px 16px 16px 16px;
|
|
|
+ overflow: hidden;
|
|
|
+ border: 0;
|
|
|
+}
|
|
|
+
|
|
|
+:deep(.el-tabs--card > .el-tabs__header) {
|
|
|
+ height: 80px;
|
|
|
+ border: 0;
|
|
|
+ overflow: hidden;
|
|
|
+ border-radius: 16px 16px 16px 16px;
|
|
|
+}
|
|
|
+
|
|
|
+:deep(.el-tabs--card > .el-tabs__header .el-tabs__item) {
|
|
|
+ width: 11.5vw;
|
|
|
+ height: 80px;
|
|
|
+ border-radius: 0;
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 24px;
|
|
|
+ overflow: hidden;
|
|
|
+ background: transparent;
|
|
|
+ border-color: transparent;
|
|
|
+}
|
|
|
+
|
|
|
+:deep(.el-tabs--card > .el-tabs__header .el-tabs__item.is-active) {
|
|
|
+ background: white;
|
|
|
+ border-radius: 16px 16px 16px 16px;
|
|
|
+ border-color: transparent;
|
|
|
+ overflow: hidden;
|
|
|
}
|
|
|
|
|
|
.scrollbar-demo-item {
|