Merge branch 'master' of http://gitea.xxhhcty.xyz:8080/zcdsj/factory_web
This commit is contained in:
commit
d2b0ed6f67
|
|
@ -0,0 +1,454 @@
|
||||||
|
<template>
|
||||||
|
<div style="padding: 10px">
|
||||||
|
<div class="company-card-compact">
|
||||||
|
<div class="company-main-content">
|
||||||
|
<div class="company-header-compact">
|
||||||
|
<h2 class="company-name-compact">光芯科技</h2>
|
||||||
|
<div class="mission-tag-compact">
|
||||||
|
<span class="mission-icon-compact">✨</span>
|
||||||
|
<span class="mission-text-compact">材料创造美好世界</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="company-desc-compact">
|
||||||
|
<p>公司秉承"善用资源,服务建设"的核心理念,践行"材料创造美</p>
|
||||||
|
<p>好世界"的企业使命,坚持"创新、绩效、和谐、责任"的核心价</p>
|
||||||
|
<p>值观,努力成长为具有创新精神和全球视野的光芯材料领先企业。</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="company-chip-compact">
|
||||||
|
<div class="chip-symbol">芯</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="statsContainer">
|
||||||
|
<div class="statCard" @click="goDuty">
|
||||||
|
<div class="statTitle">我的待办</div>
|
||||||
|
<div class="statNumber">{{ dutyCount }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="statCard" @click="goOwner">
|
||||||
|
<div class="statTitle">我提交的</div>
|
||||||
|
<div class="statNumber">{{ ownerCount }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="quickActionsCard">
|
||||||
|
<div class="quickActionsTitle">发起流程</div>
|
||||||
|
<div class="quickActionsGrid">
|
||||||
|
<div class="actionItem" v-for="group in wfOptions" :key="group.category" @click="startGroup(group)">
|
||||||
|
<div class="actionIcon">↗️</div>
|
||||||
|
<div class="actionLabel">{{ group.category }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<el-dialog v-model="dialogVisible" :title="dialogTitle">
|
||||||
|
<el-card
|
||||||
|
v-for="item in currentWfList"
|
||||||
|
:key="item.id"
|
||||||
|
:body-style="{ padding: '10px', cursor: 'pointer' }"
|
||||||
|
style="width: 180px; display: inline-block; margin: 4px; background-color: #f5f7fa;"
|
||||||
|
shadow="hover"
|
||||||
|
@click="startTicket(item)"
|
||||||
|
>
|
||||||
|
{{ item.name }}
|
||||||
|
</el-card>
|
||||||
|
</el-dialog>
|
||||||
|
<el-drawer v-model="drawer" size="90%" :show-close="false">
|
||||||
|
<template #header="{ close, titleId, titleClass }">
|
||||||
|
<h4 :id="titleId" :class="titleClass">{{drawerName}}</h4>
|
||||||
|
<el-button type="danger" @click="close">关闭</el-button>
|
||||||
|
</template>
|
||||||
|
<component :is="currentComponent" :ticketId="ticketId" :t_id="t_id" @closed="drawer = false"
|
||||||
|
@success="handleSuccess"></component>
|
||||||
|
</el-drawer>
|
||||||
|
</template>
|
||||||
|
<script setup>
|
||||||
|
import { ref, onMounted, markRaw, defineAsyncComponent } from 'vue'
|
||||||
|
import API from '@/api'
|
||||||
|
import TOOL from "@/utils/tool.js";
|
||||||
|
const dutyCount = ref(0);
|
||||||
|
const ownerCount = ref(0);
|
||||||
|
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
getTicketCount();
|
||||||
|
getWfOptions();
|
||||||
|
})
|
||||||
|
|
||||||
|
const getTicketCount = () => {
|
||||||
|
API.wf.ticket.list.req({page: 1, page_size: 0, category: "duty"}).then(res=>{
|
||||||
|
dutyCount.value = res.count
|
||||||
|
})
|
||||||
|
API.wf.ticket.list.req({page: 1, page_size: 0, category: "owner"}).then(res=>{
|
||||||
|
ownerCount.value = res.count
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const goDuty = () => {
|
||||||
|
window.location.href = "/#/wf/myticket?category=duty"
|
||||||
|
}
|
||||||
|
|
||||||
|
const goOwner = () => {
|
||||||
|
window.location.href = "/#/wf/myticket?category=owner"
|
||||||
|
}
|
||||||
|
|
||||||
|
const wfOptions = ref([])
|
||||||
|
|
||||||
|
const getWfOptions = () => {
|
||||||
|
let permissions = TOOL.data.get("PERMISSIONS");
|
||||||
|
const groups = {};
|
||||||
|
API.wf.workflow.list.req({ page: 0 }).then((res) => {
|
||||||
|
res.forEach((item) => {
|
||||||
|
if(item.key && permissions.includes(item.key)) {
|
||||||
|
let cate = item.cate;
|
||||||
|
if (!cate){cate="未分组"}
|
||||||
|
if (!groups[cate]) {
|
||||||
|
groups[cate] = [];
|
||||||
|
}
|
||||||
|
groups[cate].push(item);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// 转换为数组形式,便于模板遍历
|
||||||
|
wfOptions.value = Object.keys(groups).map(category => ({
|
||||||
|
category,
|
||||||
|
items: groups[category]
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const dialogVisible = ref(false)
|
||||||
|
const currentWfList = ref([]);
|
||||||
|
const dialogTitle = ref("");
|
||||||
|
const startGroup = (group) => {
|
||||||
|
dialogVisible.value = true;
|
||||||
|
dialogTitle.value = group.category;
|
||||||
|
currentWfList.value = group.items;
|
||||||
|
}
|
||||||
|
|
||||||
|
const drawer = ref(false)
|
||||||
|
const drawerName = ref(null)
|
||||||
|
const currentComponent = ref(null)
|
||||||
|
const ticketId = ref(null)
|
||||||
|
const t_id = ref(null)
|
||||||
|
const startTicket = (item) => {
|
||||||
|
dialogVisible.value = false;
|
||||||
|
drawer.value = true;
|
||||||
|
t_id.value = null;
|
||||||
|
drawerName.value = item.name;
|
||||||
|
const viewPath = item.view_path;
|
||||||
|
// 动态 import
|
||||||
|
currentComponent.value = markRaw(
|
||||||
|
defineAsyncComponent(() => import(`@/views${viewPath}.vue`))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleSuccess = () => {
|
||||||
|
drawer.value = false;
|
||||||
|
getTicketCount();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.company-card-compact {
|
||||||
|
width: 100%;
|
||||||
|
background: linear-gradient(135deg,
|
||||||
|
rgba(58, 149, 255, 0.95) 0%,
|
||||||
|
rgba(27, 92, 255, 0.95) 100%);
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 20px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
justify-content: space-between;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
box-shadow: 0 4px 12px rgba(27, 92, 255, 0.2);
|
||||||
|
color: #ffffff;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
height: auto;
|
||||||
|
min-height: 160px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-card-compact::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background: radial-gradient(
|
||||||
|
circle at 90% 20%,
|
||||||
|
rgba(255, 255, 255, 0.08) 0%,
|
||||||
|
transparent 60%
|
||||||
|
);
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-main-content {
|
||||||
|
flex: 1;
|
||||||
|
padding-right: 15px;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-header-compact {
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-name-compact {
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 700;
|
||||||
|
margin: 0 0 8px 0;
|
||||||
|
letter-spacing: 0.5px;
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mission-tag-compact {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
background: rgba(255, 255, 255, 0.15);
|
||||||
|
backdrop-filter: blur(5px);
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 4px 10px;
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.15);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mission-icon-compact {
|
||||||
|
font-size: 12px;
|
||||||
|
margin-right: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mission-text-compact {
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: 500;
|
||||||
|
opacity: 0.95;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-desc-compact {
|
||||||
|
line-height: 1.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-desc-compact p {
|
||||||
|
margin: 0 0 4px 0;
|
||||||
|
font-size: 12px;
|
||||||
|
opacity: 0.9;
|
||||||
|
line-height: 1.3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-desc-compact p:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-chip-compact {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chip-symbol {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
background: linear-gradient(135deg,
|
||||||
|
rgba(255, 255, 255, 0.95) 0%,
|
||||||
|
rgba(255, 255, 255, 0.8) 100%);
|
||||||
|
border-radius: 12px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 700;
|
||||||
|
color: #1b5cff;
|
||||||
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
||||||
|
/* transform: rotate(45deg); */
|
||||||
|
}
|
||||||
|
|
||||||
|
.chip-symbol::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: 4px;
|
||||||
|
left: 4px;
|
||||||
|
right: 4px;
|
||||||
|
bottom: 4px;
|
||||||
|
border: 1px solid rgba(27, 92, 255, 0.2);
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 平板适配 */
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
.company-card-compact {
|
||||||
|
padding: 20px 25px;
|
||||||
|
min-height: 140px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-name-compact {
|
||||||
|
font-size: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-desc-compact p {
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chip-symbol {
|
||||||
|
width: 55px;
|
||||||
|
height: 55px;
|
||||||
|
font-size: 22px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 桌面适配 */
|
||||||
|
@media (min-width: 1024px) {
|
||||||
|
.company-card-compact {
|
||||||
|
padding: 20px 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-name-compact {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-desc-compact p {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-chip-compact {
|
||||||
|
width: 70px;
|
||||||
|
height: 70px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chip-symbol {
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 小屏幕手机适配 */
|
||||||
|
@media (max-width: 375px) {
|
||||||
|
.company-card-compact {
|
||||||
|
padding: 16px;
|
||||||
|
min-height: 140px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-name-compact {
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-desc-compact p {
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mission-tag-compact {
|
||||||
|
padding: 3px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mission-text-compact {
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.company-chip-compact {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chip-symbol {
|
||||||
|
width: 45px;
|
||||||
|
height: 45px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 数量统计卡片样式 */
|
||||||
|
.statsContainer {
|
||||||
|
display: flex;
|
||||||
|
gap: 15px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.statCard {
|
||||||
|
flex: 1;
|
||||||
|
background: white;
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 20px;
|
||||||
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.statTitle {
|
||||||
|
font-size: 18px;
|
||||||
|
color: #666;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.statNumber {
|
||||||
|
font-size: 28px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 快速操作卡片样式 */
|
||||||
|
.quickActionsCard {
|
||||||
|
background: white;
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 20px;
|
||||||
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
.quickActionsTitle {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #333;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
padding-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.quickActionsGrid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(8, 1fr);
|
||||||
|
gap: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actionItem {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: transform 0.2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actionItem:hover {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.actionIcon {
|
||||||
|
font-size: 24px;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
background: #f0f7ff;
|
||||||
|
border-radius: 10px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
color: #1b5cff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actionLabel {
|
||||||
|
font-size: 16px;
|
||||||
|
color: #333;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 响应式设计 */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.quickActionsGrid {
|
||||||
|
grid-template-columns: repeat(2, 1fr);
|
||||||
|
}
|
||||||
|
|
||||||
|
.statsContainer {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -223,9 +223,9 @@ export default {
|
||||||
that.year_s = year;
|
that.year_s = year;
|
||||||
that.month_s = month;
|
that.month_s = month;
|
||||||
that.day_s = day;
|
that.day_s = day;
|
||||||
this.getEquipList();
|
// this.getEquipList();
|
||||||
this.getMaterialWarning();
|
// this.getMaterialWarning();
|
||||||
this.getMaterialList();
|
// this.getMaterialList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 动态绑定Class
|
// 动态绑定Class
|
||||||
|
|
|
||||||
|
|
@ -125,15 +125,19 @@
|
||||||
>
|
>
|
||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<!-- 光芯的出入库记录中生产领料不显示提交,在生产执行里接收 -->
|
||||||
link
|
<span v-if="scope.row.state==10">
|
||||||
type="primary"
|
<span v-if="scope.row.type=='do_out'&&project_code=='gx'&&(scope.row.mgroup_name!=='外协白片抛'||scope.row.mgroupName!=='外协一次抛'||scope.row.mgroupName!=='外扫')"></span>
|
||||||
@click="table_submit(scope.row)"
|
<el-button
|
||||||
v-auth="'mio.submit'"
|
link
|
||||||
v-if="scope.row.state == 10&&scope.row.type!=='do_out'"
|
type="primary"
|
||||||
>
|
@click="table_submit(scope.row)"
|
||||||
提交
|
v-auth="'mio.submit'"
|
||||||
</el-button>
|
v-else
|
||||||
|
>
|
||||||
|
提交
|
||||||
|
</el-button>
|
||||||
|
</span>
|
||||||
<el-button
|
<el-button
|
||||||
link
|
link
|
||||||
type="danger"
|
type="danger"
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.pu_order"
|
v-model="form.pu_order"
|
||||||
clearable
|
clearable
|
||||||
|
filterable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
|
|
@ -46,6 +47,7 @@
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.supplier"
|
v-model="form.supplier"
|
||||||
clearable
|
clearable
|
||||||
|
filterable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
|
|
@ -57,7 +59,7 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="销售订单" v-if="form.type == 'sale_out'">
|
<el-form-item label="销售订单" v-if="form.type == 'sale_out'">
|
||||||
<el-select v-model="form.order" clearable style="width: 100%">
|
<el-select v-model="form.order" clearable filterable style="width: 100%">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in orderOptions"
|
v-for="item in orderOptions"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
|
|
@ -84,6 +86,7 @@
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.customer"
|
v-model="form.customer"
|
||||||
clearable
|
clearable
|
||||||
|
filterable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
|
|
@ -101,6 +104,7 @@
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.mgroup"
|
v-model="form.mgroup"
|
||||||
clearable
|
clearable
|
||||||
|
filterable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
placeholder="为空时代表领料/入库到车间"
|
placeholder="为空时代表领料/入库到车间"
|
||||||
@change="mgroupChange"
|
@change="mgroupChange"
|
||||||
|
|
@ -120,6 +124,7 @@
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.belong_dept"
|
v-model="form.belong_dept"
|
||||||
clearable
|
clearable
|
||||||
|
filterable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
@change="getgetDeptUsers"
|
@change="getgetDeptUsers"
|
||||||
>
|
>
|
||||||
|
|
@ -135,7 +140,7 @@
|
||||||
label="部门执行人" prop="do_user"
|
label="部门执行人" prop="do_user"
|
||||||
v-if="(form.type == 'do_in' || form.type == 'do_out'|| form.type == 'borrow_out' || form.type == 'return_in')&& htype!='baofei'"
|
v-if="(form.type == 'do_in' || form.type == 'do_out'|| form.type == 'borrow_out' || form.type == 'return_in')&& htype!='baofei'"
|
||||||
>
|
>
|
||||||
<el-select v-model="form.do_user" clearable style="width: 100%">
|
<el-select v-model="form.do_user" filterable clearable style="width: 100%">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in userOptions"
|
v-for="item in userOptions"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
|
|
@ -148,6 +153,7 @@
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.mio_user"
|
v-model="form.mio_user"
|
||||||
clearable
|
clearable
|
||||||
|
filterable
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
|
|
|
||||||
|
|
@ -305,6 +305,7 @@ export default {
|
||||||
isSaveing: false,
|
isSaveing: false,
|
||||||
materialOptions: [],
|
materialOptions: [],
|
||||||
batchOptions: [],
|
batchOptions: [],
|
||||||
|
batchOptions_o: [],
|
||||||
setFiltersVisible: false,
|
setFiltersVisible: false,
|
||||||
warehouseOptions: [],
|
warehouseOptions: [],
|
||||||
// warehouseDisable: false,
|
// warehouseDisable: false,
|
||||||
|
|
@ -349,7 +350,7 @@ export default {
|
||||||
//获取仓库人员
|
//获取仓库人员
|
||||||
getCkUserList() {
|
getCkUserList() {
|
||||||
let that = this;
|
let that = this;
|
||||||
this.$API.system.user.list.req({ page: 0, posts__code: "inm&check" })
|
this.$API.system.user.list.req({ page: 0, posts__code__contains: "inm" })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if(that.type==40){
|
if(that.type==40){
|
||||||
that.userList2 = [];
|
that.userList2 = [];
|
||||||
|
|
@ -390,34 +391,28 @@ export default {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
inputChange(e){
|
inputChange(e){
|
||||||
console.log('e',e);
|
|
||||||
let that = this;
|
let that = this;
|
||||||
if(e!==''&&e!==null&&e!==undefined){
|
if(e!==''&&e!==null&&e!==undefined){
|
||||||
let codeId = e.split('#')[1];
|
if(e.indexOf('#')>-1){
|
||||||
this.$API.cm.labelmat.item.req(codeId).then((res) => {
|
let codeId = e.split('#')[1];
|
||||||
if(res){
|
this.$API.cm.labelmat.item.req(codeId).then((res) => {
|
||||||
let arr = that.batchOptions.filter((item) => {
|
if(res){
|
||||||
return item.batch == res.batch&&item.state==res.state;
|
let arr = that.batchOptions.filter((item) => {
|
||||||
})
|
return item.batch == res.batch&&item.state==res.state;
|
||||||
if (arr.length > 0) {
|
})
|
||||||
that.selectBatch = arr[0].batch;
|
that.batchOptions = arr;
|
||||||
that.form.batch = arr[0].batch;
|
|
||||||
that.form.mb = arr[0].id;
|
|
||||||
that.batchcount = Number(arr[0].count_canmio);
|
|
||||||
that.form.count = Number(arr[0].count_canmio);
|
|
||||||
that.form.warehouse = arr[0].warehouse;
|
|
||||||
that.inputBatchDisable = true;
|
|
||||||
setTimeout(() => {
|
|
||||||
options.value = res.batch;
|
|
||||||
}, 200)
|
|
||||||
}else{
|
}else{
|
||||||
that.selectBatch = '';
|
that.selectBatch = '';
|
||||||
that.$message.error("批次号不存在");
|
|
||||||
}
|
}
|
||||||
}else{
|
})
|
||||||
that.selectBatch = '';
|
}else{
|
||||||
}
|
let arr = that.batchOptions.filter((item) => {
|
||||||
})
|
return item.batch.indexOf(e)>-1;
|
||||||
|
})
|
||||||
|
that.batchOptions = arr;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
that.batchOptions = that.batchOptions_o;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getMaterialOptions() {
|
getMaterialOptions() {
|
||||||
|
|
@ -523,7 +518,7 @@ export default {
|
||||||
this.$API.inm.warehouse.batch
|
this.$API.inm.warehouse.batch
|
||||||
.req({ page: 0, material: this.form.material })
|
.req({ page: 0, material: this.form.material })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
this.batchOptions = res;
|
this.batchOptions_o = this.batchOptions = res;
|
||||||
if (res.length == 0) {
|
if (res.length == 0) {
|
||||||
this.selectBatchDisable = true;
|
this.selectBatchDisable = true;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -110,7 +110,7 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
deptMgroup() {
|
deptMgroup() {
|
||||||
this.$API.mtm.mgroup.list.req({ page: 0 }).then(res => {
|
this.$API.mtm.mgroup.list.req({ page: 0,belong_dept__name:'拉丝排板班组' }).then(res => {
|
||||||
this.mgroups = res;
|
this.mgroups = res;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,8 @@
|
||||||
<el-table-column type="index" width="50" fixed="left"/>
|
<el-table-column type="index" width="50" fixed="left"/>
|
||||||
<el-table-column label="产品" prop="物料名" fixed="left" width="120">
|
<el-table-column label="产品" prop="物料名" fixed="left" width="120">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="总数" prop="总数" fixed="left" width="80">
|
||||||
|
</el-table-column>
|
||||||
<el-table-column v-for="item in lists" :key="item" :label="item">
|
<el-table-column v-for="item in lists" :key="item" :label="item">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span v-if="scope.row[item]">{{ scope.row[item] }}</span>
|
<span v-if="scope.row[item]">{{ scope.row[item] }}</span>
|
||||||
|
|
@ -52,22 +54,31 @@ export default {
|
||||||
let that = this;
|
let that = this;
|
||||||
let params = {};
|
let params = {};
|
||||||
that.$API.bi.dataset.exec.req('mat_p_count', params).then((res) => {
|
that.$API.bi.dataset.exec.req('mat_p_count', params).then((res) => {
|
||||||
let data = res.data2.ds0;
|
let data = res.data2.ds0;
|
||||||
let data2 = [];
|
let data2 = [];
|
||||||
data.forEach(item=>{
|
data.forEach(item=>{
|
||||||
if(item.物料名.indexOf('玻璃棒管')<0){
|
if(item.物料名.indexOf('玻璃棒管')<0){
|
||||||
data2.push(item);
|
data2.push(item);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
data2.forEach(item=>{
|
data2.forEach(item=>{
|
||||||
if(item.工序数量分布){
|
if(item.工序数量分布){
|
||||||
let obj = JSON.parse(item.工序数量分布);
|
let obj = JSON.parse(item.工序数量分布);
|
||||||
for(let key in obj){
|
for(let key in obj){
|
||||||
item[key]= obj[key];
|
item[key]= obj[key];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
that.tableData = data2;
|
data2.forEach(item=>{
|
||||||
|
let total = 0;
|
||||||
|
that.lists.forEach(list=>{
|
||||||
|
if(item[list]){
|
||||||
|
total+= item[list];
|
||||||
|
}
|
||||||
|
})
|
||||||
|
item['总数']= total;
|
||||||
|
})
|
||||||
|
that.tableData = data2;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@
|
||||||
<el-table-column label="比率" class-name="colorheader3">
|
<el-table-column label="比率" class-name="colorheader3">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span v-if="scope.row.data['毛坯检测_含缺陷_剪切¢18.3mm不合格_比例']">
|
<span v-if="scope.row.data['毛坯检测_含缺陷_剪切¢18.3mm不合格_比例']">
|
||||||
<span v-if="scope.row.data['毛坯检测_含缺陷_剪切¢18.3mm可加工_比例']">{{ 100-scope.row.data['毛坯检测_含缺陷_剪切¢18.3mm不合格_比例']-scope.row.data['毛坯检测_含缺陷_剪切¢18.3mm可加工_比例'] }}</span>
|
<span v-if="scope.row.data['毛坯检测_含缺陷_剪切¢18.3mm可加工_比例']">{{ 100-scope.row.data['毛坯检测_含缺陷_剪切¢18.3mm不合格_比例']-scope.row.data['毛坯检测_含缺陷_剪切¢18.3mm可加工_比例'] }}%</span>
|
||||||
<span v-else>{{ 100-scope.row.data['毛坯检测_含缺陷_剪切¢18.3mm不合格_比例'] }}%</span>
|
<span v-else>{{ 100-scope.row.data['毛坯检测_含缺陷_剪切¢18.3mm不合格_比例'] }}%</span>
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else>
|
||||||
|
|
@ -136,7 +136,7 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="比率" class-name="colorheader4">
|
<el-table-column label="比率" class-name="colorheader4">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span v-if="scope.row.data.毛坯检测_含缺陷_暗点合格_比例">{{ scope.row.data.毛坯检测_含缺陷_暗点不合格_比例?100-scope.row.data.毛坯检测_含缺陷_暗点不合格_比例-scope.row.data.毛坯检测_含缺陷_暗点合格_比例:100-scope.row.data.毛坯检测_含缺陷_暗点合格_比例 }}</span>
|
<span v-if="scope.row.data.毛坯检测_含缺陷_暗点合格_比例">{{ scope.row.data.毛坯检测_含缺陷_暗点不合格_比例?100-scope.row.data.毛坯检测_含缺陷_暗点不合格_比例-scope.row.data.毛坯检测_含缺陷_暗点合格_比例:100-scope.row.data.毛坯检测_含缺陷_暗点合格_比例 }}%</span>
|
||||||
<span v-else>{{ scope.row.data.毛坯检测_含缺陷_暗点不合格_比例?100-scope.row.data.毛坯检测_含缺陷_暗点不合格_比例:100 }}%</span>
|
<span v-else>{{ scope.row.data.毛坯检测_含缺陷_暗点不合格_比例?100-scope.row.data.毛坯检测_含缺陷_暗点不合格_比例:100 }}%</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -267,7 +267,7 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="合格率" class-name="colorheader7">
|
<el-table-column label="合格率" class-name="colorheader7">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ scope.row.data.毛坯检测_合格率 }}</span>
|
<span>{{ scope.row.data.毛坯检测_合格率 }}%</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
|
||||||
|
|
@ -42,13 +42,13 @@
|
||||||
<scTable v-else ref="tables11" :data="tableData11" id="exportDiv1" stripe hideDo hidePagination
|
<scTable v-else ref="tables11" :data="tableData11" id="exportDiv1" stripe hideDo hidePagination
|
||||||
:summary-method="getSummaries2" show-summary row-key="id">
|
:summary-method="getSummaries2" show-summary row-key="id">
|
||||||
<el-table-column type="index" width="50" />
|
<el-table-column type="index" width="50" />
|
||||||
<el-table-column label="物料名" prop="name" :filters="nameFilters11"
|
<el-table-column label="物料名" prop="material_name" :filters="nameFilters11"
|
||||||
:filter-method="filterName11" filter-placement="bottom-end" />
|
:filter-method="filterName11" filter-placement="bottom-end" />
|
||||||
<el-table-column label="型号" prop="model" :filters="modelFilters11"
|
<el-table-column label="型号" prop="material_model" :filters="modelFilters11"
|
||||||
:filter-method="filterModel11" filter-placement="bottom-end" />
|
:filter-method="filterModel11" filter-placement="bottom-end" />
|
||||||
<el-table-column label="规格" prop="specification" :filters="specsFilters11"
|
<el-table-column label="规格" prop="material_specification" :filters="specsFilters11"
|
||||||
:filter-method="filterSpecs11" filter-placement="bottom-end" />
|
:filter-method="filterSpecs11" filter-placement="bottom-end" />
|
||||||
<el-table-column label="仓库合格品数" prop="count_mb" />
|
<el-table-column label="仓库合格品数" prop="count" />
|
||||||
<el-table-column label="周预估值" v-if="params.type == 30">
|
<el-table-column label="周预估值" v-if="params.type == 30">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-input v-model="scope.row.week_esitimate_consume"
|
<el-input v-model="scope.row.week_esitimate_consume"
|
||||||
|
|
@ -274,39 +274,35 @@ export default {
|
||||||
that.nameFilters11 = [];
|
that.nameFilters11 = [];
|
||||||
that.modelFilters11 = [];
|
that.modelFilters11 = [];
|
||||||
that.specsFilters11 = [];
|
that.specsFilters11 = [];
|
||||||
let nameList = [], specsList = [], modelList = [];
|
let obj = {query: {"material_types": this.params.type,}};
|
||||||
if (that.material_name !== '' && that.material_name !== null) {
|
that.$API.bi.dataset.exec.req("materialCount2", obj).then((res) => {
|
||||||
that.params.name = that.material_name;
|
if (res.data2.ds0) {
|
||||||
}
|
let data = res.data2.ds0;
|
||||||
that.params.query = '{id,name,model,specification,count_mb,week_esitimate_consume}';
|
that.tableData11 = data;
|
||||||
this.$API.mtm.material.list.req(that.params).then((res) => {
|
if(data.length>0){
|
||||||
that.tableData11 = res;
|
data.forEach((ite)=>{
|
||||||
if (res.length > 0) {
|
if (that.nameFilters11.findIndex(i=>i.value==ite.material_name)<0) {
|
||||||
res.forEach((ite) => {
|
let obj={};
|
||||||
if (nameList.indexOf(ite.name) > -1) { } else {
|
obj.text=ite.material_name;
|
||||||
nameList.push(ite.name);
|
obj.value=ite.material_name;
|
||||||
let obj = {};
|
that.nameFilters11.push(obj);
|
||||||
obj.text = ite.name;
|
}
|
||||||
obj.value = ite.name;
|
if (that.modelFilters11.findIndex(i=>i.value==ite.material_model)<0) {
|
||||||
that.nameFilters11.push(obj);
|
let obj2={};
|
||||||
}
|
obj2.text=ite.material_model;
|
||||||
if (modelList.indexOf(ite.model) > -1) { } else {
|
obj2.value=ite.material_model;
|
||||||
modelList.push(ite.model);
|
that.modelFilters11.push(obj2);
|
||||||
let obj2 = {};
|
}
|
||||||
obj2.text = ite.model;
|
if (that.specsFilters11.findIndex(i=>i.value==ite.material_specification)<0) {
|
||||||
obj2.value = ite.model;
|
let obj3={};
|
||||||
that.modelFilters11.push(obj2);
|
obj3.text=ite.material_specification;
|
||||||
}
|
obj3.value=ite.material_specification;
|
||||||
if (specsList.indexOf(ite.specification) > -1) { } else {
|
that.specsFilters11.push(obj3);
|
||||||
specsList.push(ite.specification);
|
}
|
||||||
let obj3 = {};
|
})
|
||||||
obj3.text = ite.specification;
|
}
|
||||||
obj3.value = ite.specification;
|
|
||||||
that.specsFilters11.push(obj3);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
},
|
},
|
||||||
materialTypeChange() {
|
materialTypeChange() {
|
||||||
let that = this;
|
let that = this;
|
||||||
|
|
@ -329,17 +325,31 @@ export default {
|
||||||
"select_material": "",
|
"select_material": "",
|
||||||
"groupby_material": ""
|
"groupby_material": ""
|
||||||
};
|
};
|
||||||
if(that.params.type==40){
|
let query2 = {
|
||||||
query.select_material="material.cate as cate";
|
"material_types": this.params.type,
|
||||||
query.groupby_material="material.cate";
|
"select_material": "material.name as material_name",
|
||||||
query.select_material_name = "";
|
"groupby_material": "material.name"
|
||||||
query.groupby_material_name = "";
|
|
||||||
}
|
}
|
||||||
this.$API.bi.dataset.exec.req("materialCount", {query:query }).then((res) => {
|
if(that.params.type==10||that.params.type==20){
|
||||||
if (res.echart_options) {
|
this.$API.bi.dataset.exec.req("materialCount", {query:query }).then((res) => {
|
||||||
this.echartsOptions = JSON.parse(res.echart_options);
|
if (res.echart_options) {
|
||||||
|
this.echartsOptions = JSON.parse(res.echart_options);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
if(that.params.type==40){
|
||||||
|
query2.select_material="material.cate as cate";
|
||||||
|
query2.groupby_material="material.cate";
|
||||||
|
query2.select_material_name = "";
|
||||||
|
query2.groupby_material_name = "";
|
||||||
}
|
}
|
||||||
})
|
this.$API.bi.dataset.exec.req("materialCount2", {query:query2 }).then((res) => {
|
||||||
|
if (res.echart_options) {
|
||||||
|
this.echartsOptions = JSON.parse(res.echart_options);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
//更改周预估用量
|
//更改周预估用量
|
||||||
weekcountChange(row) {
|
weekcountChange(row) {
|
||||||
|
|
@ -521,13 +531,13 @@ export default {
|
||||||
return row.dept_name == value;
|
return row.dept_name == value;
|
||||||
},
|
},
|
||||||
filterName11(value, row) {
|
filterName11(value, row) {
|
||||||
return row.name == value;
|
return row.material_name == value;
|
||||||
},
|
},
|
||||||
filterSpecs11(value, row) {
|
filterSpecs11(value, row) {
|
||||||
return row.specification == value;
|
return row.material_specification == value;
|
||||||
},
|
},
|
||||||
filterModel11(value, row) {
|
filterModel11(value, row) {
|
||||||
return row.model == value;
|
return row.material_model == value;
|
||||||
},
|
},
|
||||||
filterName2(value, row) {
|
filterName2(value, row) {
|
||||||
return row.物料名 == value;
|
return row.物料名 == value;
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
<el-main id="elMain" class="nopadding">
|
<el-main id="elMain" class="nopadding">
|
||||||
<!-- 日志 -->
|
<!-- 日志 -->
|
||||||
<mlogs
|
<mlogs
|
||||||
v-if="values == '日志'&&componentsShow"
|
v-if="values == '日志'&&componentsShow&&!isFeiPinku"
|
||||||
:mgroupName="mgroupName"
|
:mgroupName="mgroupName"
|
||||||
:mgroupId="mgroupId"
|
:mgroupId="mgroupId"
|
||||||
:deptId="mgroupDept"
|
:deptId="mgroupDept"
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
style="height: 100%"
|
style="height: 100%"
|
||||||
></mlogs>
|
></mlogs>
|
||||||
<!-- 隐藏任务 -->
|
<!-- 隐藏任务 -->
|
||||||
<div v-if="values == '日志'&&componentsShow&&mtaskVisible" class="iconWrap" @click="hiddenMtask">
|
<div v-if="values == '日志'&&componentsShow&&mtaskVisible&&!isFeiPinku" class="iconWrap" @click="hiddenMtask">
|
||||||
<span class="iconSpan">
|
<span class="iconSpan">
|
||||||
<el-icon>
|
<el-icon>
|
||||||
<el-icon-arrow-down />
|
<el-icon-arrow-down />
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<!-- 显示任务 -->
|
<!-- 显示任务 -->
|
||||||
<div v-if="values == '日志'&&componentsShow&&!mtaskVisible" class="iconWrap iconWrapBottom" @click="showMtask">
|
<div v-if="values == '日志'&&componentsShow&&!mtaskVisible&&!isFeiPinku" class="iconWrap iconWrapBottom" @click="showMtask">
|
||||||
<span class="iconSpan iconSpanBottom">
|
<span class="iconSpan iconSpanBottom">
|
||||||
<el-icon>
|
<el-icon>
|
||||||
<el-icon-arrow-up />
|
<el-icon-arrow-up />
|
||||||
|
|
@ -39,7 +39,7 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<mtask
|
<mtask
|
||||||
v-if="values == '日志'&&componentsShow"
|
v-if="values == '日志'&&componentsShow&&!isFeiPinku"
|
||||||
:mgroupName="mgroupName"
|
:mgroupName="mgroupName"
|
||||||
:mgroupId="mgroupId"
|
:mgroupId="mgroupId"
|
||||||
:deptId="mgroupDept"
|
:deptId="mgroupDept"
|
||||||
|
|
@ -50,6 +50,15 @@
|
||||||
id="mtask"
|
id="mtask"
|
||||||
style="height: 40%;display: none;"
|
style="height: 40%;display: none;"
|
||||||
></mtask>
|
></mtask>
|
||||||
|
<inm v-else-if="values == '库存'&&componentsShow&&isFeiPinku"
|
||||||
|
:mgroupName="mgroupName"
|
||||||
|
:mgroupId="mgroupId"
|
||||||
|
:deptId="mgroupDept"
|
||||||
|
:process = "mgroupProcess"
|
||||||
|
:processType = "mgroupProcessType"
|
||||||
|
:mgroup_code="mgroup_code"
|
||||||
|
:mgroupMtype = "mgroupMtype"
|
||||||
|
></inm>
|
||||||
<!-- 交接记录 -->
|
<!-- 交接记录 -->
|
||||||
<handover
|
<handover
|
||||||
v-else-if="values == '交接记录'&&componentsShow"
|
v-else-if="values == '交接记录'&&componentsShow"
|
||||||
|
|
@ -62,7 +71,7 @@
|
||||||
:mgroupMtype = "mgroupMtype"
|
:mgroupMtype = "mgroupMtype"
|
||||||
></handover>
|
></handover>
|
||||||
<!-- 未完成 -->
|
<!-- 未完成 -->
|
||||||
<inmIn v-else-if="values == '未完成'&&componentsShow"
|
<inmIn v-else-if="values == '未完成'&&componentsShow&&!isFeiPinku"
|
||||||
:mgroupName="mgroupName"
|
:mgroupName="mgroupName"
|
||||||
:mgroupId="mgroupId"
|
:mgroupId="mgroupId"
|
||||||
:deptId="mgroupDept"
|
:deptId="mgroupDept"
|
||||||
|
|
@ -72,7 +81,7 @@
|
||||||
:mgroupMtype = "mgroupMtype"
|
:mgroupMtype = "mgroupMtype"
|
||||||
></inmIn>
|
></inmIn>
|
||||||
<!-- 已完成 -->
|
<!-- 已完成 -->
|
||||||
<inmOut v-else-if="values == '已完成'&&componentsShow"
|
<inmOut v-else-if="values == '已完成'&&componentsShow&&!isFeiPinku"
|
||||||
:mgroupName="mgroupName"
|
:mgroupName="mgroupName"
|
||||||
:mgroupId="mgroupId"
|
:mgroupId="mgroupId"
|
||||||
:deptId="mgroupDept"
|
:deptId="mgroupDept"
|
||||||
|
|
@ -81,7 +90,7 @@
|
||||||
:mgroup_code="mgroup_code"
|
:mgroup_code="mgroup_code"
|
||||||
:mgroupMtype = "mgroupMtype"
|
:mgroupMtype = "mgroupMtype"
|
||||||
></inmOut>
|
></inmOut>
|
||||||
<record v-else-if="values == '出入库记录'"
|
<record v-else-if="values == '出入库记录'&&componentsShow&&!isFeiPinku"
|
||||||
:mgroupId="mgroupId"
|
:mgroupId="mgroupId"
|
||||||
:deptId = "mgroupDept"
|
:deptId = "mgroupDept"
|
||||||
:mgroupName="mgroupName"
|
:mgroupName="mgroupName"
|
||||||
|
|
@ -92,6 +101,7 @@
|
||||||
</el-container>
|
</el-container>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
import inm from "../inm/inmScrap.vue";
|
||||||
import inmIn from "./inmIn.vue";
|
import inmIn from "./inmIn.vue";
|
||||||
import inmOut from "./inmOut.vue";
|
import inmOut from "./inmOut.vue";
|
||||||
import mlogs from "./mlogs.vue";
|
import mlogs from "./mlogs.vue";
|
||||||
|
|
@ -100,13 +110,13 @@ import record from "./../wpm_gx/inmrecord.vue";
|
||||||
import handover from "./handover.vue";
|
import handover from "./handover.vue";
|
||||||
export default {
|
export default {
|
||||||
name: "bx",
|
name: "bx",
|
||||||
components: { inmIn, mlogs, mtask, handover,inmOut,record },
|
components: { inm,inmIn, mlogs, mtask, handover,inmOut,record },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
mgroups:[],
|
mgroups:[],
|
||||||
tableHieght: 200,
|
tableHieght: 200,
|
||||||
selectedIndex:0,
|
selectedIndex:0,
|
||||||
options: ["日志", "交接记录","未完成", "已完成"],
|
options: [ "交接记录"],
|
||||||
values: "日志",
|
values: "日志",
|
||||||
mgroupName: "",
|
mgroupName: "",
|
||||||
mgroupId: "",
|
mgroupId: "",
|
||||||
|
|
@ -116,7 +126,8 @@ export default {
|
||||||
mgroupProcess: '',
|
mgroupProcess: '',
|
||||||
mgroupProcessType: '',
|
mgroupProcessType: '',
|
||||||
componentsShow:false,
|
componentsShow:false,
|
||||||
mtaskVisible:false
|
mtaskVisible:false,
|
||||||
|
isFeiPinku:false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
@ -126,6 +137,15 @@ export default {
|
||||||
let paths = this.$route.path;
|
let paths = this.$route.path;
|
||||||
let arr = paths.split("/");
|
let arr = paths.split("/");
|
||||||
this.mgroup_code = arr[2];
|
this.mgroup_code = arr[2];
|
||||||
|
if(this.mgroup_code=='fpk'){
|
||||||
|
this.isFeiPinku = true;
|
||||||
|
this.options.unshift('库存');
|
||||||
|
this.values = '库存';
|
||||||
|
}else{
|
||||||
|
this.options.unshift('日志');
|
||||||
|
this.options.push('未完成');
|
||||||
|
this.options.push('已完成');
|
||||||
|
}
|
||||||
if(this.mgroup_code=='chengpingneiwaichujian'||this.mgroup_code=='guangzhuichengpjianc'||
|
if(this.mgroup_code=='chengpingneiwaichujian'||this.mgroup_code=='guangzhuichengpjianc'||
|
||||||
this.mgroup_code=='chengpneizhifujian'||this.mgroup_code=='chengpingxinengjiance'||
|
this.mgroup_code=='chengpneizhifujian'||this.mgroup_code=='chengpingxinengjiance'||
|
||||||
this.mgroup_code=='chenpjianchicunjiance'||this.mgroup_code=='chengpwaiguanfujianyi'||
|
this.mgroup_code=='chenpjianchicunjiance'||this.mgroup_code=='chengpwaiguanfujianyi'||
|
||||||
|
|
@ -151,6 +171,7 @@ export default {
|
||||||
that.mgroupDept = res[0].belong_dept;
|
that.mgroupDept = res[0].belong_dept;
|
||||||
that.mgroupMtype = res[0].mtype;
|
that.mgroupMtype = res[0].mtype;
|
||||||
that.componentsShow = true;
|
that.componentsShow = true;
|
||||||
|
console.log('that.mgroupName',that.mgroupName);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
showMtask(){
|
showMtask(){
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,6 @@
|
||||||
v-model="processLists"
|
v-model="processLists"
|
||||||
:addTemplate="addTemplate"
|
:addTemplate="addTemplate"
|
||||||
placeholder="暂无数据"
|
placeholder="暂无数据"
|
||||||
@add="rowAdd"
|
|
||||||
>
|
>
|
||||||
<el-table-column label="工序">
|
<el-table-column label="工序">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
|
|
@ -101,6 +100,27 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="使用设备">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-select
|
||||||
|
v-if="scope.row.isEdit"
|
||||||
|
v-model="scope.row.equipment"
|
||||||
|
placeholder="设备"
|
||||||
|
class="width-100"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in equipmentOtions"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
<div v-else>
|
||||||
|
<span v-if="scope.row.equipment!==null">{{ scope.row.equipment_name}}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="操作时间">
|
<el-table-column label="操作时间">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
|
|
@ -116,23 +136,6 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-form-item v-if="route_code=='pengma'" label="使用设备" prop="equipment">
|
|
||||||
<template #default="scope">
|
|
||||||
<el-select
|
|
||||||
v-model="scope.row.equipment"
|
|
||||||
placeholder="设备"
|
|
||||||
class="width-100"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in equipmentOtions"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.id"
|
|
||||||
>
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</template>
|
|
||||||
</el-form-item>
|
|
||||||
<el-table-column label="班次"></el-table-column>
|
<el-table-column label="班次"></el-table-column>
|
||||||
<el-table-column label="创建时间"></el-table-column>
|
<el-table-column label="创建时间"></el-table-column>
|
||||||
<el-table-column label="操作" fixed="right" align="center" width="150px">
|
<el-table-column label="操作" fixed="right" align="center" width="150px">
|
||||||
|
|
@ -514,9 +517,10 @@ export default {
|
||||||
addTemplate:{
|
addTemplate:{
|
||||||
mlog: "",
|
mlog: "",
|
||||||
process: "",
|
process: "",
|
||||||
|
equipment: "",
|
||||||
handle_user: "",
|
handle_user: "",
|
||||||
handle_user_name: "",
|
|
||||||
work_start_time: "",
|
work_start_time: "",
|
||||||
|
handle_user_name: "",
|
||||||
isEdit: true,
|
isEdit: true,
|
||||||
},
|
},
|
||||||
qct:null,
|
qct:null,
|
||||||
|
|
@ -540,6 +544,7 @@ export default {
|
||||||
this.apiObj = this.$API.wpm.mlogb.list;
|
this.apiObj = this.$API.wpm.mlogb.list;
|
||||||
let userInfo = that.$TOOL.data.get("USER_INFO");
|
let userInfo = that.$TOOL.data.get("USER_INFO");
|
||||||
that.addTemplate.mlog = that.mlogItem.id;
|
that.addTemplate.mlog = that.mlogItem.id;
|
||||||
|
that.addTemplate.equipment = "";
|
||||||
that.addTemplate.handle_user = userInfo.id;
|
that.addTemplate.handle_user = userInfo.id;
|
||||||
that.addTemplate.handle_user_name = userInfo.name;
|
that.addTemplate.handle_user_name = userInfo.name;
|
||||||
that.addTemplate.work_start_time = this.$TOOL.dateFormat(new Date());
|
that.addTemplate.work_start_time = this.$TOOL.dateFormat(new Date());
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@
|
||||||
</th>
|
</th>
|
||||||
<th class="w_30 inlineBlock">序号</th>
|
<th class="w_30 inlineBlock">序号</th>
|
||||||
<th class="w_140 inlineBlock">物料批次</th>
|
<th class="w_140 inlineBlock">物料批次</th>
|
||||||
<th class="w_140 inlineBlock">物料编号</th>
|
<th class="w_150 inlineBlock">物料编号</th>
|
||||||
<th class="w_80 inlineBlock" v-for="item in qct_testitems" :key="item.id">{{ item.testitem_name }}</th>
|
<th class="w_80 inlineBlock" v-for="item in qct_testitems" :key="item.id">{{ item.testitem_name }}</th>
|
||||||
<th class="w_80 inlineBlock" v-for="item in qct_defects" :key="item.id">{{ item.defect_name }}</th>
|
<th class="w_80 inlineBlock" v-for="item in qct_defects" :key="item.id">{{ item.defect_name }}</th>
|
||||||
<th class="w_80 inlineBlock">备注</th>
|
<th class="w_80 inlineBlock">备注</th>
|
||||||
|
|
@ -48,7 +48,7 @@
|
||||||
<input v-if="row.isEdit" v-model="row.mlogb__batch" placeholder="物料批次">
|
<input v-if="row.isEdit" v-model="row.mlogb__batch" placeholder="物料批次">
|
||||||
<span v-else>{{ row.mlogb__batch }}</span>
|
<span v-else>{{ row.mlogb__batch }}</span>
|
||||||
</td>
|
</td>
|
||||||
<td class="w_140 inlineBlock">
|
<td class="w_150 inlineBlock">
|
||||||
<input v-if="row.isEdit" v-model="row.number" placeholder="物料编号">
|
<input v-if="row.isEdit" v-model="row.number" placeholder="物料编号">
|
||||||
<span v-else>{{ row.number }}</span>
|
<span v-else>{{ row.number }}</span>
|
||||||
<span v-if="row.wpr_number_out !== null && row.wpr_number_out !== undefined">——{{ row.wpr_number_out }}</span>
|
<span v-if="row.wpr_number_out !== null && row.wpr_number_out !== undefined">——{{ row.wpr_number_out }}</span>
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,9 @@
|
||||||
<el-container>
|
<el-container>
|
||||||
<el-header>
|
<el-header>
|
||||||
<div class="left-panel">
|
<div class="left-panel">
|
||||||
<!-- <el-button type="primary" @click="tomio('do_out')" v-auth="'mio.do'"
|
<el-button type="primary" @click="tomio('do_out')" v-auth="'mio.do'"
|
||||||
v-if="mgroupName!=='size'&&mgroupName!=='facade'&&project_code=='gx'"
|
v-if="mgroupName=='外协白片抛'||mgroupName=='外协一次抛'||mgroupName=='外扫'"
|
||||||
>领料</el-button> -->
|
>领料</el-button>
|
||||||
<el-button type="primary" @click="tomio('do_in')" v-auth="'mio.do'">入库</el-button>
|
<el-button type="primary" @click="tomio('do_in')" v-auth="'mio.do'">入库</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue