var Basecomponent = { template:`
搜索 新增 删除 导入编号及名称 更新工序工时(csv文件) 导出
取 消 确 定
点击上传(csv文件) 确认导入
`, 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{ 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); }); } } }