kpi-web/scripts/based.js

1892 lines
49 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var Basecomponent = {
template:`
<div>
<div id="" style="display: flex">
<el-input v-model="p_id_v" placeholder="产品编码" clearable style="width: 160px;" @change="input_change"></el-input>
<el-input v-model="p_name_v" placeholder="产品名称" clearable style="width: 160px;" @change="input_change"></el-input>
<el-button id ="bt_search" plain type="primary" icon="el-icon-search" @click="get_p()">搜索</el-button>
<el-button id ="bt_add" plain type="primary" icon="el-icon-circle-plus-outline" @click="add_p()">新增</el-button>
<el-button id ="bt_del" plain type="primary" icon="el-icon-circle-plus-outline" @click="del_p()">删除</el-button>
<el-button plain type="primary" icon="el-icon-circle-plus-outline" @click="importCsv()">导入编号及名称</el-button>
<el-upload
style="margin-left: 10px;"
class="upload-demo"
action=""
:on-change="handleChange1"
:file-list="fileListUpload1"
:show-file-list="false"
accept=".csv"
:auto-upload="false">
<el-button id ="bt_upload1" plain type="primary">更新工序工时(csv文件)</el-button>
</el-upload>
<el-button style="margin-left: 10px;" id ="bt_export" plain type="primary" icon="el-icon-document" @click="exportSap()">导出</el-button>
</div>
<div>
<el-progress v-if="if_show_process" :percentage="percent_len" ></el-progress>
</div>
<div class="span">
<el-table
:data="tableData"
style="width: 100%"
:height="tHeight"
:cell-style="{background:'#fff'}"
border
@selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
>
</el-table-column>
<el-table-column
prop="p_id"
label="产品编号"
width="120"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="p_name"
label="产品名称"
width="120"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P1"
label="工序1"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P1_t"
label="工时1"
width="60"
>
</el-table-column>
<el-table-column
prop="P2"
label="工序2"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P2_t"
label="工时2"
width="60"
>
</el-table-column>
<el-table-column
prop="P3"
label="工序3"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P3_t"
label="工时3"
width="60"
>
</el-table-column>
<el-table-column
prop="P4"
label="工序4"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P4_t"
label="工时4"
width="60"
>
</el-table-column>
<el-table-column
prop="P5"
label="工序5"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P5_t"
label="工时5"
width="60"
>
</el-table-column>
<el-table-column
prop="P6"
label="工序6"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P6_t"
label="工时6"
width="60"
>
</el-table-column>
<el-table-column
prop="P7"
label="工序7"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P7_t"
label="工时7"
width="60"
>
</el-table-column>
<el-table-column
prop="P8"
label="工序8"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P8_t"
label="工时8"
width="60"
>
</el-table-column>
<el-table-column
prop="P9"
label="工序9"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P9_t"
label="工时9"
width="60"
>
</el-table-column>
<el-table-column
prop="P10"
label="工序10"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P10_t"
label="工时10"
width="60"
>
</el-table-column>
<el-table-column
prop="P11"
label="工序11"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P11_t"
label="工时11"
width="60"
>
</el-table-column>
<el-table-column
prop="P12"
label="工序12"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P12_t"
label="工时12"
width="60"
>
</el-table-column>
<el-table-column
prop="P13"
label="工序13"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P13_t"
label="工时13"
width="60"
>
</el-table-column>
<el-table-column
prop="P14"
label="工序14"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P14_t"
label="工时14"
width="60"
>
</el-table-column>
<el-table-column
prop="P15"
label="工序15"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P15_t"
label="工时15"
width="60"
>
</el-table-column>
<el-table-column
prop="P16"
label="工序16"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P16_t"
label="工时16"
width="60"
>
</el-table-column>
<el-table-column
prop="P17"
label="工序17"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P17_t"
label="工时17"
width="60"
>
</el-table-column>
<el-table-column
prop="P18"
label="工序18"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P18_t"
label="工时18"
width="60"
>
</el-table-column>
<el-table-column
prop="P19"
label="工序19"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P19_t"
label="工时19"
width="60"
>
</el-table-column>
<el-table-column
prop="P20"
label="工序20"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P20_t"
label="工时20"
width="60"
>
</el-table-column>
<el-table-column
prop="P21"
label="工序21"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P21_t"
label="工时21"
width="60"
>
</el-table-column>
<el-table-column
prop="P22"
label="工序22"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P22_t"
label="工时22"
width="60"
>
</el-table-column>
<el-table-column
prop="P23"
label="工序23"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P23_t"
label="工时23"
width="60"
>
</el-table-column>
<el-table-column
prop="P24"
label="工序24"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P24_t"
label="工时24"
width="60"
>
</el-table-column>
<el-table-column
prop="P25"
label="工序25"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P25_t"
label="工时25"
width="60"
>
</el-table-column>
<el-table-column
prop="P26"
label="工序26"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P26_t"
label="工时26"
width="60"
>
</el-table-column>
<el-table-column
prop="P27"
label="工序27"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P27_t"
label="工时27"
width="60"
>
</el-table-column>
<el-table-column
prop="P28"
label="工序28"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P28_t"
label="工时28"
width="60"
>
</el-table-column>
<el-table-column
prop="P29"
label="工序29"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P29_t"
label="工时29"
width="60"
>
</el-table-column>
<el-table-column
prop="P30"
label="工序30"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P30_t"
label="工时30"
width="60"
>
</el-table-column>
<el-table-column
prop="P31"
label="工序31"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P31_t"
label="工时31"
width="60"
>
</el-table-column>
<el-table-column
prop="P32"
label="工序32"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P32_t"
label="工时32"
width="60"
>
</el-table-column>
<el-table-column
prop="P33"
label="工序33"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P33_t"
label="工时33"
width="60"
>
</el-table-column>
<el-table-column
prop="P34"
label="工序34"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P34_t"
label="工时34"
width="60"
>
</el-table-column>
<el-table-column
prop="P35"
label="工序35"
width="60"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="P35_t"
label="工时35"
width="60"
>
</el-table-column>
<el-table-column
fixed="right"
label="操作"
width="100">
<template slot-scope="scope">
<!--style="height:23px;padding:0px" -->
<el-button @click="update_p(scope.row)" type="text" size="medium" >修改</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="block">
<span class="demonstration"></span>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[50,100, 200, 300]"
:page-size="pagesize"
layout="total, sizes, prev, pager, next, jumper"
:total="recordTotal">
</el-pagination>
</div>
<el-dialog
title="产品信息"
:visible.sync="dialogVisible"
:lock-scroll ="false"
width="40%"
style="height: 100%;">
<el-form ref="form_p" :model="form" label-width="80px" :rules="rules">
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="产品编号" prop="p_id">
<el-input v-model="form.p_id" :disabled="disabled"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品名称" prop="p_name">
<el-input v-model="form.p_name" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序1" prop="p1">
<el-input v-model="form.p1" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时1" prop="p1t">
<el-input v-model="form.p1t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序2" prop="p2">
<el-input v-model="form.p2" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时2" prop="p2t">
<el-input v-model="form.p2t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序3" prop="p3">
<el-input v-model="form.p3" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时3" prop="p3t">
<el-input v-model="form.p3t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序4" prop="p4">
<el-input v-model="form.p4" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时4" prop="p4t">
<el-input v-model="form.p4t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序5" prop="p5">
<el-input v-model="form.p5" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时5" prop="p5t">
<el-input v-model="form.p5t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序6" prop="p6">
<el-input v-model="form.p6" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时6" prop="p6t">
<el-input v-model="form.p6t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序7" prop="p7">
<el-input v-model="form.p7" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时7" prop="p7t">
<el-input v-model="form.p7t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序8" prop="p8">
<el-input v-model="form.p8" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时8" prop="p8t">
<el-input v-model="form.p8t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序9" prop="p9">
<el-input v-model="form.p9" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时9" prop="p9t">
<el-input v-model="form.p9t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序10" prop="p10">
<el-input v-model="form.p10" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时10" prop="p10t">
<el-input v-model="form.p10t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序11" prop="p11">
<el-input v-model="form.p11" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时11" prop="p11t">
<el-input v-model="form.p11t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序12" prop="p12">
<el-input v-model="form.p12" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时12" prop="p12t">
<el-input v-model="form.p12t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序13" prop="p13">
<el-input v-model="form.p13" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时13" prop="p13t">
<el-input v-model="form.p13t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序14" prop="p14">
<el-input v-model="form.p14" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时14" prop="p14t">
<el-input v-model="form.p14t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序15" prop="p15">
<el-input v-model="form.p15" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时15" prop="p15t">
<el-input v-model="form.p15t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序16" prop="p16">
<el-input v-model="form.p16" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时16" prop="p16t">
<el-input v-model="form.p16t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序17" prop="p17">
<el-input v-model="form.p17" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时17" prop="p17t">
<el-input v-model="form.p17t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序18" prop="p18">
<el-input v-model="form.p18" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时18" prop="p18t">
<el-input v-model="form.p18t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序19" prop="p19">
<el-input v-model="form.p19" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时19" prop="p19t">
<el-input v-model="form.p19t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序20" prop="p20">
<el-input v-model="form.p20" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时20" prop="p20t">
<el-input v-model="form.p20t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序21" prop="p21">
<el-input v-model="form.p21" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时21" prop="p21t">
<el-input v-model="form.p21t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序22" prop="p22">
<el-input v-model="form.p22" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时22" prop="p22t">
<el-input v-model="form.p22t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序23" prop="p23">
<el-input v-model="form.p23" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时23" prop="p23t">
<el-input v-model="form.p23t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序24" prop="p24">
<el-input v-model="form.p24" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时24" prop="p24t">
<el-input v-model="form.p24t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序25" prop="p25">
<el-input v-model="form.p25" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时25" prop="p25t">
<el-input v-model="form.p25t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序26" prop="p26">
<el-input v-model="form.p26" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时26" prop="p26t">
<el-input v-model="form.p26t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序27" prop="p27">
<el-input v-model="form.p27" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时27" prop="p27t">
<el-input v-model="form.p27t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序28" prop="p28">
<el-input v-model="form.p28" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时28" prop="p28t">
<el-input v-model="form.p28t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序29" prop="p29">
<el-input v-model="form.p29" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时29" prop="p29t">
<el-input v-model="form.p29t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序30" prop="p30">
<el-input v-model="form.p30" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时30" prop="p30t">
<el-input v-model="form.p30t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序31" prop="p31">
<el-input v-model="form.p31" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时31" prop="p31t">
<el-input v-model="form.p31t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序32" prop="p32">
<el-input v-model="form.p32" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时32" prop="p32t">
<el-input v-model="form.p32t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序33" prop="p33">
<el-input v-model="form.p33" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时33" prop="p33t">
<el-input v-model="form.p33t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序34" prop="p34">
<el-input v-model="form.p34" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时34" prop="p34t">
<el-input v-model="form.p34t" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="工序35" prop="p35">
<el-input v-model="form.p35" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工时35" prop="p35t">
<el-input v-model="form.p35t" ></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button id ="bt_ok" plain type="primary" @click="post_p()">确 定</el-button>
</span>
</el-dialog>
<el-dialog
title="产品编号和名称导入"
:visible.sync="importdialogVisible"
:lock-scroll ="false"
:before-close="importDialog_close"
width="30%">
<div style="display: flex;">
<el-upload
class="upload-demo"
action=""
:on-change="handleChange"
:file-list="fileListUpload"
:show-file-list="false"
accept=".csv"
:auto-upload="false">
<el-button id ="bt_upload" size="small" plain type="primary">点击上传csv文件</el-button>
</el-upload>
<el-button id ="bt_import" size="small" plain type="primary" @click="importData" style="margin-left: 10px;">确认导入</el-button>
<!--<el-button id ="bt_download" size="small" plain type="primary" @click="download_template" style="margin-left: 10px;">下载导入模板文件</el-button>-->
</div>
<div>
<el-progress v-if="if_show_process1" :percentage="percent_len" ></el-progress>
</div>
<el-table
:data="importTableData"
style="font-size:13px;margin-top: 10px;width: 100%;"
:height="tHeight*0.5"
:cell-style="{background:'#fff'}"
stripe border>
<el-table-column
prop="p_id"
label="产品编号"
width="120"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column
prop="p_name"
label="产品名称"
width="120"
:show-overflow-tooltip="true">
</el-table-column>
</el-table>
</el-dialog>
</div>
`,
data(){
// 获取当前屏幕的分辨率
let screenW = window.screen.width;
let screenH = window.screen.height;
console.log("screen width:",screenW);
console.log("screen height:",screenH);
return {
tHeight:screenH*0.8,
tableData: [],
currentPage: 1,
pagesize:50,
recordTotal:0,
p_id_v:'',
p_name_v:'',
form: {
id:'',
p_id: '',
p_name:'',
p1:'',
p1t:'',
p2:'',
p2t:'',
p3:'',
p3t:'',
p4:'',
p4t:'',
p5:'',
p5t:'',
p6:'',
p6t:'',
p7:'',
p7t:'',
p8:'',
p8t:'',
p9:'',
p9t:'',
p10:'',
p10t:'',
p11:'',
p11t:'',
p12:'',
p12t:'',
p13:'',
p13t:'',
p14:'',
p14t:'',
p15:'',
p15t:'',
p16:'',
p16t:'',
p17:'',
p17t:'',
p18:'',
p18t:'',
p19:'',
p19t:'',
p20:'',
p20t:'',
p21:'',
p21t:'',
p22:'',
p22t:'',
p23:'',
p23t:'',
p24:'',
p24t:'',
p25:'',
p25t:'',
p26:'',
p26t:'',
p27:'',
p27t:'',
p28:'',
p28t:'',
p29:'',
p29t:'',
p30:'',
p30t:'',
p31:'',
p31t:'',
p32:'',
p32t:'',
p33:'',
p33t:'',
p34:'',
p34t:'',
p35:'',
p35t:'',
},
dialogVisible:false,
oper_type:0,
rules: {
p_id: [
{ required: true, message: '产品编号不可为空', trigger: 'blur' }
],
p_name: [
{ required: true, message: '产品名称不可为空', trigger: 'blur' }
],
},
multipleSelection: [],
importdialogVisible:false,
fileListUpload:[],
importTableData:[],
fileListUpload1:[],
disabled:true,
if_show_process:false,
percent_len:0,
interval:'',
if_show_process1:false,
}
},
mounted() {
var _this = this;
var objs;
axios.post('/pkpi/get_p', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
p_id: _this.$data.p_id_v,
p_name: _this.$data.p_name_v,
index: _this.$data.currentPage,
count: _this.$data.pagesize
})
.then(function (response) {
console.log(response.data);
objs = response.data.data;
rcnt = response.data.total;
_this.$data.tableData = objs;
_this.$data.recordTotal = rcnt;
})
.catch(function (error) {
console.log(error);
});
},
methods: {
input_change(value) {
console.log(value);
this.get_p();
},
exportSap(){
document.getElementById("bt_export").blur();
var _this = this;
var objs;
axios.post('/pkpi/export_sap', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
p_id: _this.$data.p_id_v,
p_name: _this.$data.p_name_v,
})
.then(function (response) {
console.log(response.data);
var fileid = response.data.fileId;
var downUrl = 'file/'+fileid;
downloadUrl("工时导出.csv",downUrl);
})
.catch(function (error) {
console.log(error);
});
},
handleChange1(file, fileList) {
document.getElementById("bt_upload1").blur();
this.fileTemp = file.raw
console.log("filetype:",this.fileTemp);
if (this.fileTemp) {
console.log("begin ...")
console.log(this.fileTemp.type);
if ((this.fileTemp.type == 'text/csv') || (this.fileTemp.type == '.csv') || (this.fileTemp.type == 'application/vnd.ms-excel')) {
let _this = this//如果需要点击事件结束之后对DOM进行操作使用)_this.xx=xx进行操作
Papa.parse(_this.fileTemp, {
encoding:'gb2312',
complete (results) {
console.log(results)//这个是csv文件的数据
let objs = []
//遍历csv文件中的数据存放到data中 方法不唯一,可自己更改
for (let i = 0; i < results.data.length; ++i) {
if(i==0){
continue;
}
let obj = {}
obj.process=[];
obj.p_id = results.data[i][0]
if(obj.p_id==""|| obj.p_id==undefined){
continue;
}
obj.p_name = results.data[i][1]
var cnt = 0;
for(let j=2; j<results.data[i].length;++j){
if(results.data[i][j]==''){
break;
}
obj.process.push(results.data[i][j]);
++cnt;
if(cnt==2){
obj.process.push("1");
cnt=0;
}
}
objs.push(obj);
}
console.log('data', objs)
_this.$data.percent_len=0;
_this.$data.if_show_process=true;
_this.$data.interval= setInterval(()=>{
if(_this.$data.percent_len>=99){
clearInterval(_this.$data.interval);
return;
}
if (_this.$data.percent_len<98){
_this.$data.percent_len+=2
}
},20)
//send to server
axios.post('/pkpi/import_plan_t', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
data:objs,
})
.then(function (response) {
let r = response.data.r;
let s = ""
let errType = ""
if (r == 0) {
let len = objs.length;
errType = "success"
s = "导入"+len+"条工序和工时数据成功!";
_this.$data.percent_len=100;
_this.$data.if_show_process=false;
} else if (r==1){
errType = "error"
s = response.data.err_text;
clearInterval(_this.$data.interval);
} else {
errType = "error"
s = "导入工序工时失败!";
clearInterval(_this.$data.interval);
}
_this.$data.if_show_process=false;
_this.$message({
message: s,
type: errType,
duration: 3000
});
//更新页面
_this.get_p();
})
.catch(function (error) {
console.log(error);
});
}
})
} else {
this.$data.fileListUpload=[];
this.$message({
type: 'warning',
message: '附件格式错误,请删除后重新上传!'
})
}
} else {
this.$message({
type: 'warning',
message: '请上传附件!'
})
}
},
importData(){
document.getElementById("bt_import").blur();
if(this.$data.importTableData.length==0){
this.$message({
message: "请选择导入文件",
type: "warning",
duration: 1500
});
return;
}
this.$confirm('是否确认导入?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
var _this = this;
_this.$data.percent_len=0;
_this.$data.if_show_process1=true;
_this.$data.interval= setInterval(()=>{
if(_this.$data.percent_len>=99){
clearInterval(_this.$data.interval);
return;
}
if (_this.$data.percent_len<98){
_this.$data.percent_len+=2
}
},20)
axios.post('/pkpi/import_p', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
data:this.$data.importTableData,
})
.then(function (response) {
let r = response.data.r;
let s = ""
let errType = ""
if (r == 0) {
let len = _this.$data.importTableData.length;
errType = "success"
s = "导入"+len+"条产品编号和名称成功!";
_this.$data.percent_len=100;
_this.$data.if_show_process1=false;
} else if(r == 1) {
errType = "error"
s = "正在导入产品编号和名称,请稍后!";
clearInterval(_this.$data.interval);
} else{
errType = "error"
s = "导入产品编号和名称失败!";
clearInterval(_this.$data.interval);
}
console.log(s);
_this.$message({
message: s,
type: errType,
duration: 3000
});
_this.$data.importdialogVisible=false;
//更新页面
_this.get_p();
})
.catch(function (error) {
console.log(error);
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消'
});
return;
});
},
handleChange(file, fileList) {
document.getElementById("bt_upload").blur();
this.fileTemp = file.raw
console.log("filetype:",this.fileTemp);
if (this.fileTemp) {
console.log("begin ...")
console.log(this.fileTemp.type);
if ((this.fileTemp.type == 'text/csv') || (this.fileTemp.type == '.csv') || (this.fileTemp.type == 'application/vnd.ms-excel')) {
let _this = this//如果需要点击事件结束之后对DOM进行操作使用)_this.xx=xx进行操作
Papa.parse(_this.fileTemp, {
encoding:'gb2312',
complete (results) {
console.log(results)//这个是csv文件的数据
let data = []
//遍历csv文件中的数据存放到data中 方法不唯一,可自己更改
int i =0
for (let i = 0; i < results.data.length; ++i) {
if(>= results.data.length){
}
if(i==0){
continue;
}
let obj = {}
obj.p_id = results.data[i][0]
if(obj.p_id==""|| obj.p_id==undefined){
continue;
}
obj.p_name = results.data[i][1]
data.push(obj)
i+5000;
}
//data.splice(0, 1)//将数组第一位的表格名称去除
let num = 0
console.log('data', data)
_this.$data.importTableData=data;
}
})
} else {
this.$data.fileListUpload=[];
this.$message({
type: 'warning',
message: '附件格式错误,请删除后重新上传!'
})
}
} else {
this.$message({
type: 'warning',
message: '请上传附件!'
})
}
},
importCsv(){
this.$data.fileListUpload=[];
this.$data.importTableData=[];
this.$data.importdialogVisible=true;
},
importDialog_close(done){
done();
},
handleSelectionChange(val) {
console.log("已选择");
console.log(val);
this.multipleSelection = val;
},
post_p(){
this.$refs['form_p'].validate((valid) => {
if(valid){
this.$data.dialogVisible = false;
var _this = this;
console.log(_this.$data.form);
var objs;
axios.post('/pkpi/post_p', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
id: _this.$data.form.id,
p_id: _this.$data.form.p_id,
p_name: _this.$data.form.p_name,
oper_type: _this.$data.oper_type,
P1:_this.$data.form.p1,
P1_t:_this.$data.form.p1t,
P2:_this.$data.form.p2,
P2_t:_this.$data.form.p2t,
P3:_this.$data.form.p3,
P3_t:_this.$data.form.p3t,
P4:_this.$data.form.p4,
P4_t:_this.$data.form.p4t,
P5:_this.$data.form.p5,
P5_t:_this.$data.form.p5t,
P6:_this.$data.form.p6,
P6_t:_this.$data.form.p6t,
P7:_this.$data.form.p7,
P7_t:_this.$data.form.p7t,
P8:_this.$data.form.p8,
P8_t:_this.$data.form.p8t,
P9:_this.$data.form.p9,
P9_t:_this.$data.form.p9t,
P10:_this.$data.form.p10,
P10_t:_this.$data.form.p10t,
P11:_this.$data.form.p11,
P11_t:_this.$data.form.p11t,
P12:_this.$data.form.p12,
P12_t:_this.$data.form.p12t,
P13:_this.$data.form.p13,
P13_t:_this.$data.form.p13t,
P14:_this.$data.form.p14,
P14_t:_this.$data.form.p14t,
P15:_this.$data.form.p15,
P15_t:_this.$data.form.p15t,
P16:_this.$data.form.p16,
P16_t:_this.$data.form.p16t,
P17:_this.$data.form.p17,
P17_t:_this.$data.form.p17t,
P18:_this.$data.form.p18,
P18_t:_this.$data.form.p18t,
P19:_this.$data.form.p19,
P19_t:_this.$data.form.p19t,
P20:_this.$data.form.p20,
P20_t:_this.$data.form.p20t,
P21:_this.$data.form.p21,
P21_t:_this.$data.form.p21t,
P22:_this.$data.form.p22,
P22_t:_this.$data.form.p22t,
P23:_this.$data.form.p23,
P23_t:_this.$data.form.p23t,
P24:_this.$data.form.p24,
P24_t:_this.$data.form.p24t,
P25:_this.$data.form.p25,
P25_t:_this.$data.form.p25t,
P26:_this.$data.form.p26,
P26_t:_this.$data.form.p26t,
P27:_this.$data.form.p27,
P27_t:_this.$data.form.p27t,
P28:_this.$data.form.p28,
P28_t:_this.$data.form.p28t,
P29:_this.$data.form.p29,
P29_t:_this.$data.form.p29t,
P30:_this.$data.form.p30,
P30_t:_this.$data.form.p30t,
P31:_this.$data.form.p31,
P31_t:_this.$data.form.p31t,
P32:_this.$data.form.p32,
P32_t:_this.$data.form.p32t,
P33:_this.$data.form.p33,
P33_t:_this.$data.form.p33t,
P34:_this.$data.form.p34,
P34_t:_this.$data.form.p34t,
P35:_this.$data.form.p35,
P35_t:_this.$data.form.p35t,
})
.then(function (response) {
let r = response.data.r;
let s = ""
let errType = ""
if (r == 0) {
errType = "success"
} else{
errType = "error"
}
if (_this.$data.oper_type == 1) {
if (r ==0) {
s = "新增产品信息成功!";
} else if(r == 1) {
s = "已存在相同产品信息!";
}else{
s = "新增产品信息失败!";
}
} else if (_this.$data.oper_type ==2){
if (r ==0) {
s = "修改产品信息成功!";
} else{
s = "修改产品信息失败!";
}
}
_this.$message({
message: s,
type: errType,
duration: 1500
});
//更新页面
_this.get_p();
})
.catch(function (error) {
console.log(error);
});
}
});
},
del_p(){
var _this = this;
axios.post('/pkpi/del_p', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
ids: _this.$data.multipleSelection,
})
.then(function (response) {
let r = response.data.r;
let s = ""
let errType = ""
if (r == 0) {
s = "删除产品信息成功!";
errType = "success"
} else{
s = "删除产品信息失败!";
errType = "error"
}
_this.$message({
message: s,
type: errType,
duration: 1500
});
if (r ==0) {
_this.get_p();//更新页面
}
})
.catch(function (error) {
console.log(error);
});
},
add_p(){
document.getElementById("bt_add").blur();
this.$data.disabled=false;
this.$data.oper_type = 1;
this.$data.form = {
id:'',
p_id: '',
p_name:'',
p1:'',
p1t:'',
p2:'',
p2t:'',
p3:'',
p3t:'',
p4:'',
p4t:'',
p5:'',
p5t:'',
p6:'',
p6t:'',
p7:'',
p7t:'',
p8:'',
p8t:'',
p9:'',
p9t:'',
p10:'',
p10t:'',
p11:'',
p11t:'',
p12:'',
p12t:'',
p13:'',
p13t:'',
p14:'',
p14t:'',
p15:'',
p15t:'',
p16:'',
p16t:'',
p17:'',
p17t:'',
p18:'',
p18t:'',
p19:'',
p19t:'',
p20:'',
p20t:'',
p21:'',
p21t:'',
p22:'',
p22t:'',
p23:'',
p23t:'',
p24:'',
p24t:'',
p25:'',
p25t:'',
p26:'',
p26t:'',
p27:'',
p27t:'',
p28:'',
p28t:'',
p29:'',
p29t:'',
p30:'',
p30t:'',
p31:'',
p31t:'',
p32:'',
p32t:'',
p33:'',
p33t:'',
p34:'',
p34t:'',
p35:'',
p35t:'',
};
this.$nextTick(() => {
this.$refs['form_p'].clearValidate()
});
this.$data.dialogVisible = true;
},
update_p(info){
this.$data.disabled=true;
this.$data.oper_type = 2;
this.$data.form = {
id:info.id,
p_id: info.p_id,
p_name:info.p_name,
p1:info.P1,
p1t:info.P1_t,
p2:info.P2,
p2t:info.P2_t,
p3:info.P3,
p3t:info.P3_t,
p4:info.P4,
p4t:info.P4_t,
p5:info.P5,
p5t:info.P5_t,
p6:info.P6,
p6t:info.P6_t,
p7:info.P7,
p7t:info.P7_t,
p8:info.P8,
p8t:info.P8_t,
p9:info.P9,
p9t:info.P9_t,
p10:info.P10,
p10t:info.P10_t,
p11:info.P11,
p11t:info.P11_t,
p12:info.P12,
p12t:info.P12_t,
p13:info.P13,
p13t:info.P13_t,
p14:info.P14,
p14t:info.P14_t,
p15:info.P15,
p15t:info.P15_t,
p16:info.P16,
p16t:info.P16_t,
p17:info.P17,
p17t:info.P17_t,
p18:info.P18,
p18t:info.P18_t,
p19:info.P19,
p19t:info.P19_t,
p20:info.P20,
p20t:info.P20_t,
p21:info.P21,
p21t:info.P21_t,
p22:info.P22,
p22t:info.P22_t,
p23:info.P23,
p23t:info.P23_t,
p24:info.P24,
p24t:info.P24_t,
p25:info.P25,
p25t:info.P25_t,
p26:info.P26,
p26t:info.P26_t,
p27:info.P27,
p27t:info.P27_t,
p28:info.P28,
p28t:info.P28_t,
p29:info.P29,
p29t:info.P29_t,
p30:info.P30,
p30t:info.P30_t,
p31:info.P31,
p31t:info.P31_t,
p32:info.P32,
p32t:info.P32_t,
p33:info.P33,
p33t:info.P33_t,
p34:info.P34,
p34t:info.P34_t,
p35:info.P35,
p35t:info.P35_t,
};
this.$nextTick(() => {
this.$refs['form_p'].clearValidate()
});
this.$data.dialogVisible = true;
},
get_p(){
document.getElementById("bt_search").blur();
this.$data.currentPage=1;
var _this = this;
var objs;
axios.post('/pkpi/get_p', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
p_id: _this.$data.p_id_v,
p_name: _this.$data.p_name_v,
index: this.$data.currentPage,
count: this.$data.pagesize
})
.then(function (response) {
console.log(response.data);
objs = response.data.data;
rcnt = response.data.total;
_this.$data.tableData = objs;
_this.$data.recordTotal = rcnt;
})
.catch(function (error) {
console.log(error);
});
},
handleSizeChange(val) {
this.$data.pagesize = val;
var _this = this;
var objs;
axios.post('/pkpi/get_p', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
p_id: _this.$data.p_id_v,
p_name: _this.$data.p_name_v,
index: this.$data.currentPage,
count: this.$data.pagesize
})
.then(function (response) {
console.log(response.data);
objs = response.data.data;
rcnt = response.data.total;
_this.$data.tableData = objs;
_this.$data.recordTotal = rcnt;
})
.catch(function (error) {
console.log(error);
});
},
handleCurrentChange(val) {
this.$data.currentPage = val;
var _this = this;
var objs;
axios.post('/pkpi/get_p', {
opuser:localStorage.getItem("online_user"),
opuser_uuid:localStorage.getItem("uuid"),
p_id: _this.$data.p_id_v,
p_name: _this.$data.p_name_v,
index: this.$data.currentPage,
count: this.$data.pagesize
})
.then(function (response) {
console.log(response.data);
objs = response.data.data;
rcnt = response.data.total;
_this.$data.tableData = objs;
_this.$data.recordTotal = rcnt;
})
.catch(function (error) {
console.log(error);
});
}
}
}