Compare commits

..

No commits in common. "564fa2e1c34eebb9aea69e599ee80a42764cf6a1" and "3e77fb77fba276a4f2ee497acba0559cc2e40753" have entirely different histories.

1 changed files with 70 additions and 197 deletions

View File

@ -4,7 +4,6 @@
<div class="left-panel"></div> <div class="left-panel"></div>
<div class="right-panel"> <div class="right-panel">
<xtSelect <xtSelect
v-if="activeName=='shengchan'"
:apiObj="apiObj" :apiObj="apiObj"
v-model="query.user_name" v-model="query.user_name"
:valueField="'name'" :valueField="'name'"
@ -37,121 +36,43 @@
</div> </div>
</el-header> </el-header>
<el-main class="nopadding"> <el-main class="nopadding">
<el-tabs type="border-card" v-model="activeName" @tab-click="tabsClick" style="height: 100%;" lazy> <scTable
<el-tab-pane name="shengchan" label="生产统计" style="height: 100%;" key="shengchan"> ref="table"
<el-container v-if="activeName=='shengchan'"> :data="tableData"
<el-main> id="exportDiv"
<scTable row-key="id"
ref="table" hidePagination
:data="tableData" hideDo
id="exportDiv" stripe
row-key="id" >
hidePagination <el-table-column label="日期" prop="日期" width="100" fixed="left">
hideDo </el-table-column>
stripe <el-table-column label="操作人" prop="操作人" width="100" fixed="left">
> </el-table-column>
<el-table-column label="日期" prop="日期" width="100" fixed="left"> <el-table-column v-for="item in lists" :key="item" :label="item.text" align="center">
</el-table-column> <el-table-column v-for="item1 in item.value" :key="item1" :label="item1">
<el-table-column label="操作人" prop="操作人" width="100" fixed="left"> <template #default="scope">
</el-table-column> <el-input v-if="scope.row.indexs==0&&scope.row" v-model="scope.row[item.text+'_'+item1]" @change="xishuChange"></el-input>
<el-table-column v-for="item in lists" :key="item" :label="item.text" align="center"> <span v-if="scope.row.indexs!==0&&scope.row">{{ scope.row[item.text+'_'+item1] }}</span>
<el-table-column v-for="item1 in item.value" :key="item1" :label="item1"> </template>
<template #default="scope"> </el-table-column>
<el-input v-if="scope.row.indexs==0&&scope.row" v-model="scope.row[item.text+'_'+item1]" @change="xishuChange"></el-input> </el-table-column>
<span v-if="scope.row.indexs!==0&&scope.row">{{ scope.row[item.text+'_'+item1] }}</span> <el-table-column label="其它工时" prop="其它工时">
</template> <template #default="scope">
</el-table-column> <el-input v-if="scope.row.indexs!==0&&scope.row" v-model="scope.row.time_other" @change="xishuChange"></el-input>
</el-table-column> </template>
<el-table-column label="其它工时" prop="其它工时"> </el-table-column>
<template #default="scope"> <el-table-column label="总工时" prop="总工时">
<el-input v-if="scope.row.indexs!==0&&scope.row" v-model="scope.row.time_other" @change="xishuChange"></el-input> <template #default="scope">
</template> <el-input v-if="scope.row.indexs!==0&&scope.row" v-model="scope.row.time_all"></el-input>
</el-table-column> </template>
<el-table-column label="总工时" prop="总工时"> </el-table-column>
<template #default="scope"> <el-table-column label="备注" prop="备注">
<el-input v-if="scope.row.indexs!==0&&scope.row" v-model="scope.row.time_all"></el-input> <template #default="scope">
</template> <el-input v-if="scope.row.indexs!==0&&scope.row" v-model="scope.row.note"></el-input>
</el-table-column> </template>
<el-table-column label="备注" prop="备注"> </el-table-column>
<template #default="scope"> </scTable>
<el-input v-if="scope.row.indexs!==0&&scope.row" v-model="scope.row.note"></el-input>
</template>
</el-table-column>
</scTable>
<el-drawer v-model="visible" :title="userName+'板段列表'" size="50%" direction="rtl" append-to-body destroy-on-close>
<el-card shadow="never">
<div v-for="(item,index) in detailRow" :key="item" style="height:22px;border-bottom: 1px solid #efefef;">
<span style="margin-right:10px;width: 18px;display: inline-block;">{{ index+1 }} </span>
{{ item }}
</div>
</el-card>
</el-drawer>
</el-main>
</el-container>
</el-tab-pane>
<el-tab-pane name="gongzhuang" label="工装统计" style="height: 100%;" key="gongzhuang">
<el-container v-if="activeName=='gongzhuang'">
<el-main>
<scTable
ref="table"
:data="tableData"
id="exportDiv"
row-key="id"
hidePagination
hideDo
stripe
>
<el-table-column type="index" width="50" fixed="left"/>
<el-table-column label="工装编号" prop="工装编号" :filters="userFilters" :filter-method="filterUser" filter-placement="bottom-end">
</el-table-column>
<el-table-column label="物料名" prop="物料名" :filters="nameFilters" :filter-method="filterName" filter-placement="bottom-end">
</el-table-column>
<el-table-column label="总数">
<template #default="scope">
<span v-if="scope.row.总切片数" @click="handleClick(scope.row)" style="color:#0052d9;">{{ scope.row.总切片数 }}</span>
<span v-else @click="handleClick(scope.row)" style="color:#0052d9;">{{ scope.row.总生产数 }}</span>
</template>
</el-table-column>
<el-table-column label="合格率" prop="合格率">
<template #default="scope">
<span>{{((scope.row.总切片合格数/scope.row.总切片数)*100).toFixed(2) }}%</span>
</template>
</el-table-column>
</scTable>
</el-main>
</el-container>
</el-tab-pane>
<el-tab-pane name="renyuan" label="开台人员统计" style="height: 100%;" key="renyuan">
<el-container v-if="activeName=='renyuan'">
<el-main>
<scTable
ref="table"
:data="tableData"
id="exportDiv"
row-key="id"
hidePagination
hideDo
stripe
>
<el-table-column type="index" width="50" fixed="left"/>
<el-table-column label="开台人" prop="开台人员姓名" :filters="userFilters" :filter-method="filterUser3" filter-placement="bottom-end">
</el-table-column>
<el-table-column label="物料名" prop="物料名" :filters="nameFilters" :filter-method="filterName" filter-placement="bottom-end">
</el-table-column>
<el-table-column label="总数" prop="总切片数">
</el-table-column>
<el-table-column label="合格率" prop="合格率">
<template #default="scope">
<span v-if="scope.row.总切片数>0">{{((scope.row.总切片合格数/scope.row.总切片数)*100).toFixed(2) }}%</span>
<span v-else>0%</span>
</template>
</el-table-column>
</scTable>
</el-main>
</el-container>
</el-tab-pane>
</el-tabs>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
@ -172,14 +93,6 @@ export default {
lists:[], lists:[],
mgruops:[], mgruops:[],
tableData:[], tableData:[],
userFilters:[],
filterUsers:[],
nameFilters:[],
filterNames:[],
visible:false,
userName:'',
code:'lineDay_p',
activeName:'shengchan',
apiObj: this.$API.system.user.list, apiObj: this.$API.system.user.list,
}; };
}, },
@ -191,12 +104,6 @@ export default {
that.getData(); that.getData();
}, },
methods: { methods: {
tabsClick(){
let that = this;
that.$nextTick(()=>{
that.getData();
})
},
getData(){ getData(){
let that = this; let that = this;
that.lists = []; that.lists = [];
@ -206,85 +113,51 @@ export default {
that.coefficient = []; that.coefficient = [];
let params = {}; let params = {};
params.query = that.query; params.query = that.query;
let code = that.activeName=='shengchan'?'lineDay_p':that.activeName=='gongzhuang'?'product_toolings':'product_kaitairen'; that.$API.bi.dataset.exec.req('lineDay_p', params).then((res) => {
that.$API.bi.dataset.exec.req(code, params).then((res) => {
let data = res.data2.ds0; let data = res.data2.ds0;
let coefficient = []; let coefficient = [];
if(data.length>0){ if(data.length>0){
if(that.activeName=='shengchan'){
data.forEach(item=>{
let obj = item.工序物料生产数?JSON.parse(item.工序物料生产数):{};
for(let key in obj){
if(coefficient.indexOf(key)<0){
coefficient.push(key);
}
let mgroup = key.split('_')[0];
let pname = key.split('_')[1];
if(that.mgruops.indexOf(mgroup)<0){
that.mgruops.push(mgroup);
that.lists.push({text:mgroup,value:[pname]});
}else{
var index = that.mgruops.indexOf(mgroup);
if(that.lists[index].value.indexOf(pname)<0){
that.lists[index].value.push(pname);
}
}
item[key]= obj[key];
item[pname]= obj[key];
}
})
that.coefficient = coefficient;
let item0 = {日期:'系数',操作人:'',indexs:0};
coefficient.forEach(cof=>{
item0[cof]= 1;
})
data.unshift(item0);
data.forEach(item1 => {
item1.time_other=0;
let all = 0;
coefficient.forEach(item2 => {
if(item1[item2]){
all = all+ Number(item1[item2])
}
})
item1.time_all = all;
})
}
let userList = [],users = [];
let nameList = [],names = [];
data.forEach(item=>{ data.forEach(item=>{
if(that.activeName=='gongzhuang'){ let obj = item.工序物料生产数?JSON.parse(item.工序物料生产数):{};
if(users.indexOf(item.工装编号)>-1){}else{ for(let key in obj){
users.push(item.工装编号); if(coefficient.indexOf(key)<0){
userList.push({text:item.工装编号,value:item.工装编号}) coefficient.push(key);
} }
}else if(that.activeName=='renyuan'){ let mgroup = key.split('_')[0];
if(users.indexOf(item.开台人员姓名)>-1){}else{ let pname = key.split('_')[1];
users.push(item.开台人员姓名); if(that.mgruops.indexOf(mgroup)<0){
userList.push({text:item.开台人员姓名,value:item.开台人员姓名}) that.mgruops.push(mgroup);
that.lists.push({text:mgroup,value:[pname]});
}else{
var index = that.mgruops.indexOf(mgroup);
if(that.lists[index].value.indexOf(pname)<0){
that.lists[index].value.push(pname);
}
} }
item[key]= obj[key];
item[pname]= obj[key];
} }
if(names.indexOf(item.物料名)>-1){}else{ })
names.push(item.物料名); that.coefficient = coefficient;
nameList.push({text:item.物料名,value:item.物料名}) let item0 = {日期:'系数',操作人:'',indexs:0};
} coefficient.forEach(cof=>{
that.userFilters = userList; item0[cof]= 1;
that.nameFilters = nameList; })
data.unshift(item0);
data.forEach(item1 => {
item1.time_other=0;
let all = 0;
coefficient.forEach(item2 => {
if(item1[item2]){
all = all+ Number(item1[item2])
}
})
item1.time_all = all;
}) })
} }
that.tableData = data; that.tableData = data;
}); });
}, },
filterUser(value, row) {
return row.工装编号 == value;
},
filterUser3(value, row) {
return row.开台人员姓名 == value;
},
filterName(value, row) {
return row.物料名 == value;
},
xishuChange(){ xishuChange(){
let that = this; let that = this;
that.tableData.forEach((item1,index1) => { that.tableData.forEach((item1,index1) => {