Commit bf4c28d6 by yucheng.jiang

工装对应产品

parent bd1cc65b
...@@ -7,20 +7,31 @@ ...@@ -7,20 +7,31 @@
</div> </div>
<div class="filter"> <div class="filter">
<label>工装名称:</label> <label>工装名称:</label>
<Select v-model="frockid" label-in-value clearable filterable filter-by-label class="searchSelect">
<Input type="text" class="searchInput" v-model="frockname" /> <Option
v-for="(item,index) in frockList"
:value="item.id"
:key="index"
:label="item.name+'#'+item.code"
>{{ item.name+'#'+item.code }}</Option>
</Select>
</div> </div>
<div class="filter"> <div class="filter">
<label>状态:</label> <label>产品名称:</label>
<Select v-model="status" clearable class="searchSelect"> <Select v-model="productid" label-in-value clearable filterable filter-by-label class="searchSelect">
<Option :value="1">可用</Option> <Option
<Option :value="0">停用</Option> v-for="(item,index) in productList"
:value="item.id"
:key="index"
:label="item.name+'#'+item.code+'#'+item.drawingcode"
>{{ item.name+'#'+item.code+'#'+item.drawingcode }}</Option>
</Select> </Select>
</div> </div>
<div class="searchBtn"> <div class="searchBtn">
<Button type="primary" class="twoWord" icon="ios-search" @click="tosearch()">{{ $t(1001) }}</Button> <Button type="primary" class="twoWord" icon="ios-search" @click="tosearch()">{{ $t(1001) }}</Button>
<Button type="success" class="twoWord" icon="md-add-circle" @click="add()">{{$t('1002')}}</Button> <Button type="success" class="twoWord" icon="md-add-circle" @click="add()">{{$t('1002')}}</Button>
<Button type="warning" class="twoWord" icon="ios-create-outline" @click="edit()">{{$t('1003')}}</Button> <Button type="warning" class="twoWord" icon="ios-create-outline" @click="edit()">{{$t('1003')}}</Button>
<Button type="error" class="twoWord intervalRight" icon="md-close-circle" @click="dele()">{{ $t(1004) }}</Button>
<Button type="primary" class="fourWord" icon="md-download" @click="loadexcel()">{{$t('1005')}}</Button> <Button type="primary" class="fourWord" icon="md-download" @click="loadexcel()">{{$t('1005')}}</Button>
<Upload <Upload
style="display:inline-block" style="display:inline-block"
...@@ -32,7 +43,7 @@ ...@@ -32,7 +43,7 @@
:on-format-error="handleFormatError" :on-format-error="handleFormatError"
:on-success="handleSuccess" :on-success="handleSuccess"
:on-error="handleError" :on-error="handleError"
:format="['xlsx']" :format="['xlsx','xls']"
> >
<Button <Button
type="primary" type="primary"
...@@ -77,42 +88,30 @@ ...@@ -77,42 +88,30 @@
<div>正在上传...</div> <div>正在上传...</div>
</Spin> </Spin>
<div class="filter"> <div class="filter">
<label><i>*</i>工装类型:</label> <label>工装类型:</label>
<Cascader class="searchSelect" :data="frockTypeTree" v-model="parentType" change-on-select @on-change="changeFrockType1"></Cascader> <Cascader class="searchSelect" :data="frockTypeTree" v-model="parentType" change-on-select @on-change="changeFrockType1"></Cascader>
</div> </div>
<div class="filter"> <div class="filter">
<label><i>*</i>管理类型:</label>
<Select v-model="addmtype" class="searchSelect">
<Option :value="1">单件</Option>
<Option :value="2">批次</Option>
</Select>
</div>
<div class="filter">
<label><i>*</i>工装名称:</label> <label><i>*</i>工装名称:</label>
<Input type="text" class="searchInput" v-model="addfrockname" /> <Select v-model="addfrockid" label-in-value clearable filterable filter-by-label class="searchSelect">
</div> <Option
<div class="filter"> v-for="(item,index) in addfrockList"
<label><i>*</i>工装料号:</label> :value="item.id"
<Input type="text" class="searchInput" v-model="addfrockno" /> :key="index"
</div> :label="item.name+'#'+item.code"
<div class="filter"> >{{ item.name+'#'+item.code }}</Option>
<label><i>*</i>工装编号:</label> </Select>
<Input type="text" class="searchInput" v-model="addfrockcode" />
</div>
<div class="filter">
<label><i>*</i>规格型号:</label>
<Input type="text" class="searchInput" v-model="addfrockspec" />
</div>
<div class="filter">
<label><i>*</i>数量:</label>
<InputNumber type="text" class="searchInput" :min="1" :formatter="value => `${parseInt(value)}`" v-model="addnum" />
</div> </div>
<div class="filter"> <div class="filter">
<label><i>*</i>状态:</label> <label><i>*</i>产品名称:</label>
<RadioGroup v-model="addstatus"> <Select v-model="addproductid" label-in-value clearable filterable filter-by-label class="searchSelect">
<Radio label="1"><span>可用</span></Radio> <Option
<Radio label="0"><span>停用</span></Radio> v-for="(item,index) in productList"
</RadioGroup> :value="item.id"
:key="index"
:label="item.name+'#'+item.code+'#'+item.drawingcode"
>{{ item.name+'#'+item.code+'#'+item.drawingcode }}</Option>
</Select>
</div> </div>
<div class="filter"> <div class="filter">
<label>备注:</label> <label>备注:</label>
...@@ -124,9 +123,9 @@ ...@@ -124,9 +123,9 @@
<Upload <Upload
ref="upload" ref="upload"
:show-upload-list="false" :show-upload-list="false"
:on-success="handleSuccess" :on-success="handleSuccess1"
:before-upload="handleBeforeUpload" :before-upload="handleBeforeUpload"
:on-error="handleError" :on-error="handleError1"
type="drag" type="drag"
:headers="headers" :headers="headers"
:action="UploadAction"> :action="UploadAction">
...@@ -162,9 +161,10 @@ export default { ...@@ -162,9 +161,10 @@ export default {
frockTypeTree:[],//树形结构 frockTypeTree:[],//树形结构
frockType:[],//工装类型 frockType:[],//工装类型
frockTypeid:'', frockTypeid:'',
frockcode:'',//工装编号 frockList:[],//工装列表
frockname:'',//工装名称 frockid:'',//工装id
status:'',//状态 productList:[],//产品列表
productid:'',//产品id
//列表 //列表
total:0, total:0,
...@@ -185,20 +185,7 @@ export default { ...@@ -185,20 +185,7 @@ export default {
}, },
{ {
title:'工装类型', title:'工装类型',
key:'category' key:'categoryname'
},
{
title:'管理类型',
key:'managetype',
render:(h,params)=>{
let str = '';
if(params.row.managetype===1){
str = '单件';
}else if(params.row.managetype===2){
str = '批次';
}
return h('span',str);
}
}, },
{ {
title:'工装料号', title:'工装料号',
...@@ -206,32 +193,19 @@ export default { ...@@ -206,32 +193,19 @@ export default {
}, },
{ {
title:'工装名称', title:'工装名称',
key:'name' key:'fixturetool'
},
{
title:'工装编号',
key:'code'
}, },
{ {
title:'规格型号', title:'规格型号',
key:'specification' key:'specfication'
}, },
{ {
title:'数量', title:'产品编号',
key:'number' key:'productcode'
}, },
{ {
title:'状态', title:'产品名称',
key:'status', key:'productname'
render:(h,params)=>{
let str = '';
if(params.row.status===1){
str = '可用';
}else{
str = '停用';
}
return h('span',str);
}
}, },
{ {
title:'备注', title:'备注',
...@@ -272,16 +246,11 @@ export default { ...@@ -272,16 +246,11 @@ export default {
detailobj:{}, detailobj:{},
addmodal:false, addmodal:false,
type:0,//1添加 2编辑 type:0,//1添加 2编辑
parentType:[],//父级类型 parentType:[],//工装类型
parentTypeid:'', parentTypeid:'',
frockTypename:'',//工装类型名称 addfrockList:[],
addmtype:1,//管理类型 addfrockid:'',//工装id
addfrockname:'',//工装名称 addproductid:'',//产品
addfrockno:'',//工装料号
addfrockcode:'',//工装编号
addnum:0,
addstatus:'1',//状态 1可用 0停用
addfrockspec:'',//规格型号
addremark:'',//备注 addremark:'',//备注
filename: '',//文件名称 filename: '',//文件名称
fileurl:'',//文件路径 fileurl:'',//文件路径
...@@ -297,6 +266,8 @@ export default { ...@@ -297,6 +266,8 @@ export default {
}, },
created(){ created(){
this.initFrockType();//工装类型 this.initFrockType();//工装类型
this.getFrocks();//工装
this.iniproducts();//产品
this.tosearch(); this.tosearch();
this.tableColumns1 = this.$time.initTableTitle(this.tableColumns1); this.tableColumns1 = this.$time.initTableTitle(this.tableColumns1);
}, },
...@@ -333,6 +304,7 @@ export default { ...@@ -333,6 +304,7 @@ export default {
this.frockTypeid = ""; this.frockTypeid = "";
if(value!=undefined && value.length){ if(value!=undefined && value.length){
this.frockTypeid = value[value.length - 1]; this.frockTypeid = value[value.length - 1];
this.getFrocksChange(1);
} }
}, },
changeFrockType1(value){ changeFrockType1(value){
...@@ -341,21 +313,85 @@ export default { ...@@ -341,21 +313,85 @@ export default {
if(value!=undefined && value.length){ if(value!=undefined && value.length){
this.parentTypeid = value[value.length - 1]; this.parentTypeid = value[value.length - 1];
this.parentType = value; this.parentType = value;
this.getFrocksChange(2);
} }
}, },
//获取工装列表 //获取工装下拉框
getFrocks(){ getFrocks(){
// this.axios.request({ let params = {
// url: "/fms/accountInfo/frockList", category:'',//工装类型id
// method: "get", code:'',
// }) name:'',
// .then((res) => { state:1, //0停用 1可用
// this.frockList = []; page:1,
// let data = res.data.data; pagesize:1000000,
// if (res.data.ret == 1&&Array.isArray(data)&&data.length) { toexcel:0 //0查询 1导出
// this.frockList = data; }
// } this.axios.request({
// }); url: "/acc/FixtureTools/GetPageList",
params,
method: "get",
})
.then((res) => {
this.frockList = [];
this.addfrockList = [];
let data = res.data.data;
if (res.data.ret == 1 &&Array.isArray(data)&&data.length) {
this.frockList = res.data.data;
this.addfrockList = res.data.data;
}
});
},
getFrocksChange(num){
this.addfrockid = '';
let params = {
category:num==1?this.frockTypeid:this.parentTypeid,//工装类型id
code:'',
name:'',
state:1, //0停用 1可用
page:1,
pagesize:1000000,
toexcel:0 //0查询 1导出
}
this.axios.request({
url: "/acc/FixtureTools/GetPageList",
params,
method: "get",
})
.then((res) => {
if(num == 1){
this.frockList = [];
}else{
this.addfrockList = [];
}
let data = res.data.data;
if (res.data.ret == 1 &&Array.isArray(data)&&data.length) {
if(num == 1){
this.frockList = res.data.data;
}else{
this.addfrockList = res.data.data;
}
}
});
},
//查询产品
iniproducts() {
var params = {
name: '',
count: 1000000
}
this.axios.request({
url: '/config/ProjectProduct/GetProductsByCode',
params,
method: 'get'
})
.then(res => {
this.productList = [];
let data = res.data.data;
if(res.data.ret ===1 &&Array.isArray(data)&&data.length){
this.productList = res.data.data
}
})
}, },
tosearch(){ tosearch(){
this.page = 1; this.page = 1;
...@@ -364,17 +400,16 @@ export default { ...@@ -364,17 +400,16 @@ export default {
}, },
search(toexcel){ search(toexcel){
let params = { let params = {
category:this.frockType,//工装类型id category:this.frockTypeid,//工装类别ID
code:this.frockcode, tool:this.frockid,//工装信息ID
name:this.frockname, product:this.productid,//产品ID
state:this.status, //0停用 1可用
page:this.page, page:this.page,
pagesize:this.pagesize, pagesize:this.pagesize,
toexcel:toexcel //0查询 1导出 toexcel:toexcel //0查询 1导出
} }
this.detailobj = {}; this.detailobj = {};
this.axios.request({ this.axios.request({
url: "/acc/FixtureTools/GetPageList", url: "/acc/FixtureToolsProduct/GetPageList",
params, params,
method: "get", method: "get",
}) })
...@@ -382,7 +417,7 @@ export default { ...@@ -382,7 +417,7 @@ export default {
if(toexcel === 1){ if(toexcel === 1){
if (res.data.ret === 1) { if (res.data.ret === 1) {
window.location.href = window.location.href =
axios.publicPath + "" + res.data.data; this.axios.publicPath + "" + res.data.data;
} else { } else {
this.$Message.error(this.$t(res.data.msg)); this.$Message.error(this.$t(res.data.msg));
} }
...@@ -402,14 +437,8 @@ export default { ...@@ -402,14 +437,8 @@ export default {
this.type = 1; this.type = 1;
this.parentType = [];//工装类型 清空 this.parentType = [];//工装类型 清空
this.parentTypeid = ''; this.parentTypeid = '';
this.addfrockid = '';//工装id
this.addmtype = 1;//管理类型 this.addproductid = '';//产品
this.addfrockname = '';//工装名称
this.addfrockno = '';//工装料号
this.addfrockcode = '';//工装编号
this.addnum = 1;
this.addfrockspec = '';
this.addstatus = '1';//状态 1可用 0停用
this.addremark = '';//备注 this.addremark = '';//备注
this.filename = '';//文件名称 this.filename = '';//文件名称
this.fileurl = '';//文件路径 this.fileurl = '';//文件路径
...@@ -421,68 +450,41 @@ export default { ...@@ -421,68 +450,41 @@ export default {
return false; return false;
} }
this.type = 2; this.type = 2;
this.parentType = [];//工装类型 清空
this.parentTypeid = this.detailobj.categoryid; this.parentTypeid = this.detailobj.categoryid;
this.parentType = this.detailobj.categoryids; this.addfrockid = this.detailobj.fixturetoolid;//工装id
this.addmtype = this.detailobj.managetype;//管理类型 this.addproductid = this.detailobj.productid;//产品
this.addfrockname = this.detailobj.name;//工装名称
this.addfrockno = this.detailobj.partnumber;//工装料号
this.addfrockcode = this.detailobj.code;//工装编号
this.addnum = this.detailobj.number;
this.addfrockspec = this.detailobj.specification;
this.addstatus = this.detailobj.status+'';//状态 1可用 0停用
this.addremark = this.detailobj.remark;//备注 this.addremark = this.detailobj.remark;//备注
this.filename = this.detailobj.filename;//文件名称 this.filename = this.detailobj.filename;//文件名称
this.fileurl = this.detailobj.fileurl;//文件路径 this.fileurl = this.detailobj.fileurl;//文件路径
this.addmodal = true; this.addmodal = true;
}, },
addPost(){ addPost(){
if(!this.parentTypeid){ if(!this.addfrockid){
this.$Message.error("请选择工装类型");
return false;
}
if(!this.addfrockname){
this.$Message.error("请输入工装名称"); this.$Message.error("请输入工装名称");
return false; return false;
} }
if(!this.addfrockno){ if(!this.addproductid){
this.$Message.error("请输入工装料号"); this.$Message.error("请输入产品名称");
return false;
}
if(!this.addfrockcode){
this.$Message.error("请输入工装编号");
return false;
}
if(!this.addfrockspec){
this.$Message.error("请输入规格型号");
return false;
}
if(!this.addnum){
this.$Message.error("请输入工装数量");
return false; return false;
} }
let url = ''; let url = '';
let id = ''; let id = '';
if(this.type === 1){ if(this.type === 1){
url = '/acc/FixtureTools/Add'; url = '/acc/FixtureToolsProduct/Add';
id = 0; id = 0;
} }
else{ else{
url = '/acc/FixtureTools/Update'; url = '/acc/FixtureToolsProduct/Update';
id = this.detailobj.id; id = this.detailobj.id;
} }
let data = { let data = {
id:id, id:id,
categoryid:this.parentTypeid,//工装类型id fixturetoolid:this.addfrockid,//工装id
managetype:this.addmtype, productid:this.addproductid,
partnumber:this.addfrockno,//料号
code:this.addfrockcode,//编号
name:this.addfrockname,//名称
specifition:this.addfrockspec,//规格型号
number:this.addnum,//数量
remark:this.addremark,//备注 remark:this.addremark,//备注
status:this.addstatus,//附件
fileurl:this.fileurl, fileurl:this.fileurl,
filename:this.filename filename:this.filename
} }
...@@ -515,7 +517,7 @@ export default { ...@@ -515,7 +517,7 @@ export default {
return false; return false;
} }
}, },
handleSuccess (res,file) { handleSuccess1 (res,file) {
this.spinShow = false; this.spinShow = false;
if (res.ret == 1) { if (res.ret == 1) {
this.$Message.success(this.$t("100378")); this.$Message.success(this.$t("100378"));
...@@ -525,7 +527,8 @@ export default { ...@@ -525,7 +527,8 @@ export default {
this.$Message.error(this.$t(res.msg+'')); this.$Message.error(this.$t(res.msg+''));
} }
}, },
handleError(){ handleError1(){
this.spinShow = false;
this.$Message.error(this.$t("600512") + "!"); this.$Message.error(this.$t("600512") + "!");
}, },
delfile(){ delfile(){
...@@ -536,44 +539,65 @@ export default { ...@@ -536,44 +539,65 @@ export default {
//下载文件 //下载文件
downFile(url,fileName){ downFile(url,fileName){
let params = { let params = {
file_url: url, url: url,
name:fileName
}; };
this.axios.request({ this.axios.request({
url: "/config/Download/DownloadFile", url: "/config/Download/DownloadFileByUrl",
params, params,
method: "get", method: "get",
responseType: "blob" responseType: "blob"
}) })
.then((res) => { .then((res) => {
if (res.status == 200) {
let url;
let link = document.createElement("a");
url = window.URL.createObjectURL(res.data);
link.style.display = "none";
link.href = url;
link.setAttribute("download", fileName);
document.body.appendChild(link);
link.click();
}
}).catch(error=>{
this.$Message.error('请求错误')
});
},
//删除
dele(){
if (
this.detailobj.id === undefined ||
this.detailobj.id === null
) {
this.$Message.error(this.$t("1017"));
return false;
} else {
var params = {
id: this.detailobj.id,
};
this.$Modal.confirm({
title: this.$t("1018"),
content: "",
width: "290px",
closable: true,
okText: this.$t("1004"),
onOk: () => {
this.axios.request({
url: "/acc/FixtureToolsProduct/Delete",
params,
method: "get",
})
.then((res) => {
if (res.data.ret === 1) { if (res.data.ret === 1) {
var info = res.data.data; this.$Message.success(this.$t("1058"));
var content = info.content; this.search(0);
// 创建隐藏的可下载链接
var eleLink = document.createElement("a");
eleLink.download = fileName;
eleLink.style.display = "none";
// 字符内容转变成blob地址
var blob = new Blob([content]);
eleLink.href = URL.createObjectURL(blob);
// 触发点击
document.body.appendChild(eleLink);
eleLink.click();
// 然后移除
document.body.removeChild(eleLink);
} else { } else {
this.$Message.error(this.$t(res.data.msg)); this.$Message.error(this.$t(res.data.msg));
} }
}) });
// console.log(fileName) },
// console.log(data) });
// let url = window.URL.createObjectURL(new Blob([data])); }
// let link = document.createElement("a");
// link.style.display = "none";
// link.href = url;
// link.setAttribute("download", fileName);
// document.body.appendChild(link);
// link.click();
}, },
//导出模板 //导出模板
loadexcel() { loadexcel() {
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
:on-format-error="handleFormatError" :on-format-error="handleFormatError"
:on-success="handleSuccess" :on-success="handleSuccess"
:on-error="handleError" :on-error="handleError"
:format="['xlsx']" :format="['xlsx','xls']"
> >
<Button <Button
type="primary" type="primary"
...@@ -275,7 +275,7 @@ export default { ...@@ -275,7 +275,7 @@ export default {
detailobj:{}, detailobj:{},
addmodal:false, addmodal:false,
type:0,//1添加 2编辑 type:0,//1添加 2编辑
parentType:[],//父级类型 parentType:[],//工装类型
parentTypeid:'', parentTypeid:'',
frockTypename:'',//工装类型名称 frockTypename:'',//工装类型名称
addmtype:1,//管理类型 addmtype:1,//管理类型
...@@ -346,20 +346,6 @@ export default { ...@@ -346,20 +346,6 @@ export default {
this.parentType = value; this.parentType = value;
} }
}, },
//获取工装列表
getFrocks(){
// this.axios.request({
// url: "/fms/accountInfo/frockList",
// method: "get",
// })
// .then((res) => {
// this.frockList = [];
// let data = res.data.data;
// if (res.data.ret == 1&&Array.isArray(data)&&data.length) {
// this.frockList = data;
// }
// });
},
tosearch(){ tosearch(){
this.page = 1; this.page = 1;
this.pagesize = 10; this.pagesize = 10;
...@@ -367,7 +353,7 @@ export default { ...@@ -367,7 +353,7 @@ export default {
}, },
search(toexcel){ search(toexcel){
let params = { let params = {
category:this.frockType,//工装类型id category:this.frockTypeid,//工装类型id
code:this.frockcode, code:this.frockcode,
name:this.frockname, name:this.frockname,
state:this.status, //0停用 1可用 state:this.status, //0停用 1可用
...@@ -385,7 +371,7 @@ export default { ...@@ -385,7 +371,7 @@ export default {
if(toexcel === 1){ if(toexcel === 1){
if (res.data.ret === 1) { if (res.data.ret === 1) {
window.location.href = window.location.href =
axios.publicPath + "" + res.data.data; this.axios.publicPath + "" + res.data.data;
} else { } else {
this.$Message.error(this.$t(res.data.msg)); this.$Message.error(this.$t(res.data.msg));
} }
...@@ -518,7 +504,7 @@ export default { ...@@ -518,7 +504,7 @@ export default {
return false; return false;
} }
}, },
handleSuccess (res,file) { handleSuccess1 (res,file) {
this.spinShow = false; this.spinShow = false;
if (res.ret == 1) { if (res.ret == 1) {
this.$Message.success(this.$t("100378")); this.$Message.success(this.$t("100378"));
...@@ -528,7 +514,8 @@ export default { ...@@ -528,7 +514,8 @@ export default {
this.$Message.error(this.$t(res.msg+'')); this.$Message.error(this.$t(res.msg+''));
} }
}, },
handleError(){ handleError1(){
this.spinShow = false;
this.$Message.error(this.$t("600512") + "!"); this.$Message.error(this.$t("600512") + "!");
}, },
delfile(){ delfile(){
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
:on-format-error="handleFormatError" :on-format-error="handleFormatError"
:on-success="handleSuccess" :on-success="handleSuccess"
:on-error="handleError" :on-error="handleError"
:format="['xlsx']" :format="['xlsx','xls']"
> >
<Button <Button
type="primary" type="primary"
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
:on-format-error="handleFormatError" :on-format-error="handleFormatError"
:on-success="handleSuccess" :on-success="handleSuccess"
:on-error="handleError" :on-error="handleError"
:format="['xlsx']" :format="['xlsx','xls']"
> >
<Button <Button
type="primary" type="primary"
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
:on-format-error="handleFormatError" :on-format-error="handleFormatError"
:on-success="handleSuccess" :on-success="handleSuccess"
:on-error="handleError" :on-error="handleError"
:format="['xlsx']" :format="['xlsx','xls']"
> >
<Button <Button
type="primary" type="primary"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment