36 changed files with 5702 additions and 565 deletions
@ -0,0 +1,72 @@ |
|||
import request from '@/utils/request' |
|||
|
|||
export default { |
|||
|
|||
// 查询分页列表
|
|||
listPage: function(params) { |
|||
return request({ |
|||
url: '/as/v1/asoldparthandleapply/listPage', |
|||
method: 'post', |
|||
data: params, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
// 初始化
|
|||
init: function(data) { |
|||
return request({ |
|||
url: '/as/v1/asoldparthandleapply/fetchDetailsBySid/' + data, |
|||
method: 'get' |
|||
}); |
|||
}, |
|||
|
|||
|
|||
// 新增、保存
|
|||
save: function(data) { |
|||
return request({ |
|||
url: '/as/v1/asoldparthandleapply/save', |
|||
method: 'post', |
|||
data: data, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
// 提交
|
|||
submit: function(data) { |
|||
return request({ |
|||
url: '/as/v1/asoldparthandleapply/submit', |
|||
method: 'post', |
|||
data: data, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
deleteBySids: function(data) { |
|||
return request({ |
|||
url: '/as/v1/asoldparthandleapply/delBySids', |
|||
method: 'DELETE', |
|||
data: data, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
// 查询旧件分页列表
|
|||
handleGoodsListPage: function(params) { |
|||
return request({ |
|||
url: '/wms/apiadmin/inventory/wmsinventory/handleGoodsListPage', |
|||
method: 'post', |
|||
data: params, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
}, |
|||
} |
@ -0,0 +1,83 @@ |
|||
import request from '@/utils/request' |
|||
|
|||
export default { |
|||
|
|||
// 查询分页列表
|
|||
listPage: function(params) { |
|||
return request({ |
|||
url: '/as/v1/asoldpartreturnapply/listPage', |
|||
method: 'post', |
|||
data: params, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
// 获取确认结果详情
|
|||
fetchDetailsByMainSid: function(data) { |
|||
return request({ |
|||
url: '/as/v1/asoldpartreturnconfirm/fetchDetailsByMainSid/' + data, |
|||
method: 'get' |
|||
}); |
|||
}, |
|||
|
|||
|
|||
// 初始化
|
|||
init: function(data) { |
|||
return request({ |
|||
url: '/as/v1/asoldpartreturnapply/fetchDetailsBySid/' + data, |
|||
method: 'get' |
|||
}); |
|||
}, |
|||
|
|||
|
|||
// 新增、保存
|
|||
save: function(data) { |
|||
return request({ |
|||
url: '/as/v1/asoldpartreturnapply/save', |
|||
method: 'post', |
|||
data: data, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
// 提交
|
|||
submit: function(data) { |
|||
return request({ |
|||
url: '/as/v1/asoldpartreturnapply/submit', |
|||
method: 'post', |
|||
data: data, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
|
|||
deleteBySids: function(data) { |
|||
return request({ |
|||
url: '/as/v1/asoldpartreturnapply/delBySids', |
|||
method: 'DELETE', |
|||
data: data, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
// 下载模板
|
|||
downloadExcel: function() { |
|||
return request({ |
|||
url: '/as/v1/asoldpartreturnapply/downloadModPriceExcel', |
|||
method: 'post', |
|||
responseType: 'blob', // 表明返回服务器返回的数据类型
|
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
} |
@ -0,0 +1,58 @@ |
|||
import request from '@/utils/request' |
|||
|
|||
export default { |
|||
|
|||
// 查询分页列表
|
|||
listPage: function(params) { |
|||
return request({ |
|||
url: '/wms/apiadmin/WmsOldInventory/recordList', |
|||
method: 'post', |
|||
data: params, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
}, |
|||
// 导出报表
|
|||
exportExcel: function(data) { |
|||
return request({ |
|||
url: '/wms/apiadmin/WmsOldInventory/excelRecordList', |
|||
method: 'post', |
|||
responseType: 'blob', // 表明返回服务器返回的数据类型
|
|||
data: data, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
|
|||
// 选择厂家
|
|||
choiceManufacturer: function(params) { |
|||
return request({ |
|||
url: '/wms/apiadmin/base/basemanufacturer/listAll', |
|||
method: 'get', |
|||
data: params, |
|||
}) |
|||
}, |
|||
|
|||
// 查询所有仓库
|
|||
getWarehouses: function(params) { |
|||
return request({ |
|||
url: '/wms/apiadmin/base/wmswarehouseinfo/selectAll', |
|||
method: 'get' |
|||
}) |
|||
}, |
|||
|
|||
// 根据仓库查询库位
|
|||
getWarehouseareas: function(data) { |
|||
return request({ |
|||
url: '/wms/apiadmin/base/wmswarehousearea/selectAll', |
|||
method: 'get', |
|||
data: data, |
|||
}); |
|||
}, |
|||
|
|||
|
|||
|
|||
} |
@ -0,0 +1,38 @@ |
|||
import request from '@/utils/request' |
|||
|
|||
export default { |
|||
|
|||
// 查询分页列表
|
|||
listPage: function(params) { |
|||
return request({ |
|||
url: '/wms/apiadmin/WmsOldInventory/listPage', |
|||
method: 'post', |
|||
data: params, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
// 获取旧件入库详情
|
|||
init: function(data) { |
|||
return request({ |
|||
url: '/wms/apiadmin/WmsOldInventory/getInit', |
|||
method: 'get', |
|||
data: data, |
|||
}); |
|||
}, |
|||
|
|||
// 保存旧件入库
|
|||
save: function(data) { |
|||
return request({ |
|||
url: '/wms/apiadmin/WmsOldInventory/saveInventory', |
|||
method: 'post', |
|||
data: data, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
} |
@ -0,0 +1,80 @@ |
|||
import request from '@/utils/request' |
|||
|
|||
export default { |
|||
|
|||
// 查询分页列表
|
|||
listPage: function(params) { |
|||
return request({ |
|||
url: '/wms/apiadmin/WmsOldInventory/oldPageList', |
|||
method: 'post', |
|||
data: params, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
// 获取旧件出入库记录详情
|
|||
init: function(data) { |
|||
return request({ |
|||
url: '/wms/apiadmin/WmsOldInventory/getDetailsList', |
|||
method: 'get', |
|||
data: data, |
|||
}); |
|||
}, |
|||
|
|||
|
|||
deleteBySids: function(data) { |
|||
return request({ |
|||
url: '/wms/apiadmin/WmsOldInventory/delBySids', |
|||
method: 'DELETE', |
|||
data: data, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
// 导出报表
|
|||
exportExcel: function(data) { |
|||
return request({ |
|||
url: '/wms/apiadmin/WmsOldInventory/excelList', |
|||
method: 'post', |
|||
responseType: 'blob', // 表明返回服务器返回的数据类型
|
|||
data: data, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
|
|||
// 选择厂家
|
|||
choiceManufacturer: function(params) { |
|||
return request({ |
|||
url: '/wms/apiadmin/base/basemanufacturer/listAll', |
|||
method: 'get', |
|||
data: params, |
|||
}) |
|||
}, |
|||
|
|||
// 查询所有仓库
|
|||
getWarehouses: function(params) { |
|||
return request({ |
|||
url: '/wms/apiadmin/base/wmswarehouseinfo/selectAll', |
|||
method: 'get' |
|||
}) |
|||
}, |
|||
|
|||
// 根据仓库查询库位
|
|||
getWarehouseareas: function(data) { |
|||
return request({ |
|||
url: '/wms/apiadmin/base/wmswarehousearea/selectAll', |
|||
method: 'get', |
|||
data: data, |
|||
}); |
|||
}, |
|||
|
|||
|
|||
|
|||
} |
@ -0,0 +1,39 @@ |
|||
import request from '@/utils/request' |
|||
|
|||
export default { |
|||
|
|||
// 查询分页列表
|
|||
listPage: function(params) { |
|||
return request({ |
|||
url: '/as/v1/AsBusrepairBill/pageBillList', |
|||
method: 'post', |
|||
data: params, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
// 获取维修工单详情
|
|||
getOneByBillNo: function(data) { |
|||
return request({ |
|||
url: '/as/v1/AsBusrepairBill/getOneByBillNo', |
|||
method: 'get', |
|||
data: data, |
|||
}); |
|||
}, |
|||
|
|||
|
|||
// 保存旧件回收登记
|
|||
save: function(data) { |
|||
return request({ |
|||
url: '/wms/apiadmin/WmsOldRegister/saveorUpdateOldRegister', |
|||
method: 'post', |
|||
data: data, |
|||
headers: { |
|||
'Content-Type': 'application/json' |
|||
} |
|||
}); |
|||
}, |
|||
|
|||
} |
@ -0,0 +1,323 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div v-show="viewState == 1"> |
|||
<button-bar ref="btnbar" view-title="旧件处理申请管理" :btndisabled="btndisabled" @btnhandle="btnHandle" /> |
|||
<div class="main-content"> |
|||
<div class="searchcon"> |
|||
<el-button size="small" class="searchbtn" @click="clicksearchShow"> |
|||
{{ searchxianshitit }} |
|||
</el-button> |
|||
<div v-show="isSearchShow" class="search"> |
|||
<el-form :inline="true" class="tab-header"> |
|||
<el-form-item label="分公司"> |
|||
<el-input v-model="queryParams.params.useOrgName" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="申请部门"> |
|||
<el-input v-model="queryParams.params.createDeptName" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="申请人"> |
|||
<el-input v-model="queryParams.params.createByName" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="单据编号"> |
|||
<el-input v-model="queryParams.params.billNo" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="单据日期"> |
|||
<el-date-picker v-model="queryParams.params.createStartTime" type="date" placeholder="选择日期" |
|||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"> |
|||
</el-date-picker>至 |
|||
<el-date-picker v-model="queryParams.params.createEndTime" type="date" placeholder="选择日期" |
|||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="办结日期"> |
|||
<el-date-picker v-model="queryParams.params.finishStartTime" type="date" placeholder="选择日期" |
|||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"> |
|||
</el-date-picker> |
|||
至 |
|||
<el-date-picker v-model="queryParams.params.finishEndTime" type="date" placeholder="选择日期" |
|||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="处理方式"> |
|||
<el-select v-model="queryParams.params.handleModeKey" placeholder="请选择"> |
|||
<el-option v-for="(item,i) in billStateList" :key="i" :label="item.name" :value="item.sid"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div class="btn" style="text-align: center;"> |
|||
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button> |
|||
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- Start 项目列表头部 --> |
|||
<div class="listtop"> |
|||
<div class="tit">旧件处理申请列表</div> |
|||
</div> |
|||
<!-- End 项目列表头部 --> |
|||
<!-- Start 项目列表 --> |
|||
<div class=""> |
|||
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" |
|||
@selection-change="selectionLineChangeHandle"> |
|||
<el-table-column fixed width="50" type="selection" align="center" /> |
|||
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" /> |
|||
<el-table-column fixed label="操作" align="center" width="180"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="primary" size="mini" :disabled="scope.row.billState=='完成'" |
|||
@click="toEdit(scope.row)">办理</el-button> |
|||
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">查看</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="nodeState" label="流程状态" align="center" /> |
|||
<el-table-column prop="billNo" label="单据编号" align="center" /> |
|||
<el-table-column prop="useOrgName" label="分公司" align="center" /> |
|||
<el-table-column prop="createDeptName" label="申请部门" align="center" /> |
|||
<el-table-column prop="createByName" label="申请人" align="center" /> |
|||
<el-table-column prop="createTime" label="申请日期" align="center" /> |
|||
<el-table-column prop="finishTime" label="办结日期" align="center" /> |
|||
<el-table-column prop="handleModeValue" label="处理方式" width="180"align="center" /> |
|||
<el-table-column prop="handleReasonValue" label="处理原因" width="180"align="center" /> |
|||
</el-table> |
|||
</div> |
|||
<!-- End 项目列表 --> |
|||
<div class="pages"> |
|||
<div class="tit" /> |
|||
<!-- 翻页 --> |
|||
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" |
|||
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- End 查询和其列表部分 --> |
|||
<!-- 新增修改部分组件 --> |
|||
<divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" /> |
|||
<divInfo v-show="viewState == 4" ref="divinfo" @doback="resetState" @reloadlist="loadList" /> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/storage/oldPartsCope.js' |
|||
import ButtonBar from '@/components/ButtonBar' |
|||
import Pagination from '@/components/pagination' |
|||
import pageye from '@/components/pagination/pageye' |
|||
import divAdd from './oldPartsCopeAdd.vue' |
|||
import divInfo from './oldPartsCopeInfo.vue' |
|||
export default { |
|||
components: { |
|||
ButtonBar, |
|||
Pagination, |
|||
pageye, |
|||
divAdd, |
|||
divInfo |
|||
}, |
|||
data() { |
|||
return { |
|||
dialogVisible: false, |
|||
formobj: { |
|||
sid: "", |
|||
reviewStatus: "", |
|||
remarks: '' |
|||
}, |
|||
btndisabled: false, |
|||
viewState: 1, // 1、列表 2、添加 3、修改 4、查看 |
|||
isSearchShow: false, |
|||
searchxianshitit: '显示查询条件', |
|||
tableLoading: false, |
|||
dataList: [], |
|||
btnList: [{ |
|||
type: 'primary', |
|||
size: 'small', |
|||
icon: 'plus', |
|||
btnKey: 'toAdd', |
|||
btnLabel: '新增' |
|||
}, |
|||
{ |
|||
type: 'danger', |
|||
size: 'small', |
|||
icon: 'del', |
|||
btnKey: 'doDel', |
|||
btnLabel: '删除' |
|||
}, |
|||
|
|||
{ |
|||
type: 'info', |
|||
size: 'small', |
|||
icon: 'cross', |
|||
btnKey: 'doClose', |
|||
btnLabel: '关闭' |
|||
} |
|||
], |
|||
queryParams: { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
name: '' |
|||
} |
|||
}, |
|||
sids: [], |
|||
selectionList: [], |
|||
billStateList: [{ |
|||
name: "新建", |
|||
sid: "0" |
|||
}, |
|||
{ |
|||
name: "完成", |
|||
sid: "1" |
|||
} |
|||
], |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.$refs['btnbar'].setButtonList(this.btnList) |
|||
}, |
|||
created() { |
|||
this.loadList() |
|||
}, |
|||
methods: { |
|||
selectionLineChangeHandle(val) { |
|||
console.log("val", val); |
|||
|
|||
this.selectionList = val |
|||
const aa = [] |
|||
val.forEach(element => { |
|||
aa.push(element.sid) |
|||
}) |
|||
this.sids = aa |
|||
|
|||
}, |
|||
// 搜索条件效果 |
|||
clicksearchShow() { |
|||
this.isSearchShow = !this.isSearchShow |
|||
if (this.isSearchShow) { |
|||
this.searchxianshitit = '隐藏查询条件' |
|||
} else { |
|||
this.searchxianshitit = '显示查询条件' |
|||
} |
|||
}, |
|||
btnHandle(btnKey) { |
|||
switch (btnKey) { |
|||
case 'doDel': |
|||
this.doDel() |
|||
break |
|||
case 'toAdd': |
|||
this.toAdd() |
|||
break |
|||
case 'doClose': |
|||
this.doClose() |
|||
break |
|||
default: |
|||
break |
|||
} |
|||
}, |
|||
loadList() { |
|||
this.tableLoading = true |
|||
req.listPage(this.queryParams).then((resp) => { |
|||
this.tableLoading = false |
|||
if (resp.success) { |
|||
const data = resp.data |
|||
this.queryParams.total = data.total |
|||
this.dataList = data.records |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
this.dataList = [] |
|||
this.queryParams.total = 0 |
|||
} |
|||
}).catch(() => { |
|||
this.tableLoading = false |
|||
}) |
|||
}, |
|||
|
|||
// 序号 |
|||
indexMethod(index) { |
|||
var pagestart = (this.queryParams.current - 1) * this.queryParams.size |
|||
var pageindex = index + 1 + pagestart |
|||
return pageindex |
|||
}, |
|||
dosearch() { |
|||
this.queryParams.current = 1 |
|||
this.loadList() |
|||
}, |
|||
resetQuery() { |
|||
this.queryParams = { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
name: '' |
|||
} |
|||
} |
|||
this.loadList() |
|||
}, |
|||
doDel() { |
|||
|
|||
if (this.sids.length > 0) { |
|||
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?' |
|||
this.$confirm(tip, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
const loading = this.$loading({ |
|||
lock: true, |
|||
text: 'Loading', |
|||
spinner: 'el-icon-loading', |
|||
background: 'rgba(0, 0, 0, 0.7)' |
|||
}) |
|||
req.deleteBySids(this.sids).then((resp) => { |
|||
loading.close() |
|||
if (resp.success) { |
|||
this.$message({ |
|||
type: 'success', |
|||
message: resp.msg, |
|||
showClose: true |
|||
}) |
|||
this.loadList() |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}).catch(e => { |
|||
loading.close() |
|||
}) |
|||
}).catch(() => {}) |
|||
} else { |
|||
this.$message({ |
|||
showClose: true, |
|||
message: '请至少选择一条记录进行删除操作' |
|||
}) |
|||
} |
|||
}, |
|||
|
|||
toAdd() { |
|||
|
|||
this.viewState = 2 |
|||
this.$refs['divadd'].showAdd() |
|||
|
|||
}, |
|||
|
|||
toEdit(row) { |
|||
|
|||
this.viewState = 3 |
|||
this.$refs['divadd'].showEdit(row) |
|||
|
|||
}, |
|||
|
|||
doClose() { |
|||
this.$store.dispatch('tagsView/delView', this.$route) |
|||
this.$router.go(-1) |
|||
}, |
|||
toRelevancy(row) { |
|||
this.viewState = 4 |
|||
this.$refs['divinfo'].showEdit(row) |
|||
}, |
|||
|
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
</style> |
@ -0,0 +1,548 @@ |
|||
<template> |
|||
<div> |
|||
<div class="tab-header webtop"> |
|||
<!-- 标题 --> |
|||
<div>{{title}}旧件处理申请</div> |
|||
<!-- start 添加修改按钮 --> |
|||
<div> |
|||
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button> |
|||
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit">提交</el-button> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
<!-- end 添加修改按钮 --> |
|||
<!-- end 详情按钮 --> |
|||
</div> |
|||
<div class="listconadd"> |
|||
<el-form ref="form_obj" :model="formobj" class="formaddcopy02"> |
|||
<div class="title"> |
|||
<div>基础信息</div> |
|||
</div> |
|||
<el-row class="first_row"> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">单据编号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.billNo }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">申请日期</div> |
|||
<el-form-item> |
|||
<el-date-picker v-model="formobj.createTime" class="addinputw addinputInfo" type="date" |
|||
value-format="yyyy-MM-dd" placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">申请人</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">申请部门</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createDeptName }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<el-row> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">处理方式</div> |
|||
<el-form-item> |
|||
<el-select v-model="formobj.handleModeValue" placeholder="请选择" class="addinputw addinputInfo"> |
|||
<el-option v-for="(item,i) in handleModeList" :key="i" :label="item.name" :value="item.sid"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">处理原因</div> |
|||
<el-form-item> |
|||
<el-select v-model="formobj.handleReasonValue" placeholder="请选择" class="addinputw addinputInfo"> |
|||
<el-option v-for="(item,i) in handleReasonList" :key="i" :label="item.name" :value="item.sid"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="24"> |
|||
<div class="span-sty">备注</div> |
|||
<el-form-item> |
|||
<el-input v-model="formobj.remarks" placeholder="" class="addinputw addinputInfo" type="textarea" |
|||
:rows="4" clearable /> |
|||
|
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<el-row> |
|||
|
|||
<el-col :span="24"> |
|||
<div class="span-sty">附件</div> |
|||
<el-form-item> |
|||
<upload-img ref="uploadImg" class="addinputw" v-model="formobj.filePaths" :limit="50" |
|||
bucket="map" :upload-data="{ type: '0001' }" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<div class="title titleOne"> |
|||
<div>商品列表</div> |
|||
<el-button type="primary" size="mini" @click="importDetail()">选择旧件</el-button> |
|||
</div> |
|||
|
|||
<el-table v-loading="listLoading" :data="formobj.asOldparthandleList" border> |
|||
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" /> |
|||
<el-table-column fixed label="操作" align="center" width="100"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">删除</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
|
|||
<!-- <el-table-column align="center" width="100" :render-header="commodityHeader"> |
|||
<template slot-scope="scope"> |
|||
<i class="el-icon-delete" @click="commodityDelete(scope.$index)"></i> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="商品名称" align="center" min-width="200"> |
|||
<template slot-scope="scope"> |
|||
<el-popover placement="right" width="900" trigger="click"> |
|||
<div> |
|||
<el-table :data="commodityData" v-loading="commodityLoading" highlight-current-row |
|||
@current-change="commodityCurrentChange($event, scope.row)"> |
|||
<el-table-column fixed prop="goodsSpuName" label="商品名称" align="center" /> |
|||
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" /> |
|||
<el-table-column prop="goodsSkuOwnSpec" label="厂家" align="center" /> |
|||
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" /> |
|||
<el-table-column prop="unit" label="单位" align="center" /> |
|||
</el-table> |
|||
<el-pagination :page.sync="commodityQuery.current" :page-size="commodityQuery.size" |
|||
layout="total, pager" :total="commodityQuery.total" /> |
|||
</div> |
|||
<el-input slot="reference" v-model="scope.row.goodsSkuName" |
|||
@input="commodityInput(scope.row.goodsSkuName)" clearable placeholder="商品名称" /> |
|||
</el-popover> |
|||
</template> |
|||
</el-table-column> --> |
|||
<el-table-column prop="vinNo" label="车架号" align="center" /> |
|||
<el-table-column prop="goodsSkuId" label="商品ID" align="center" /> |
|||
<el-table-column prop="goodsSkuName" label="商品名称" align="center" /> |
|||
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" /> |
|||
<el-table-column prop="manufacturerName" label="厂家" align="center" /> |
|||
<el-table-column prop="unit" label="供应商" align="center" /> |
|||
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" /> |
|||
<el-table-column prop="unit" label="单位" align="center" /> |
|||
<el-table-column prop="warehouseName" label="仓库" align="center" /> |
|||
<el-table-column prop="warehouseRackCode" label="库位" align="center" /> |
|||
<el-table-column label="数量" align="center" width="180"> |
|||
<template slot-scope="scope"> |
|||
<el-input ref="focusAssumptionInput" v-model="scope.row.count" clearable placeholder="" |
|||
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" /> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
</el-form> |
|||
|
|||
</div> |
|||
|
|||
<el-dialog title="选择旧件商品" :visible.sync="dialogVisible" :before-close="handleClose"> |
|||
|
|||
<el-form :inline="true" class="tab-header" style="margin-top: -30px;"> |
|||
<el-form-item label="商品名称"> |
|||
<el-input v-model="queryParams.params.goodsName" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="商品编码"> |
|||
<el-input v-model="queryParams.params.goodsSkuCode" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="仓库"> |
|||
<el-input v-model="queryParams.params.warehouseName" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="库位"> |
|||
<el-input v-model="queryParams.params.areaName" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="供应商"> |
|||
<el-input v-model="queryParams.params.supplierName" placeholder="" clearable /> |
|||
</el-form-item> |
|||
</el-form> |
|||
|
|||
<div class="btn" style="text-align: center; margin-top: 20px;"> |
|||
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button> |
|||
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button> |
|||
</div> |
|||
|
|||
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%;margin-top: 20px;" |
|||
@selection-change="selectionLineChangeHandle"> |
|||
<el-table-column fixed width="50" type="selection" align="center" /> |
|||
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" /> |
|||
<el-table-column prop="goodsID" label="商品ID" align="center" /> |
|||
<el-table-column prop="goodsSpuName" label="商品名称" width="120" align="center" /> |
|||
<el-table-column prop="goodsSkuCode" label="商品编码" width="100" align="center" /> |
|||
<el-table-column prop="goodsSkuOwnSpec" label="规格" width="100" align="center" /> |
|||
<el-table-column prop="unit" label="单位" width="100" align="center" /> |
|||
<el-table-column prop="warehouseName" label="仓库" width="120" align="center" /> |
|||
<el-table-column prop="warehouseRackCode" label="库位" width="120" align="center" /> |
|||
<el-table-column prop="supplierName" label="供应商" width="120" align="center" /> |
|||
<el-table-column prop="count" label="库存数量" width="100" align="center" /> |
|||
</el-table> |
|||
<div class="pages"> |
|||
<div class="tit" /> |
|||
<!-- 翻页 --> |
|||
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" |
|||
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" /> |
|||
</div> |
|||
|
|||
<div class="btn" style="text-align: center; margin-top: 20px;"> |
|||
<el-button type="primary" size="mini" @click="addDialogList()">确认</el-button> |
|||
<el-button type="primary" size="mini" @click="handleClose()">关闭</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
|
|||
|
|||
|
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/storage/oldPartsCope.js' |
|||
import uploadImg from '@/components/uploadFile/uploadImg' |
|||
export default { |
|||
components: { |
|||
uploadImg |
|||
}, |
|||
data() { |
|||
return { |
|||
dialogVisible: false, |
|||
title: '【新增】', |
|||
orderInfo: {}, |
|||
tableLoading: false, |
|||
loadList: false, |
|||
listLoading: false, |
|||
submitdisabled: false, |
|||
formobj: { |
|||
"sid": "", |
|||
"remarks": "", |
|||
"createBySid": "", |
|||
"createByName": "", |
|||
"createDeptSid": "", |
|||
"createDeptName": "", |
|||
"createTime": "", |
|||
"billNo": "", |
|||
"filePaths": [], |
|||
"useOrgSid": "", |
|||
"useOrgName": "", |
|||
"orgSidPath": "", |
|||
"procDefId": "", |
|||
"nodeId": "", |
|||
"procInstId": "", |
|||
"nodeState": "", |
|||
"taskId": "", |
|||
"finishTime": "", |
|||
"asOldpartreturnList": [ |
|||
|
|||
] |
|||
}, |
|||
hideUploadBtn: false, |
|||
|
|||
// commodity商品 |
|||
commodityKey: 1, |
|||
commodityLoading: false, |
|||
commodityQuery: { |
|||
current: 1, |
|||
size: 2, |
|||
total: 0, |
|||
params: { |
|||
name: '', |
|||
inOrg: "", |
|||
outOrg: "" |
|||
} |
|||
}, |
|||
commodityData: [], |
|||
isUpdata: false, |
|||
imgList: [], |
|||
handleModeList: [{ |
|||
name: '处理方式1', |
|||
sid: "1" |
|||
}, |
|||
{ |
|||
name: '处理方式2', |
|||
sid: "2" |
|||
} |
|||
], |
|||
handleReasonList: [{ |
|||
name: '处理原因1', |
|||
sid: "1" |
|||
}, |
|||
{ |
|||
name: '处理原因2', |
|||
sid: "2" |
|||
} |
|||
], |
|||
selectionList: [], |
|||
queryParams: { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
"goodsName": "", |
|||
"goodsSkuCode": "", |
|||
"warehouseName": "", |
|||
"areaName": "", |
|||
"supplierName": "", |
|||
} |
|||
}, |
|||
dataList: [] |
|||
} |
|||
}, |
|||
created() {}, |
|||
methods: { |
|||
|
|||
indexMethod(index) { |
|||
return Number(index) + 1 |
|||
}, |
|||
dosearch() { |
|||
this.queryParams.current = 1 |
|||
this.importDetail() |
|||
}, |
|||
resetQuery() { |
|||
this.queryParams = { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
"goodsName": "", |
|||
"goodsSkuCode": "", |
|||
"warehouseName": "", |
|||
"areaName": "", |
|||
"supplierName": "", |
|||
} |
|||
} |
|||
this.importDetail() |
|||
}, |
|||
|
|||
importDetail() { |
|||
this.tableLoading = true |
|||
req.handleGoodsListPage(this.queryParams).then((resp) => { |
|||
this.tableLoading = false |
|||
this.dialogVisible = true |
|||
if (resp.success) { |
|||
const data = resp.data |
|||
this.queryParams.total = data.total |
|||
this.dataList = data.records |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
this.dataList = [] |
|||
this.queryParams.total = 0 |
|||
} |
|||
}).catch(() => { |
|||
this.tableLoading = false |
|||
}) |
|||
|
|||
}, |
|||
selectionLineChangeHandle(val) { |
|||
this.selectionList = val |
|||
|
|||
}, |
|||
addDialogList() { |
|||
for (var i = 0; i < this.selectionList.length; i++) { |
|||
this.formobj.asOldpartreturnList.push(this.selectionList[i]) |
|||
} |
|||
}, |
|||
handleClose() { |
|||
this.dialogVisible = false |
|||
}, |
|||
saveOrUpdate() { |
|||
console.log('>>>>>>>>>saveOrUpdate', this.formobj) |
|||
|
|||
this.$refs['form_obj'].validate((valid) => { |
|||
if (valid) { |
|||
this.submitdisabled = true |
|||
req.save(this.formobj).then((res) => { |
|||
if (res.success) { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'success', |
|||
message: '保存成功' |
|||
}) |
|||
this.handleReturn('true') |
|||
} else { |
|||
this.submitdisabled = false |
|||
} |
|||
}).catch(() => { |
|||
this.submitdisabled = false |
|||
}) |
|||
} |
|||
}) |
|||
}, |
|||
submit() { |
|||
|
|||
if (this.formobj.createTime == '') { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'warning', |
|||
message: '申请日期不能为空' |
|||
}) |
|||
return |
|||
} |
|||
|
|||
if (this.formobj.handleModeKey == '' || |
|||
this.formobj.handleReasonValue == '') { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'warning', |
|||
message: '处理方式不能为空' |
|||
}) |
|||
return |
|||
} |
|||
|
|||
if (this.formobj.handleReasonKey == '' || this.formobj.handleReasonValue == '') { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'warning', |
|||
message: '处理原因不能为空' |
|||
}) |
|||
return |
|||
} |
|||
|
|||
if (this.formobj.asOldparthandleList.length == 0) { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'warning', |
|||
message: '旧件申请列表不能为空' |
|||
}) |
|||
return |
|||
} |
|||
|
|||
for (var i = 0; i < this.formobj.asOldparthandleList.length; i++) { |
|||
if (Number(this.formobj.asOldparthandleList[i].count) == 0) { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'warning', |
|||
message: '旧件数量不能为空' |
|||
}) |
|||
return |
|||
} |
|||
} |
|||
|
|||
this.$refs['form_obj'].validate((valid) => { |
|||
if (valid) { |
|||
this.submitdisabled = true |
|||
req.submit(this.formobj).then((res) => { |
|||
if (res.success) { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'success', |
|||
message: '保存成功' |
|||
}) |
|||
this.handleReturn('true') |
|||
} else { |
|||
this.submitdisabled = false |
|||
} |
|||
}).catch(() => { |
|||
this.submitdisabled = false |
|||
}) |
|||
} |
|||
}) |
|||
|
|||
}, |
|||
handleReturn(isreload) { |
|||
if (isreload === 'true') this.$emit('reloadlist') |
|||
this.imgList = [] |
|||
this.formobj = { |
|||
"sid": "", |
|||
"remarks": "", |
|||
"createBySid": "", |
|||
"createByName": "", |
|||
"createDeptSid": "", |
|||
"createDeptName": "", |
|||
"createTime": "", |
|||
"billNo": "", |
|||
"filePaths": [], |
|||
"useOrgSid": "", |
|||
"useOrgName": "", |
|||
"orgSidPath": "", |
|||
"procDefId": "", |
|||
"nodeId": "", |
|||
"procInstId": "", |
|||
"nodeState": "", |
|||
"taskId": "", |
|||
"finishTime": "", |
|||
"asOldpartreturnList": [] |
|||
} |
|||
this.submitdisabled = false |
|||
this.isUpdata = false |
|||
this.$emit('doback') |
|||
}, |
|||
|
|||
showAdd() { |
|||
this.title = "【新增】" |
|||
this.isUpdata = false |
|||
}, |
|||
showEdit(row) { |
|||
this.title = "【修改】" |
|||
this.isUpdata = true |
|||
var params = { |
|||
sid: row.sid |
|||
} |
|||
|
|||
req.init(params) |
|||
.then(resp => { |
|||
if (resp.success) { |
|||
this.formobj = resp.data |
|||
|
|||
for (var i = 0; i < resp.data.filePaths.length; i++) { |
|||
this.imgList.push({ |
|||
url: resp.data.filePaths[i].url |
|||
}) |
|||
} |
|||
|
|||
} |
|||
}) |
|||
.catch(e => { |
|||
this.formobj = {} |
|||
}) |
|||
}, |
|||
|
|||
backData() { |
|||
console.log('backData》》》》', value) |
|||
console.log('imgList', this.imgList) |
|||
|
|||
this.formobj.filePaths = this.imgList |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.span-sty { |
|||
width: 130px !important; |
|||
} |
|||
|
|||
.addinputInfo { |
|||
margin-left: 120px !important; |
|||
} |
|||
|
|||
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { |
|||
margin-left: 120px !important; |
|||
width: calc(100% - 115px); |
|||
} |
|||
|
|||
.first_row { |
|||
border-top: 1px solid #E0E3EB; |
|||
} |
|||
|
|||
.titleOne { |
|||
padding: 7px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
</style> |
@ -0,0 +1,237 @@ |
|||
<template> |
|||
<div> |
|||
<div class="tab-header webtop"> |
|||
<!-- 标题 --> |
|||
<div>旧件处理申请</div> |
|||
<!-- start 添加修改按钮 --> |
|||
<div> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
<!-- end 添加修改按钮 --> |
|||
<!-- end 详情按钮 --> |
|||
</div> |
|||
<div class="listconadd"> |
|||
<el-form ref="form_obj" :model="formobj" class="formaddcopy02"> |
|||
<div class="title"> |
|||
<div>基础信息</div> |
|||
</div> |
|||
<el-row class="first_row"> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">单据编号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.billNo }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">申请日期</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">申请人</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">申请部门</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createDeptName }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<el-row> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">处理方式</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.handleModeValue }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">处理原因</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.handleReasonValue }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="24"> |
|||
<div class="span-sty">备注</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<el-row> |
|||
|
|||
<el-col :span="24"> |
|||
<div class="span-sty">附件</div> |
|||
<el-form-item class="trightb_item"> |
|||
<el-image style="width: 120px;height: 120px; margin: 10px;" class="addinputInfo" |
|||
v-for="(item,index) in formobj.filePaths" :src="item.url" :preview-src-list="[item.url]"> |
|||
</el-image> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<div class="title"> |
|||
<div>待处理旧件列表</div> |
|||
</div> |
|||
<el-table v-loading="listLoading" :data="formobj.asOldparthandleList" border> |
|||
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" /> |
|||
<el-table-column prop="vinNo" label="车架号" align="center" /> |
|||
<el-table-column prop="goodsSkuId" label="商品ID" align="center" /> |
|||
<el-table-column prop="goodsSkuName" label="商品名称" align="center" /> |
|||
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" /> |
|||
<el-table-column prop="supplierName" label="供应商" align="center" /> |
|||
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" /> |
|||
<el-table-column prop="unit" label="单位" align="center" /> |
|||
<el-table-column prop="warehouseName" label="仓库" align="center" /> |
|||
<el-table-column prop="warehouseRackCode" label="库位" align="center" /> |
|||
<el-table-column prop="count" label="数量" align="center" /> |
|||
</el-table> |
|||
|
|||
</el-form> |
|||
|
|||
</div> |
|||
|
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/storage/oldPartsCope.js' |
|||
export default { |
|||
data() { |
|||
return { |
|||
listLoading: false, |
|||
submitdisabled: false, |
|||
formobj: { |
|||
"sid": "", |
|||
"remarks": "", |
|||
"createBySid": "", |
|||
"createByName": "", |
|||
"createDeptSid": "", |
|||
"createDeptName": "", |
|||
"createTime": "", |
|||
"billNo": "", |
|||
"filePaths": [], |
|||
"useOrgSid": "", |
|||
"useOrgName": "", |
|||
"orgSidPath": "", |
|||
"procDefId": "", |
|||
"nodeId": "", |
|||
"procInstId": "", |
|||
"nodeState": "", |
|||
"taskId": "", |
|||
"finishTime": "", |
|||
"asOldpartreturnList": [ |
|||
|
|||
] |
|||
}, |
|||
hideUploadBtn: false, |
|||
|
|||
// commodity商品 |
|||
commodityKey: 1, |
|||
commodityLoading: false, |
|||
commodityQuery: { |
|||
current: 1, |
|||
size: 2, |
|||
total: 0, |
|||
params: { |
|||
name: '', |
|||
inOrg: "", |
|||
outOrg: "" |
|||
} |
|||
}, |
|||
commodityData: [], |
|||
imgList: [], |
|||
} |
|||
}, |
|||
created() {}, |
|||
methods: { |
|||
|
|||
indexMethod(index) { |
|||
return Number(index) + 1 |
|||
}, |
|||
|
|||
handleReturn(isreload) { |
|||
if (isreload === 'true') this.$emit('reloadlist') |
|||
this.imgList = [] |
|||
this.formobj = { |
|||
"sid": "", |
|||
"remarks": "", |
|||
"createBySid": "", |
|||
"createByName": "", |
|||
"createDeptSid": "", |
|||
"createDeptName": "", |
|||
"createTime": "", |
|||
"billNo": "", |
|||
"filePaths": [], |
|||
"useOrgSid": "", |
|||
"useOrgName": "", |
|||
"orgSidPath": "", |
|||
"procDefId": "", |
|||
"nodeId": "", |
|||
"procInstId": "", |
|||
"nodeState": "", |
|||
"taskId": "", |
|||
"finishTime": "", |
|||
"asOldpartreturnList": [] |
|||
} |
|||
this.$emit('doback') |
|||
}, |
|||
|
|||
showAdd() {}, |
|||
showEdit(row) { |
|||
var params = { |
|||
sid: row.sid |
|||
} |
|||
|
|||
req.init(params) |
|||
.then(resp => { |
|||
if (resp.success) { |
|||
this.formobj = resp.data |
|||
|
|||
for (var i = 0; i < resp.data.filePaths.length; i++) { |
|||
this.imgList.push({ |
|||
url: resp.data.filePaths[i].url |
|||
}) |
|||
} |
|||
|
|||
} |
|||
}) |
|||
.catch(e => { |
|||
this.formobj = {} |
|||
}) |
|||
}, |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.span-sty { |
|||
width: 130px !important; |
|||
} |
|||
|
|||
.addinputInfo { |
|||
margin-left: 120px !important; |
|||
} |
|||
|
|||
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { |
|||
margin-left: 120px !important; |
|||
width: calc(100% - 115px); |
|||
} |
|||
|
|||
.first_row { |
|||
border-top: 1px solid #E0E3EB; |
|||
} |
|||
|
|||
.titleOne { |
|||
padding: 7px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
</style> |
@ -0,0 +1,425 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div v-show="viewState == 1"> |
|||
<button-bar ref="btnbar" view-title="旧件返厂管理" :btndisabled="btndisabled" @btnhandle="btnHandle" /> |
|||
<div class="main-content"> |
|||
<div class="searchcon"> |
|||
<el-button size="small" class="searchbtn" @click="clicksearchShow"> |
|||
{{ searchxianshitit }} |
|||
</el-button> |
|||
<div v-show="isSearchShow" class="search"> |
|||
<el-form :inline="true" class="tab-header"> |
|||
<el-form-item label="分公司"> |
|||
<el-input v-model="queryParams.params.billNo" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="申请部门"> |
|||
<el-input v-model="queryParams.params.billNo" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="单据编号"> |
|||
<el-input v-model="queryParams.params.billNo" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="单据日期"> |
|||
<el-date-picker v-model="queryParams.params.createTimeStart" type="date" placeholder="选择日期" |
|||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"> |
|||
</el-date-picker>至 |
|||
<el-date-picker v-model="queryParams.params.createTimeEnd" type="date" placeholder="选择日期" |
|||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="办结日期"> |
|||
<el-date-picker v-model="queryParams.params.deliveryDateStart" type="date" placeholder="选择日期" |
|||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"> |
|||
</el-date-picker> |
|||
至 |
|||
<el-date-picker v-model="queryParams.params.deliveryDateEnd" type="date" placeholder="选择日期" |
|||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="厂家确认结果"> |
|||
<el-select v-model="queryParams.params.billState" placeholder="请选择"> |
|||
<el-option v-for="(item,i) in confirmResultsList" :key="i" :label="item.name" :value="item.sid"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div class="btn" style="text-align: center;"> |
|||
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button> |
|||
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- Start 项目列表头部 --> |
|||
<div class="listtop"> |
|||
<div class="tit">旧件返厂列表</div> |
|||
</div> |
|||
<!-- End 项目列表头部 --> |
|||
<!-- Start 项目列表 --> |
|||
<div class=""> |
|||
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" |
|||
@selection-change="selectionLineChangeHandle"> |
|||
<el-table-column fixed width="50" type="selection" align="center" /> |
|||
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" /> |
|||
<el-table-column fixed label="操作" align="center" width="180"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="primary" size="mini" :disabled="scope.row.billState=='完成'" |
|||
@click="toEdit(scope.row)">办理</el-button> |
|||
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">查看</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="nodeState" label="流程状态" align="center" /> |
|||
<el-table-column prop="billNo" label="单据编号" align="center" /> |
|||
<el-table-column prop="useOrgName" label="分公司" align="center" /> |
|||
<el-table-column prop="createDeptName" label="申请部门" align="center" /> |
|||
<el-table-column prop="createByName" label="申请人" align="center" /> |
|||
<el-table-column prop="createTime" label="申请日期" align="center" /> |
|||
<el-table-column prop="needReturnCount" label="应返厂数量合计" align="center" /> |
|||
<el-table-column prop="actualReturnCount" label="实际返厂数量合计" width="180" align="center" /> |
|||
<el-table-column label="附件" align="center" width="100"> |
|||
<template slot-scope="scope"> |
|||
<div style="color: #1890FF; text-decoration: underline ;" @click="showAdjunct(scope.row.filePaths)">查看 |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="厂家确认结果" align="center"> |
|||
<template slot-scope="scope"> |
|||
<div style="color: #1890FF; text-decoration: underline ;" @click="showResult(scope.row.sid)"> |
|||
{{ scope.row.confirmResult }} |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
|
|||
</el-table> |
|||
</div> |
|||
<!-- End 项目列表 --> |
|||
<div class="pages"> |
|||
<div class="tit" /> |
|||
<!-- 翻页 --> |
|||
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" |
|||
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- End 查询和其列表部分 --> |
|||
<!-- 新增修改部分组件 --> |
|||
<divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" /> |
|||
<divInfo v-show="viewState == 4" ref="divinfo" @doback="resetState" @reloadlist="loadList" /> |
|||
|
|||
|
|||
<el-dialog title="附件" :visible.sync="dialogVisible" :before-close="handleClose"> |
|||
|
|||
<el-form ref="dataForm1" class="formadd" style="margin-top: -30px;"> |
|||
|
|||
<el-row class="first_row"> |
|||
<el-col :span="24" class="trightb"> |
|||
<el-image style="width: 120px;height: 120px; margin: 10px; background: #f0f;" |
|||
v-for="(item,index) in fileList" :src="item" :preview-src-list="[item]"> |
|||
</el-image> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
</el-form> |
|||
|
|||
|
|||
</el-dialog> |
|||
|
|||
|
|||
<el-dialog title="确认结果详情" :visible.sync="dialogVisible2" :before-close="handleClose2"> |
|||
<el-form ref="dataForm1" class="formadd" style="margin-top: -40px;" :model="orderInfo"> |
|||
|
|||
<el-row class="first_row"> |
|||
<el-col :span="8" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">返件数量确认</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<el-form-item class="trightb_item"> |
|||
<el-radio-group v-model="orderInfo.isUnanimous" size="small" :disabled="true"> |
|||
<el-radio :label="0">一致</el-radio> |
|||
<el-radio :label="1">不一致</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">备注</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<el-form-item class="trightb_item"> |
|||
<span class="addinputw" style="width:100%">{{orderInfo.remarks}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="8" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">附件</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="16" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<el-image style="width: 120px;height: 120px; margin: 10px; " |
|||
v-for="(item,index) in orderInfo.filePaths" :src="item" :preview-src-list="[item]"> |
|||
</el-image> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</el-dialog> |
|||
|
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/storage/oldPartsFactory.js' |
|||
import ButtonBar from '@/components/ButtonBar' |
|||
import Pagination from '@/components/pagination' |
|||
import pageye from '@/components/pagination/pageye' |
|||
import divAdd from './oldPartsFactoryAdd.vue' |
|||
import divInfo from './oldPartsFactoryInfo.vue' |
|||
export default { |
|||
components: { |
|||
ButtonBar, |
|||
Pagination, |
|||
pageye, |
|||
divAdd, |
|||
divInfo |
|||
}, |
|||
data() { |
|||
return { |
|||
dialogVisible: false, |
|||
dialogVisible2: false, |
|||
fileList: [], |
|||
orderInfo: {}, |
|||
btndisabled: false, |
|||
viewState: 1, // 1、列表 2、添加 3、修改 4、查看 |
|||
isSearchShow: false, |
|||
searchxianshitit: '显示查询条件', |
|||
tableLoading: false, |
|||
dataList: [], |
|||
btnList: [{ |
|||
type: 'primary', |
|||
size: 'small', |
|||
icon: 'plus', |
|||
btnKey: 'toAdd', |
|||
btnLabel: '新增' |
|||
}, { |
|||
type: 'danger', |
|||
size: 'small', |
|||
icon: 'del', |
|||
btnKey: 'doDel', |
|||
btnLabel: '删除' |
|||
}, |
|||
|
|||
{ |
|||
type: 'info', |
|||
size: 'small', |
|||
icon: 'cross', |
|||
btnKey: 'doClose', |
|||
btnLabel: '关闭' |
|||
} |
|||
], |
|||
queryParams: { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
name: '' |
|||
} |
|||
}, |
|||
sids: [], |
|||
selectionList: [], |
|||
confirmResultsList: [{ |
|||
name: "一致", |
|||
sid: "1" |
|||
}, |
|||
{ |
|||
name: "不一致", |
|||
sid: "2" |
|||
} |
|||
], |
|||
pathList: [] |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.$refs['btnbar'].setButtonList(this.btnList) |
|||
}, |
|||
created() { |
|||
this.loadList() |
|||
}, |
|||
methods: { |
|||
handleClose() { |
|||
this.dialogVisible = false |
|||
}, |
|||
handleClose2() { |
|||
this.dialogVisible2 = false |
|||
}, |
|||
showAdjunct(paths) { |
|||
this.fileList = paths |
|||
this.dialogVisible = true |
|||
}, |
|||
showResult(sid) { |
|||
|
|||
req.fetchDetailsByMainSid(sid).then((resp) => { |
|||
|
|||
console.log("fetchDetailsByMainSid", resp); |
|||
|
|||
this.orderInfo = resp.data |
|||
|
|||
this.dialogVisible2 = true |
|||
|
|||
}).catch(() => { |
|||
|
|||
}) |
|||
|
|||
|
|||
}, |
|||
selectionLineChangeHandle(val) { |
|||
console.log("val", val); |
|||
|
|||
this.selectionList = val |
|||
const aa = [] |
|||
val.forEach(element => { |
|||
aa.push(element.sid) |
|||
}) |
|||
this.sids = aa |
|||
|
|||
}, |
|||
// 搜索条件效果 |
|||
clicksearchShow() { |
|||
this.isSearchShow = !this.isSearchShow |
|||
if (this.isSearchShow) { |
|||
this.searchxianshitit = '隐藏查询条件' |
|||
} else { |
|||
this.searchxianshitit = '显示查询条件' |
|||
} |
|||
}, |
|||
btnHandle(btnKey) { |
|||
switch (btnKey) { |
|||
case 'doDel': |
|||
this.doDel() |
|||
break |
|||
case 'toAdd': |
|||
this.toAdd() |
|||
break |
|||
case 'doClose': |
|||
this.doClose() |
|||
break |
|||
default: |
|||
break |
|||
} |
|||
}, |
|||
loadList() { |
|||
this.tableLoading = true |
|||
req.listPage(this.queryParams).then((resp) => { |
|||
this.tableLoading = false |
|||
if (resp.success) { |
|||
const data = resp.data |
|||
this.queryParams.total = data.total |
|||
this.dataList = data.records |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
this.dataList = [] |
|||
this.queryParams.total = 0 |
|||
} |
|||
}).catch(() => { |
|||
this.tableLoading = false |
|||
}) |
|||
}, |
|||
|
|||
// 序号 |
|||
indexMethod(index) { |
|||
var pagestart = (this.queryParams.current - 1) * this.queryParams.size |
|||
var pageindex = index + 1 + pagestart |
|||
return pageindex |
|||
}, |
|||
dosearch() { |
|||
this.queryParams.current = 1 |
|||
this.loadList() |
|||
}, |
|||
resetQuery() { |
|||
this.queryParams = { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
name: '' |
|||
} |
|||
} |
|||
this.loadList() |
|||
}, |
|||
doDel() { |
|||
|
|||
if (this.sids.length > 0) { |
|||
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?' |
|||
this.$confirm(tip, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
const loading = this.$loading({ |
|||
lock: true, |
|||
text: 'Loading', |
|||
spinner: 'el-icon-loading', |
|||
background: 'rgba(0, 0, 0, 0.7)' |
|||
}) |
|||
req.deleteBySids(this.sids).then((resp) => { |
|||
loading.close() |
|||
if (resp.success) { |
|||
this.$message({ |
|||
type: 'success', |
|||
message: resp.msg, |
|||
showClose: true |
|||
}) |
|||
this.loadList() |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}).catch(e => { |
|||
loading.close() |
|||
}) |
|||
}).catch(() => {}) |
|||
} else { |
|||
this.$message({ |
|||
showClose: true, |
|||
message: '请至少选择一条记录进行删除操作' |
|||
}) |
|||
} |
|||
}, |
|||
|
|||
toAdd() { |
|||
|
|||
this.viewState = 2 |
|||
this.$refs['divadd'].showAdd() |
|||
|
|||
}, |
|||
|
|||
toEdit(row) { |
|||
|
|||
this.viewState = 3 |
|||
this.$refs['divadd'].showEdit(row) |
|||
|
|||
}, |
|||
|
|||
doClose() { |
|||
this.$store.dispatch('tagsView/delView', this.$route) |
|||
this.$router.go(-1) |
|||
}, |
|||
toRelevancy(row) { |
|||
this.viewState = 4 |
|||
this.$refs['divinfo'].showEdit(row) |
|||
}, |
|||
|
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
</style> |
@ -0,0 +1,521 @@ |
|||
<template> |
|||
<div> |
|||
<div class="tab-header webtop"> |
|||
<!-- 标题 --> |
|||
<div>{{title}}旧件返厂申请</div> |
|||
<!-- start 添加修改按钮 --> |
|||
<div> |
|||
<el-button type="primary" size="small" :disabled="submitdisabled" @click="importDetail">导入厂家返件明细</el-button> |
|||
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button> |
|||
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit">提交</el-button> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
<!-- end 添加修改按钮 --> |
|||
<!-- end 详情按钮 --> |
|||
</div> |
|||
<div class="listconadd"> |
|||
<el-form ref="form_obj" :model="formobj" class="formaddcopy02"> |
|||
<div class="title"> |
|||
<div>基础信息</div> |
|||
</div> |
|||
<el-row class="first_row"> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">单据编号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.billNo }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">申请人</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">分公司</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.useOrgName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">申请部门</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createDeptName }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">申请日期</div> |
|||
<el-form-item> |
|||
<el-date-picker v-model="formobj.createTime" class="addinputw addinputInfo" type="date" |
|||
value-format="yyyy-MM-dd" placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">流程状态</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.nodeState }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="24"> |
|||
<div class="span-sty">备注</div> |
|||
<el-form-item> |
|||
<el-input v-model="formobj.remarks" placeholder="" class="addinputw addinputInfo" type="textarea" |
|||
:rows="4" clearable /> |
|||
|
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<el-row> |
|||
|
|||
<el-col :span="24"> |
|||
<div class="span-sty">附件</div> |
|||
<el-form-item> |
|||
<upload-img ref="uploadImg" class="addinputw" v-model="formobj.filePaths" :limit="50" bucket="map" |
|||
:upload-data="{ type: '0001' }" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<div class="title"> |
|||
<div>返厂旧件列表</div> |
|||
</div> |
|||
<el-table v-loading="listLoading" :data="formobj.asOldpartreturnList" border> |
|||
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" /> |
|||
<el-table-column align="center" width="100" :render-header="commodityHeader"> |
|||
<template slot-scope="scope"> |
|||
<i class="el-icon-delete" @click="commodityDelete(scope.$index)"></i> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="商品名称" align="center" min-width="200"> |
|||
<template slot-scope="scope"> |
|||
<el-popover placement="right" width="900" trigger="click"> |
|||
<div> |
|||
<el-table :data="commodityData" v-loading="commodityLoading" highlight-current-row |
|||
@current-change="commodityCurrentChange($event, scope.row)"> |
|||
<el-table-column fixed prop="goodsSpuName" label="商品名称" align="center" /> |
|||
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" /> |
|||
<el-table-column prop="goodsSkuOwnSpec" label="厂家" align="center" /> |
|||
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" /> |
|||
<el-table-column prop="unit" label="单位" align="center" /> |
|||
</el-table> |
|||
<el-pagination :page.sync="commodityQuery.current" :page-size="commodityQuery.size" |
|||
layout="total, pager" :total="commodityQuery.total" /> |
|||
</div> |
|||
<el-input slot="reference" v-model="scope.row.goodsSkuName" |
|||
@input="commodityInput(scope.row.goodsSkuName)" clearable placeholder="商品名称" /> |
|||
</el-popover> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" /> |
|||
<el-table-column prop="manufacturerName" label="厂家" align="center" /> |
|||
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" /> |
|||
<el-table-column prop="unit" label="单位" align="center" /> |
|||
<el-table-column label="需返厂数量" align="center" width="180"> |
|||
<template slot-scope="scope"> |
|||
<el-input ref="focusAssumptionInput" v-model="scope.row.needReturnCount" clearable placeholder="" |
|||
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" /> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="实际返厂数量" align="center" width="180"> |
|||
<template slot-scope="scope"> |
|||
<el-input ref="focusAssumptionInput" v-model="scope.row.actualReturnCount" clearable placeholder="" |
|||
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" /> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="差异说明" align="center" width="200"> |
|||
<template slot-scope="scope"> |
|||
<el-input ref="focusAssumptionInput" v-model="scope.row.remarks" clearable placeholder="" /> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
</el-form> |
|||
|
|||
</div> |
|||
|
|||
<!-- 导入 --> |
|||
<el-dialog :visible.sync="dialogVisible" width="60%" :show-close="false"> |
|||
<div style="margin-top: -40px;"> |
|||
<el-button size="medium" type="text" style="font-weight: bold" @click="downLoad">下载导入厂家返厂明细模板</el-button> |
|||
</div> |
|||
<el-card class="box-card"> |
|||
<div> |
|||
<el-upload ref="upload" class="upload-demo" accept=".xls,.xlsx" name="file" :action="updateAction" |
|||
:on-success="handleSuccess" :file-list="fileList" :auto-upload="false" :multiple="false" :limit="1" |
|||
:data="uploadData" :headers="headers"> |
|||
<el-button slot="trigger" size="small" type="primary">选取文件</el-button> |
|||
<el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传</el-button> |
|||
</el-upload> |
|||
</div> |
|||
<div> |
|||
<h3>文件上传结果</h3> |
|||
<el-card class="box-card"> |
|||
<div>{{ uploadResultMesssage }}</div> |
|||
</el-card> |
|||
</div> |
|||
</el-card> |
|||
<div slot="footer" class="dialog-footer" style="text-align: center"> |
|||
<el-button type="primary" size="small" @click="handleConfirm">确定</el-button> |
|||
<el-button size="small" @click="dialogVisible = false">取消</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
|
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/storage/oldPartsFactory.js' |
|||
import uploadImg from '@/components/uploadFile/uploadImg' |
|||
export default { |
|||
components: { |
|||
uploadImg |
|||
}, |
|||
data() { |
|||
return { |
|||
dialogVisible: false, |
|||
updateAction: process.env.VUE_APP_BASE_API + '/as/v1/asoldpartreturnapply/getExcelInfo', |
|||
fileList: [], |
|||
uploadSuccess: false, |
|||
uploadResultMesssage: '', |
|||
uploadData: { |
|||
sid: '' |
|||
}, |
|||
headers: { |
|||
token: window.sessionStorage.getItem('token') |
|||
}, |
|||
title: '【新增】', |
|||
listLoading: false, |
|||
submitdisabled: false, |
|||
formobj: { |
|||
"sid": "", |
|||
"remarks": "", |
|||
"createBySid": "", |
|||
"createByName": "", |
|||
"createDeptSid": "", |
|||
"createDeptName": "", |
|||
"createTime": "", |
|||
"billNo": "", |
|||
"filePaths": [], |
|||
"useOrgSid": "", |
|||
"useOrgName": "", |
|||
"orgSidPath": "", |
|||
"procDefId": "", |
|||
"nodeId": "", |
|||
"procInstId": "", |
|||
"nodeState": "", |
|||
"taskId": "", |
|||
"finishTime": "", |
|||
"asOldpartreturnList": [ |
|||
|
|||
] |
|||
}, |
|||
hideUploadBtn: false, |
|||
|
|||
// commodity商品 |
|||
commodityKey: 1, |
|||
commodityLoading: false, |
|||
commodityQuery: { |
|||
current: 1, |
|||
size: 2, |
|||
total: 0, |
|||
params: { |
|||
name: '', |
|||
inOrg: "", |
|||
outOrg: "" |
|||
} |
|||
}, |
|||
commodityData: [], |
|||
isUpdata: false, |
|||
imgList: [] |
|||
} |
|||
}, |
|||
created() {}, |
|||
methods: { |
|||
|
|||
commodityInput(value) { |
|||
this.commodityQuery.params.name = value |
|||
this.commodityLoading = true |
|||
req.getGoodsListPage(this.commodityQuery).then((response) => { |
|||
if (response.success) { |
|||
this.commodityLoading = false |
|||
this.commodityData = response.data.records |
|||
this.commodityQuery.total = response.data.total |
|||
} else { |
|||
this.serviceLoading = false |
|||
this.commodityData = [] |
|||
this.commodityQuery.total = 0 |
|||
} |
|||
}) |
|||
}, |
|||
commodityDelete(index) { |
|||
this.formobj.asOldpartreturnList.splice(index, 1) |
|||
}, |
|||
commodityCurrentChange(value, row) { |
|||
console.log("commodityCurrentChange》》》》", value) |
|||
console.log("commodityCurrentChange》》》》", row) |
|||
row.sid = '' |
|||
row.remarks = '' |
|||
row.mainSid = '' |
|||
row.manufacturerName = value.goodsSkuOwnSpec |
|||
row.goodsSkuName = value.goodsSpuName |
|||
row.goodsSkuCode = value.goodsSkuCode |
|||
row.goodsSkuOwnSpec = value.goodsSkuOwnSpec |
|||
row.unit = value.unit |
|||
row.needReturnCount = 0 |
|||
row.actualReturnCount = 0 |
|||
document.body.click() |
|||
}, |
|||
|
|||
// 在头部标题上添加“新增”图标 |
|||
commodityHeader(h, { |
|||
column |
|||
}) { |
|||
return h( |
|||
'div', |
|||
[ |
|||
h('span', column.label), |
|||
h('i', { |
|||
class: 'add-btn-icon el-icon-plus', |
|||
style: 'color: red;font-size:20px', |
|||
on: { |
|||
click: this.commodityAdd // 点击执行函数 |
|||
} |
|||
}) |
|||
] |
|||
) |
|||
}, |
|||
commodityAdd() { |
|||
this.formobj.asOldpartreturnList.push({ |
|||
"sid": "", |
|||
"remarks": "", |
|||
"mainSid": "", |
|||
"manufacturerName": "", |
|||
"goodsSkuName": "", |
|||
"goodsSkuCode": "", |
|||
"goodsSkuOwnSpec": "", |
|||
"unit": "", |
|||
"needReturnCount": 0, |
|||
"actualReturnCount": 0 |
|||
}) |
|||
}, |
|||
|
|||
|
|||
doGoodsDel(sid) { |
|||
console.log("doGoodsDel》》》》", sid) |
|||
this.$confirm("是否确定删除此商品?", '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
const index = this.formobj.asOldpartreturnList.findIndex((item) => item === row) |
|||
console.log("index》》》》", index) |
|||
this.formobj.asOldpartreturnList.splice(index, 1) |
|||
|
|||
}) |
|||
}, |
|||
|
|||
indexMethod(index) { |
|||
return Number(index) + 1 |
|||
}, |
|||
importDetail() { |
|||
this.dialogVisible = true |
|||
}, |
|||
saveOrUpdate() { |
|||
console.log('>>>>>>>>>saveOrUpdate', this.formobj) |
|||
|
|||
this.$refs['form_obj'].validate((valid) => { |
|||
if (valid) { |
|||
this.submitdisabled = true |
|||
req.save(this.formobj).then((res) => { |
|||
if (res.success) { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'success', |
|||
message: '保存成功' |
|||
}) |
|||
this.handleReturn('true') |
|||
} else { |
|||
this.submitdisabled = false |
|||
} |
|||
}).catch(() => { |
|||
this.submitdisabled = false |
|||
}) |
|||
} |
|||
}) |
|||
}, |
|||
submit() { |
|||
|
|||
this.$refs['form_obj'].validate((valid) => { |
|||
if (valid) { |
|||
this.submitdisabled = true |
|||
req.submit(this.formobj).then((res) => { |
|||
if (res.success) { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'success', |
|||
message: '保存成功' |
|||
}) |
|||
this.handleReturn('true') |
|||
} else { |
|||
this.submitdisabled = false |
|||
} |
|||
}).catch(() => { |
|||
this.submitdisabled = false |
|||
}) |
|||
} |
|||
}) |
|||
|
|||
}, |
|||
handleReturn(isreload) { |
|||
if (isreload === 'true') this.$emit('reloadlist') |
|||
this.imgList = [] |
|||
this.formobj = { |
|||
"sid": "", |
|||
"remarks": "", |
|||
"createBySid": "", |
|||
"createByName": "", |
|||
"createDeptSid": "", |
|||
"createDeptName": "", |
|||
"createTime": "", |
|||
"billNo": "", |
|||
"filePaths": [], |
|||
"useOrgSid": "", |
|||
"useOrgName": "", |
|||
"orgSidPath": "", |
|||
"procDefId": "", |
|||
"nodeId": "", |
|||
"procInstId": "", |
|||
"nodeState": "", |
|||
"taskId": "", |
|||
"finishTime": "", |
|||
"asOldpartreturnList": [] |
|||
} |
|||
this.submitdisabled = false |
|||
this.isUpdata = false |
|||
this.$emit('doback') |
|||
}, |
|||
|
|||
showAdd() { |
|||
this.title = "【新增】" |
|||
this.isUpdata = false |
|||
}, |
|||
showEdit(row) { |
|||
this.title = "【修改】" |
|||
this.isUpdata = true |
|||
var params = { |
|||
sid: row.sid |
|||
} |
|||
|
|||
req.init(params) |
|||
.then(resp => { |
|||
if (resp.success) { |
|||
this.formobj = resp.data |
|||
|
|||
for (var i = 0; i < resp.data.filePaths.length; i++) { |
|||
this.imgList.push({ |
|||
url: resp.data.filePaths[i].url |
|||
}) |
|||
} |
|||
|
|||
} |
|||
}) |
|||
.catch(e => { |
|||
this.formobj = {} |
|||
}) |
|||
}, |
|||
|
|||
downLoad() { |
|||
const loading = this.$loading({ |
|||
lock: true, |
|||
text: 'Loading', |
|||
spinner: 'el-icon-loading', |
|||
background: 'rgba(0, 0, 0, 0.7)' |
|||
}) |
|||
req.downloadExcel().then((resp) => { |
|||
loading.close() |
|||
const blob = new Blob([resp], { |
|||
type: 'application/vnd.ms-excel' |
|||
}) |
|||
const fileName = '导入厂家返厂明细模版' + '.xls' |
|||
const elink = document.createElement('a') |
|||
elink.download = fileName |
|||
elink.style.display = 'nonde' |
|||
elink.href = URL.createObjectURL(blob) |
|||
document.body.appendChild(elink) |
|||
elink.click() |
|||
URL.revokeObjectURL(elink.href) |
|||
document.body.removeChild(elink) |
|||
}).catch(() => { |
|||
loading.close() |
|||
}) |
|||
}, |
|||
submitUpload() { |
|||
this.$refs.upload.submit() |
|||
}, |
|||
handleSuccess(resp, file, fileList) { |
|||
const _this = this |
|||
_this.uploadResultMesssage = resp.msg |
|||
_this.uploadSuccess = resp.success |
|||
|
|||
if (resp.success) { |
|||
|
|||
for (var i = 0; i < resp.data.length; i++) { |
|||
this.formobj.asOldpartreturnList.push(resp.data[i]) |
|||
} |
|||
|
|||
} |
|||
|
|||
}, |
|||
handleConfirm() { |
|||
if (!this.uploadSuccess) { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'error', |
|||
message: '请先上传导入厂家返件明细' |
|||
}) |
|||
return |
|||
} |
|||
this.dialogVisible = false |
|||
}, |
|||
backData() { |
|||
console.log('backData》》》》', value) |
|||
console.log('imgList', this.imgList) |
|||
|
|||
this.formobj.filePaths = this.imgList |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.span-sty { |
|||
width: 130px !important; |
|||
} |
|||
|
|||
.addinputInfo { |
|||
margin-left: 120px !important; |
|||
} |
|||
|
|||
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { |
|||
margin-left: 120px !important; |
|||
width: calc(100% - 115px); |
|||
} |
|||
|
|||
.first_row { |
|||
border-top: 1px solid #E0E3EB; |
|||
} |
|||
|
|||
.titleOne { |
|||
padding: 7px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
</style> |
@ -0,0 +1,171 @@ |
|||
<template> |
|||
<div> |
|||
|
|||
<div class="tab-header webtop"> |
|||
<!-- 标题 --> |
|||
<div>旧件返厂</div> |
|||
<!-- start 添加修改按钮 --> |
|||
<div> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
<!-- end 添加修改按钮 --> |
|||
<!-- end 详情按钮 --> |
|||
</div> |
|||
|
|||
<div class="listconadd"> |
|||
|
|||
<el-form ref="form_obj" :model="formobj" class="formaddcopy02"> |
|||
<div class="title"> |
|||
<div>基础信息</div> |
|||
</div> |
|||
<el-row class="first_row"> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">单据编号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.billNo }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">申请人</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">分公司</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.useOrgName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">申请部门</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createDeptName }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">申请日期</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">流程状态</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.nodeState }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="24"> |
|||
<div class="span-sty">备注</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<el-row> |
|||
<el-col :span="24"> |
|||
<div class="span-sty">附件</div> |
|||
<el-form-item class="trightb_item"> |
|||
<el-image style="width: 120px;height: 120px; margin: 10px;" class="addinputInfo" |
|||
v-for="(item,index) in formobj.filePaths" :src="item.url" :preview-src-list="[item.url]"> |
|||
</el-image> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<div class="title" |
|||
style="display: flex;align-items: center;justify-content: space-between;height:40px;margin-top: 10px;"> |
|||
<div>商品列表</div> |
|||
</div> |
|||
<el-table v-loading="listLoading" :data="formobj.asOldpartreturnList" border style="width: 100%;" |
|||
:row-style="{height: '40px'}"> |
|||
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" /> |
|||
<el-table-column label="商品名称" prop="goodsSkuName" align="center" /> |
|||
<el-table-column label="商品编码" prop="goodsSkuCode" align="center" /> |
|||
<el-table-column label="厂家" prop="manufacturerName" align="center" /> |
|||
<el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" /> |
|||
<el-table-column label="单位" prop="unit" align="center" /> |
|||
<el-table-column label="需返厂数量" prop="needReturnCount" align="center" /> |
|||
<el-table-column label="实际返厂数量" prop="actualReturnCount" align="center" /> |
|||
<el-table-column label="差异说明" prop="remarks" align="center" /> |
|||
</el-table> |
|||
|
|||
</el-form> |
|||
|
|||
</div> |
|||
|
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/storage/oldPartsFactory.js' |
|||
|
|||
export default { |
|||
components: {}, |
|||
data() { |
|||
return { |
|||
listLoading: false, |
|||
submitdisabled: false, |
|||
formobj: {}, |
|||
} |
|||
}, |
|||
methods: { |
|||
indexMethod(index) { |
|||
return index + 1 |
|||
}, |
|||
|
|||
handleReturn(isreload) { |
|||
if (isreload === 'true') this.$emit('reloadlist') |
|||
this.$emit('doback') |
|||
}, |
|||
|
|||
showAdd() { |
|||
|
|||
}, |
|||
showEdit(row) { |
|||
|
|||
var params = { |
|||
sid: row.sid |
|||
} |
|||
req.init(params) |
|||
.then(resp => { |
|||
if (resp.success) { |
|||
this.formobj = resp.data |
|||
} |
|||
}) |
|||
.catch(e => { |
|||
this.formobj = {} |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.span-sty { |
|||
width: 130px !important; |
|||
} |
|||
|
|||
.addinputInfo { |
|||
margin-left: 120px !important; |
|||
} |
|||
|
|||
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { |
|||
margin-left: 120px !important; |
|||
width: calc(100% - 115px); |
|||
} |
|||
|
|||
.first_row { |
|||
border-top: 1px solid #E0E3EB; |
|||
} |
|||
|
|||
.titleOne { |
|||
padding: 7px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
</style> |
@ -0,0 +1,438 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div v-show="viewState == 1"> |
|||
<button-bar ref="btnbar" view-title="旧件出入库查询" :btndisabled="btndisabled" @btnhandle="btnHandle" /> |
|||
<div class="main-content"> |
|||
<div class="searchcon"> |
|||
<el-button size="small" class="searchbtn" @click="clicksearchShow"> |
|||
{{ searchxianshitit }} |
|||
</el-button> |
|||
<div v-show="isSearchShow" class="search"> |
|||
<el-form :inline="true" class="tab-header"> |
|||
<el-form-item label="商品ID"> |
|||
<el-input v-model="queryParams.params.goodsID" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="商品名称"> |
|||
<el-input v-model="queryParams.params.goodsSpuName" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="商品编码"> |
|||
<el-input v-model="queryParams.params.goodsSkuCode" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="仓库"> |
|||
<el-select v-model="queryParams.params.warehouseName" filterable clearable placeholder="请选择" |
|||
style="width:100%" @change="warehouseNameSelect"> |
|||
<el-option v-for="item in warehouseList" :key="item.sid" :label="item.warehouseName" |
|||
:value="item.sid"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="库位"> |
|||
<el-select v-model="queryParams.params.warehouseRackCode" filterable clearable placeholder="请选择" |
|||
style="width:100%" @change="warehouseRackCodeSelect"> |
|||
<el-option v-for="item in warehouseRackList" :key="item.sid" :label="item.areaCode" :value="item.sid"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="厂家"> |
|||
<el-select v-model="queryParams.params.manufacturerName" filterable clearable placeholder="请选择" |
|||
style="width:100%" @change="manufacturerNameSelect"> |
|||
<el-option v-for="item in manufacturerList" :key="item.sid" :label="item.manufacturerName" |
|||
:value="item.sid"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="车架号"> |
|||
<el-input v-model="queryParams.params.vinNo" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="来源单号"> |
|||
<el-input v-model="queryParams.params.billNo" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="单据类型"> |
|||
<el-select v-model="queryParams.params.billType" filterable clearable placeholder="请选择" |
|||
style="width:100%"> |
|||
<el-option v-for="item in busTypeList" :key="item.sid" :label="item.name" :value="item.sid"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="业务类型"> |
|||
<el-select v-model="queryParams.params.busTypeValue" filterable clearable placeholder="请选择" |
|||
style="width:100%"> |
|||
<el-option v-for="item in billStateList" :key="item.sid" :label="item.name" :value="item.sid"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="发生时间"> |
|||
<el-date-picker v-model="queryParams.params.createTimeStart" type="date" placeholder="选择日期" |
|||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"> |
|||
</el-date-picker> |
|||
至 |
|||
<el-date-picker v-model="queryParams.params.createTimeEnd" type="date" placeholder="选择日期" |
|||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div class="btn" style="text-align: center;"> |
|||
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button> |
|||
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- Start 项目列表头部 --> |
|||
<div class="listtop"> |
|||
<div class="tit">旧件出入库记录</div> |
|||
</div> |
|||
<!-- End 项目列表头部 --> |
|||
<!-- Start 项目列表 --> |
|||
<div class=""> |
|||
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" |
|||
@selection-change="selectionLineChangeHandle"> |
|||
<el-table-column fixed width="50" type="selection" align="center" /> |
|||
<el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center" /> |
|||
<el-table-column prop="goodsID" label="商品ID" width="120" align="center" /> |
|||
<el-table-column prop="goodsSpuName" label="商品名称" width="120" align="center" /> |
|||
<el-table-column prop="goodsSkuCode" label="商品编码" width="120" align="center" /> |
|||
<el-table-column prop="vinNo" label="车架号" width="120" align="center" /> |
|||
<el-table-column prop="manufacturerName" label="厂家" width="180" align="center" /> |
|||
<el-table-column prop="goodsSkuOwnSpec" label="规格" width="120" align="center" /> |
|||
<el-table-column prop="unit" label="单位" width="120" align="center" /> |
|||
<el-table-column prop="warehouseName" label="仓库" width="150" align="center" /> |
|||
<el-table-column prop="warehouseRackCode" label="库位" width="150" align="center" /> |
|||
<el-table-column prop="billNo" label="来源单号" width="150" align="center" /> |
|||
<el-table-column prop="billType" label="单据类型" width="150" align="center" /> |
|||
<el-table-column prop="createTime" label="发生时间" width="150" align="center" /> |
|||
<el-table-column prop="busTypeValue" label="业务类型" width="150" align="center" /> |
|||
<el-table-column prop="count" label="数量" width="150" align="center" /> |
|||
<el-table-column prop="currentCount" label="出入库后的库存" width="180" align="center" /> |
|||
|
|||
</el-table> |
|||
</div> |
|||
<!-- End 项目列表 --> |
|||
<div class="pages"> |
|||
<div class="tit" /> |
|||
<!-- 翻页 --> |
|||
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" |
|||
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- End 查询和其列表部分 --> |
|||
<!-- 新增修改部分组件 --> |
|||
<!-- <divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" /> --> |
|||
<!-- <divInfo v-show="viewState == 4" ref="divinfo" @doback="resetState" @reloadlist="loadList" /> --> |
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/storage/oldPartsInAndOutStorage.js' |
|||
import ButtonBar from '@/components/ButtonBar' |
|||
import Pagination from '@/components/pagination' |
|||
import pageye from '@/components/pagination/pageye' |
|||
// import divAdd from './oldPartsInStorageAdd.vue' |
|||
// import divInfo from './oldPartsInvertoryInfo.vue' |
|||
export default { |
|||
components: { |
|||
ButtonBar, |
|||
Pagination, |
|||
pageye, |
|||
// divAdd, |
|||
// divInfo |
|||
}, |
|||
data() { |
|||
return { |
|||
dialogVisible: false, |
|||
btndisabled: false, |
|||
viewState: 1, // 1、列表 2、添加 3、修改 4、查看 |
|||
isSearchShow: false, |
|||
searchxianshitit: '显示查询条件', |
|||
tableLoading: false, |
|||
dataList: [], |
|||
btnList: [{ |
|||
type: 'success', |
|||
size: 'small', |
|||
icon: 'export', |
|||
btnKey: 'toBuild', |
|||
btnLabel: '导出' |
|||
}, |
|||
{ |
|||
type: 'info', |
|||
size: 'small', |
|||
icon: 'cross', |
|||
btnKey: 'doClose', |
|||
btnLabel: '关闭' |
|||
} |
|||
], |
|||
queryParams: { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
name: '' |
|||
} |
|||
}, |
|||
sids: [], |
|||
selectionList: [], |
|||
manufacturerList: [], |
|||
warehouseList: [], |
|||
warehouseRackList: [], |
|||
busTypeList: [{ |
|||
name: "单据类型1", |
|||
sid: "1" |
|||
}, |
|||
{ |
|||
name: "单据类型2", |
|||
sid: "2" |
|||
} |
|||
], |
|||
billStateList: [{ |
|||
name: "业务类型1", |
|||
sid: "0" |
|||
}, |
|||
{ |
|||
name: "业务类型2", |
|||
sid: "1" |
|||
} |
|||
], |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.$refs['btnbar'].setButtonList(this.btnList) |
|||
}, |
|||
created() { |
|||
this.loadList() |
|||
this.getWarehouseList() |
|||
this.getManufacturerList() |
|||
}, |
|||
methods: { |
|||
|
|||
selectionLineChangeHandle(val) { |
|||
console.log("val", val); |
|||
|
|||
this.selectionList = val |
|||
const aa = [] |
|||
val.forEach(element => { |
|||
aa.push(element.sid) |
|||
}) |
|||
this.sids = aa |
|||
|
|||
}, |
|||
// 搜索条件效果 |
|||
clicksearchShow() { |
|||
this.isSearchShow = !this.isSearchShow |
|||
if (this.isSearchShow) { |
|||
this.searchxianshitit = '隐藏查询条件' |
|||
} else { |
|||
this.searchxianshitit = '显示查询条件' |
|||
} |
|||
}, |
|||
btnHandle(btnKey) { |
|||
switch (btnKey) { |
|||
case 'doDel': |
|||
// this.doDel() |
|||
this.toRelevancy() |
|||
break |
|||
case 'toBuild': |
|||
this.toBuild() |
|||
break |
|||
case 'doClose': |
|||
this.doClose() |
|||
break |
|||
default: |
|||
break |
|||
} |
|||
}, |
|||
loadList() { |
|||
this.tableLoading = true |
|||
req.listPage(this.queryParams).then((resp) => { |
|||
this.tableLoading = false |
|||
if (resp.success) { |
|||
const data = resp.data |
|||
this.queryParams.total = data.total |
|||
this.dataList = data.records |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
this.dataList = [] |
|||
this.queryParams.total = 0 |
|||
} |
|||
}).catch(() => { |
|||
this.tableLoading = false |
|||
}) |
|||
}, |
|||
|
|||
// 序号 |
|||
indexMethod(index) { |
|||
var pagestart = (this.queryParams.current - 1) * this.queryParams.size |
|||
var pageindex = index + 1 + pagestart |
|||
return pageindex |
|||
}, |
|||
dosearch() { |
|||
this.queryParams.current = 1 |
|||
this.loadList() |
|||
}, |
|||
resetQuery() { |
|||
this.queryParams = { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
name: '' |
|||
} |
|||
} |
|||
this.loadList() |
|||
}, |
|||
doDel() { |
|||
|
|||
if (this.sids.length > 0) { |
|||
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?' |
|||
this.$confirm(tip, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
const loading = this.$loading({ |
|||
lock: true, |
|||
text: 'Loading', |
|||
spinner: 'el-icon-loading', |
|||
background: 'rgba(0, 0, 0, 0.7)' |
|||
}) |
|||
req.deleteBySids(this.sids).then((resp) => { |
|||
loading.close() |
|||
if (resp.success) { |
|||
this.$message({ |
|||
type: 'success', |
|||
message: resp.msg, |
|||
showClose: true |
|||
}) |
|||
this.loadList() |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}).catch(e => { |
|||
loading.close() |
|||
}) |
|||
}).catch(() => {}) |
|||
} else { |
|||
this.$message({ |
|||
showClose: true, |
|||
message: '请至少选择一条记录进行删除操作' |
|||
}) |
|||
} |
|||
}, |
|||
|
|||
toBuild() { |
|||
if (this.sids.length > 0) { |
|||
const loading = this.$loading({ |
|||
lock: true, |
|||
text: 'Loading', |
|||
spinner: 'el-icon-loading', |
|||
background: 'rgba(0, 0, 0, 0.7)' |
|||
}) |
|||
|
|||
|
|||
req.exportExcel(this.queryParams.params).then((resp) => { |
|||
loading.close() |
|||
const blob = new Blob([resp], { |
|||
type: 'application/vnd.ms-excel' |
|||
}) |
|||
const fileName = '旧件出入库记录' + '.xls' |
|||
const elink = document.createElement('a') |
|||
elink.download = fileName |
|||
elink.style.display = 'nonde' |
|||
elink.href = URL.createObjectURL(blob) |
|||
document.body.appendChild(elink) |
|||
elink.click() |
|||
URL.revokeObjectURL(elink.href) |
|||
document.body.removeChild(elink) |
|||
}).catch(() => { |
|||
loading.close() |
|||
}) |
|||
} else { |
|||
this.$message({ |
|||
type: "warning", |
|||
showClose: true, |
|||
message: '请至少选择一条记录进行操作' |
|||
}) |
|||
} |
|||
}, |
|||
|
|||
toRelevancy() { |
|||
this.viewState = 4 |
|||
this.$refs['divinfo'].showAdd() |
|||
}, |
|||
doClose() { |
|||
this.$store.dispatch('tagsView/delView', this.$route) |
|||
this.$router.go(-1) |
|||
}, |
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
|
|||
manufacturerNameSelect(val) { |
|||
|
|||
console.log("supplierNameSelect", val); |
|||
const choose = this.manufacturerList.filter((item) => item.sid == val) |
|||
console.log('>>>>>>>>>supplierNameSelect', choose) |
|||
this.queryParams.params.manufacturerName = choose[0].manufacturerName |
|||
this.queryParams.params.manufacturerSid = choose[0].sid |
|||
|
|||
}, |
|||
getManufacturerList() { |
|||
var params = { |
|||
createOrgSid: "" |
|||
} |
|||
req.choiceManufacturer(params).then((res) => { |
|||
if (res.success) { |
|||
this.manufacturerList = res.data |
|||
|
|||
console.log("aaaaaa", this.manufacturerList); |
|||
|
|||
} |
|||
}) |
|||
}, |
|||
getWarehouseList() { |
|||
req.getWarehouses().then((res) => { |
|||
if (res.success) { |
|||
this.warehouseList = res.data |
|||
|
|||
console.log("aaaaaa", this.warehouseList); |
|||
|
|||
} |
|||
}) |
|||
}, |
|||
getWarehouseAreaList(sid) { |
|||
var query = { |
|||
ckSid: sid |
|||
} |
|||
req.getWarehouseareas(query).then((res) => { |
|||
if (res.success) { |
|||
this.warehouseRackList = res.data |
|||
|
|||
console.log("aaaaaa", this.warehouseRackList); |
|||
|
|||
} |
|||
}) |
|||
}, |
|||
warehouseNameSelect(val) { |
|||
console.log("selectWarehouseName", val); |
|||
const choose = this.warehouseList.filter((item) => item.sid == val) |
|||
console.log('>>>>>>>>>selectWarehouseName', choose) |
|||
this.queryParams.params.warehouseName = choose[0].warehouseName |
|||
this.queryParams.params.warehouseSid = choose[0].sid |
|||
|
|||
this.getWarehouseAreaList(choose[0].sid) |
|||
|
|||
}, |
|||
warehouseRackCodeSelect(val) { |
|||
console.log("selectWarehouseAreaCode", val); |
|||
|
|||
const choose = this.warehouseRackList.filter((item) => item.sid == val) |
|||
console.log('>>>>>>>>>selectWarehouseAreaCode', choose) |
|||
this.queryParams.params.warehouseRackCode = choose[0].areaCode |
|||
this.queryParams.params.warehouseRackSid = choose[0].sid |
|||
|
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
</style> |
@ -0,0 +1,329 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div v-show="viewState == 1"> |
|||
<button-bar ref="btnbar" view-title="旧件入库" :btndisabled="btndisabled" @btnhandle="btnHandle" /> |
|||
<div class="main-content"> |
|||
<div class="searchcon"> |
|||
<el-button size="small" class="searchbtn" @click="clicksearchShow"> |
|||
{{ searchxianshitit }} |
|||
</el-button> |
|||
<div v-show="isSearchShow" class="search"> |
|||
<el-form :inline="true" class="tab-header"> |
|||
<el-form-item label="商品名称"> |
|||
<el-input v-model="queryParams.params.goodsSpuName" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="商品编码"> |
|||
<el-input v-model="queryParams.params.goodsSkuCode" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="维修工单号"> |
|||
<el-input v-model="queryParams.params.billNo" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="车牌号"> |
|||
<el-input v-model="queryParams.params.vehMark" placeholder="" clearable /> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div class="btn" style="text-align: center;"> |
|||
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button> |
|||
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- Start 项目列表头部 --> |
|||
<div class="listtop"> |
|||
<div class="tit">待入库旧件列表</div> |
|||
</div> |
|||
<!-- End 项目列表头部 --> |
|||
<!-- Start 项目列表 --> |
|||
<div class=""> |
|||
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" |
|||
@selection-change="selectionLineChangeHandle"> |
|||
<el-table-column fixed width="50" type="selection" align="center" /> |
|||
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" /> |
|||
<!-- <el-table-column fixed label="操作" align="center" width="180"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="primary" size="mini" :disabled="scope.row.billState=='完成'" |
|||
@click="toEdit(scope.row)">办理</el-button> |
|||
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">查看</el-button> |
|||
</template> |
|||
</el-table-column> --> |
|||
<el-table-column prop="goodsID" label="商品ID" width="120" align="center" /> |
|||
<el-table-column prop="goodsSkuTitle" label="商品名称"width="120" align="center" /> |
|||
<el-table-column prop="goodsSkuCode" label="商品编码" width="120"align="center" /> |
|||
<el-table-column prop="manufacturerName" label="厂家" width="120"align="center" /> |
|||
<el-table-column prop="goodsSkuOwnSpec" label="规格" width="120"align="center" /> |
|||
<el-table-column prop="unit" label="单位" width="120"align="center" /> |
|||
<el-table-column prop="count" label="数量" width="120"align="center" /> |
|||
<el-table-column prop="inCount" label="已入库数量" width="120" align="center" /> |
|||
<el-table-column prop="billNo" label="维修工单号" width="180" align="center" /> |
|||
<el-table-column prop="customerName" label="客户名称" width="100" align="center" /> |
|||
<el-table-column prop="vehMark" label="车牌号" width="100" align="center" /> |
|||
<el-table-column prop="vinNo" label="车架号" width="100" align="center" /> |
|||
<el-table-column prop="shortss" label="旧件回收说明" width="280" align="center" /> |
|||
<el-table-column label="旧件照片" align="center" width="180"> |
|||
<template slot-scope="scope"> |
|||
<div style="color: #1890FF; text-decoration: underline ;" @click="showImage(scope.row.photosList)"> |
|||
查看 |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
|
|||
</el-table> |
|||
</div> |
|||
<!-- End 项目列表 --> |
|||
<div class="pages"> |
|||
<div class="tit" /> |
|||
<!-- 翻页 --> |
|||
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" |
|||
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- End 查询和其列表部分 --> |
|||
<!-- 新增修改部分组件 --> |
|||
<divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" /> |
|||
<!-- <divInfo v-show="viewState == 4" ref="divinfo" @doback="resetState" @reloadlist="loadList" /> --> |
|||
|
|||
|
|||
<el-dialog title="旧件说明" :visible.sync="dialogVisible" :before-close="handleClose"> |
|||
|
|||
<el-form ref="dataForm1" class="formadd" style="margin-top: -30px;"> |
|||
|
|||
<el-row class="first_row"> |
|||
<el-col :span="24" class="trightb"> |
|||
<el-image style="width: 120px;height: 120px; margin: 10px; background: #f0f;" |
|||
v-for="(item,index) in fileList" :src="item" :preview-src-list="[item]"> |
|||
</el-image> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
</el-form> |
|||
|
|||
</el-dialog> |
|||
|
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/storage/oldPartsInStorage.js' |
|||
import ButtonBar from '@/components/ButtonBar' |
|||
import Pagination from '@/components/pagination' |
|||
import pageye from '@/components/pagination/pageye' |
|||
import divAdd from './oldPartsInStorageAdd.vue' |
|||
// import divInfo from './oldPartsFactoryInfo.vue' |
|||
export default { |
|||
components: { |
|||
ButtonBar, |
|||
Pagination, |
|||
pageye, |
|||
divAdd, |
|||
// divInfo |
|||
}, |
|||
data() { |
|||
return { |
|||
dialogVisible: false, |
|||
fileList: [], |
|||
btndisabled: false, |
|||
viewState: 1, // 1、列表 2、添加 3、修改 4、查看 |
|||
isSearchShow: false, |
|||
searchxianshitit: '显示查询条件', |
|||
tableLoading: false, |
|||
dataList: [], |
|||
btnList: [{ |
|||
type: 'primary', |
|||
size: 'small', |
|||
icon: 'plus', |
|||
btnKey: 'toAdd', |
|||
btnLabel: '入库' |
|||
}, |
|||
|
|||
{ |
|||
type: 'info', |
|||
size: 'small', |
|||
icon: 'cross', |
|||
btnKey: 'doClose', |
|||
btnLabel: '关闭' |
|||
} |
|||
], |
|||
queryParams: { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
name: '' |
|||
} |
|||
}, |
|||
sids: [], |
|||
selectionList: [], |
|||
|
|||
pathList: [] |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.$refs['btnbar'].setButtonList(this.btnList) |
|||
}, |
|||
created() { |
|||
this.loadList() |
|||
}, |
|||
methods: { |
|||
handleClose() { |
|||
this.dialogVisible = false |
|||
}, |
|||
showImage(paths) { |
|||
this.fileList = paths |
|||
this.dialogVisible = true |
|||
}, |
|||
selectionLineChangeHandle(val) { |
|||
console.log("val", val); |
|||
|
|||
this.selectionList = val |
|||
const aa = [] |
|||
val.forEach(element => { |
|||
aa.push(element.sid) |
|||
}) |
|||
this.sids = aa |
|||
|
|||
}, |
|||
// 搜索条件效果 |
|||
clicksearchShow() { |
|||
this.isSearchShow = !this.isSearchShow |
|||
if (this.isSearchShow) { |
|||
this.searchxianshitit = '隐藏查询条件' |
|||
} else { |
|||
this.searchxianshitit = '显示查询条件' |
|||
} |
|||
}, |
|||
btnHandle(btnKey) { |
|||
switch (btnKey) { |
|||
case 'doDel': |
|||
this.doDel() |
|||
break |
|||
case 'toAdd': |
|||
this.toAdd() |
|||
break |
|||
case 'doClose': |
|||
this.doClose() |
|||
break |
|||
default: |
|||
break |
|||
} |
|||
}, |
|||
loadList() { |
|||
this.tableLoading = true |
|||
req.listPage(this.queryParams).then((resp) => { |
|||
this.tableLoading = false |
|||
if (resp.success) { |
|||
const data = resp.data |
|||
this.queryParams.total = data.total |
|||
this.dataList = data.records |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
this.dataList = [] |
|||
this.queryParams.total = 0 |
|||
} |
|||
}).catch(() => { |
|||
this.tableLoading = false |
|||
}) |
|||
}, |
|||
|
|||
// 序号 |
|||
indexMethod(index) { |
|||
var pagestart = (this.queryParams.current - 1) * this.queryParams.size |
|||
var pageindex = index + 1 + pagestart |
|||
return pageindex |
|||
}, |
|||
dosearch() { |
|||
this.queryParams.current = 1 |
|||
this.loadList() |
|||
}, |
|||
resetQuery() { |
|||
this.queryParams = { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
name: '' |
|||
} |
|||
} |
|||
this.loadList() |
|||
}, |
|||
doDel() { |
|||
|
|||
if (this.sids.length > 0) { |
|||
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?' |
|||
this.$confirm(tip, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
const loading = this.$loading({ |
|||
lock: true, |
|||
text: 'Loading', |
|||
spinner: 'el-icon-loading', |
|||
background: 'rgba(0, 0, 0, 0.7)' |
|||
}) |
|||
req.deleteBySids(this.sids).then((resp) => { |
|||
loading.close() |
|||
if (resp.success) { |
|||
this.$message({ |
|||
type: 'success', |
|||
message: resp.msg, |
|||
showClose: true |
|||
}) |
|||
this.loadList() |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}).catch(e => { |
|||
loading.close() |
|||
}) |
|||
}).catch(() => {}) |
|||
} else { |
|||
this.$message({ |
|||
showClose: true, |
|||
message: '请至少选择一条记录进行删除操作' |
|||
}) |
|||
} |
|||
}, |
|||
|
|||
toAdd() { |
|||
|
|||
if(this.selectionList.length!=1){ |
|||
this.$message({ |
|||
type: 'warning', |
|||
message: "请选择一条数据。", |
|||
showClose: true |
|||
}) |
|||
return |
|||
} |
|||
|
|||
this.viewState = 2 |
|||
this.$refs['divadd'].showEdit(this.selectionList[0]) |
|||
|
|||
}, |
|||
|
|||
toEdit(row) { |
|||
|
|||
this.viewState = 3 |
|||
this.$refs['divadd'].showEdit(row) |
|||
|
|||
}, |
|||
|
|||
doClose() { |
|||
this.$store.dispatch('tagsView/delView', this.$route) |
|||
this.$router.go(-1) |
|||
}, |
|||
toRelevancy(row) { |
|||
this.viewState = 4 |
|||
this.$refs['divinfo'].showEdit(row) |
|||
}, |
|||
|
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
</style> |
@ -0,0 +1,226 @@ |
|||
<template> |
|||
<div> |
|||
|
|||
<div class="tab-header webtop"> |
|||
<!-- 标题 --> |
|||
<div>旧件入库</div> |
|||
<!-- start 添加修改按钮 --> |
|||
<div> |
|||
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
<!-- end 添加修改按钮 --> |
|||
<!-- end 详情按钮 --> |
|||
</div> |
|||
|
|||
<div class="listconadd"> |
|||
|
|||
<el-form ref="form_obj" :model="formobj" class="formaddcopy02"> |
|||
<el-row class="first_row"> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">维修工单号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.sourceBillNo }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">商品名称</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.goodsSpuName }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">商品编码</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.goodsSkuCode }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">车架号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.vinNo }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">厂家</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.manufacturerName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">规格</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.goodsSkuOwnSpec }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">仓库</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.warehouseName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">库位</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.warehouseRackCode }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">单位</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.unit }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">未入库数量</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.notInCount }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<el-row> |
|||
|
|||
<el-col :span="24"> |
|||
<div class="span-sty">入库数量</div> |
|||
<el-form-item> <el-input class="addinputw addinputInfo" @input="commodityComputeYHAndXSJE(formobj,$event)" |
|||
v-model="formobj.count" clearable placeholder="" |
|||
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" /></el-form-item> |
|||
</el-col> |
|||
|
|||
|
|||
</el-row> |
|||
|
|||
|
|||
</el-form> |
|||
|
|||
</div> |
|||
|
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/storage/oldPartsInStorage.js' |
|||
|
|||
export default { |
|||
components: {}, |
|||
data() { |
|||
return { |
|||
listLoading: false, |
|||
submitdisabled: false, |
|||
formobj: {}, |
|||
} |
|||
}, |
|||
methods: { |
|||
indexMethod(index) { |
|||
return index + 1 |
|||
}, |
|||
|
|||
handleReturn(isreload) { |
|||
if (isreload === 'true') this.$emit('reloadlist') |
|||
this.formobj = { |
|||
|
|||
} |
|||
this.submitdisabled = false |
|||
this.$emit('doback') |
|||
}, |
|||
|
|||
showAdd() { |
|||
|
|||
}, |
|||
showEdit(row) { |
|||
|
|||
var params = { |
|||
sid: row.sid |
|||
} |
|||
req.init(params) |
|||
.then(resp => { |
|||
if (resp.success) { |
|||
this.formobj = resp.data |
|||
} |
|||
}) |
|||
.catch(e => { |
|||
this.formobj = {} |
|||
}) |
|||
}, |
|||
// 计算优惠、销售金额 |
|||
commodityComputeYHAndXSJE(row, val) { |
|||
|
|||
console.log("aaaaaaaaa", row); |
|||
console.log("aaaaaaaaa", val); |
|||
|
|||
if (Number(val) > Number(row.notInCount)) { |
|||
row.count = row.notInCount |
|||
} |
|||
|
|||
}, |
|||
saveOrUpdate() { |
|||
|
|||
if (Number(this.formobj.count) == 0) { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'warning', |
|||
message: '请输入入库数量' |
|||
}) |
|||
return |
|||
} |
|||
|
|||
if (Number(this.formobj.count) > Number(this.formobj.notInCount)) { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'warning', |
|||
message: '入库数量不能大于待入库数量' |
|||
}) |
|||
return |
|||
} |
|||
|
|||
|
|||
this.$refs['form_obj'].validate((valid) => { |
|||
if (valid) { |
|||
this.submitdisabled = true |
|||
req.save(this.formobj).then((res) => { |
|||
if (res.success) { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'success', |
|||
message: '保存成功' |
|||
}) |
|||
this.handleReturn('true') |
|||
} else { |
|||
this.submitdisabled = false |
|||
} |
|||
}).catch(() => { |
|||
this.submitdisabled = false |
|||
}) |
|||
} |
|||
}) |
|||
|
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.span-sty { |
|||
width: 130px !important; |
|||
} |
|||
|
|||
.addinputInfo { |
|||
margin-left: 120px !important; |
|||
} |
|||
|
|||
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { |
|||
margin-left: 120px !important; |
|||
width: calc(100% - 115px); |
|||
} |
|||
|
|||
.first_row { |
|||
border-top: 1px solid #E0E3EB; |
|||
} |
|||
|
|||
.titleOne { |
|||
padding: 7px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
</style> |
@ -0,0 +1,432 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div v-show="viewState == 1"> |
|||
<button-bar ref="btnbar" view-title="旧件库存查询" :btndisabled="btndisabled" @btnhandle="btnHandle" /> |
|||
<div class="main-content"> |
|||
<div class="searchcon"> |
|||
<el-button size="small" class="searchbtn" @click="clicksearchShow"> |
|||
{{ searchxianshitit }} |
|||
</el-button> |
|||
<div v-show="isSearchShow" class="search"> |
|||
<el-form :inline="true" class="tab-header"> |
|||
<el-form-item label="商品ID"> |
|||
<el-input v-model="queryParams.params.goodsID" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="商品名称"> |
|||
<el-input v-model="queryParams.params.goodsSpuName" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="商品编码"> |
|||
<el-input v-model="queryParams.params.goodsSkuCode" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="仓库"> |
|||
<el-select v-model="queryParams.params.warehouseName" filterable clearable placeholder="请选择" |
|||
style="width:100%" @change="warehouseNameSelect"> |
|||
<el-option v-for="item in warehouseList" :key="item.sid" :label="item.warehouseName" |
|||
:value="item.sid"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="库位"> |
|||
<el-select v-model="queryParams.params.warehouseRackCode" filterable clearable placeholder="请选择" |
|||
style="width:100%" @change="warehouseRackCodeSelect"> |
|||
<el-option v-for="item in warehouseRackList" :key="item.sid" :label="item.areaCode" :value="item.sid"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="厂家"> |
|||
<el-select v-model="queryParams.params.manufacturerName" filterable clearable placeholder="请选择" |
|||
style="width:100%" @change="manufacturerNameSelect"> |
|||
<el-option v-for="item in manufacturerList" :key="item.sid" :label="item.manufacturerName" |
|||
:value="item.sid"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="车架号"> |
|||
<el-input v-model="queryParams.params.vinNo" placeholder="" clearable /> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div class="btn" style="text-align: center;"> |
|||
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button> |
|||
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- Start 项目列表头部 --> |
|||
<div class="listtop"> |
|||
<div class="tit">旧件库存列表</div> |
|||
</div> |
|||
<!-- End 项目列表头部 --> |
|||
<!-- Start 项目列表 --> |
|||
<div class=""> |
|||
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" |
|||
@selection-change="selectionLineChangeHandle"> |
|||
<el-table-column fixed width="50" type="selection" align="center" /> |
|||
<el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center" /> |
|||
<el-table-column fixed label="操作" align="center" width="100"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">查看</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="goodsID" label="商品ID" width="120" align="center" /> |
|||
<el-table-column prop="goodsSpuName" label="商品名称" width="150" align="center" /> |
|||
<el-table-column prop="goodsSkuCode" label="商品编码" width="120" align="center" /> |
|||
<el-table-column prop="vinNo" label="车架号" width="150" align="center" /> |
|||
<el-table-column prop="vehMark" label="车牌号" width="150" align="center" /> |
|||
<el-table-column prop="manufacturerName" label="厂家" width="180" align="center" /> |
|||
<el-table-column prop="goodsSkuOwnSpec" label="规格" width="120" align="center" /> |
|||
<el-table-column prop="unit" label="单位" width="120" align="center" /> |
|||
<el-table-column prop="warehouseName" label="仓库" width="150" align="center" /> |
|||
<el-table-column prop="warehouseRackCode" label="库位" width="120" align="center" /> |
|||
<el-table-column prop="inventoryCount" label="库存数量" width="120" align="center" /> |
|||
|
|||
</el-table> |
|||
</div> |
|||
<!-- End 项目列表 --> |
|||
<div class="pages"> |
|||
<div class="tit" /> |
|||
<!-- 翻页 --> |
|||
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" |
|||
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- End 查询和其列表部分 --> |
|||
<!-- 新增修改部分组件 --> |
|||
<!-- <divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" /> --> |
|||
<divInfo v-show="viewState == 4" ref="divinfo" @doback="resetState" @reloadlist="loadList" /> |
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/storage/oldPartsInvertory.js' |
|||
import ButtonBar from '@/components/ButtonBar' |
|||
import Pagination from '@/components/pagination' |
|||
import pageye from '@/components/pagination/pageye' |
|||
// import divAdd from './oldPartsInStorageAdd.vue' |
|||
import divInfo from './oldPartsInvertoryInfo.vue' |
|||
export default { |
|||
components: { |
|||
ButtonBar, |
|||
Pagination, |
|||
pageye, |
|||
// divAdd, |
|||
divInfo |
|||
}, |
|||
data() { |
|||
return { |
|||
dialogVisible: false, |
|||
btndisabled: false, |
|||
viewState: 1, // 1、列表 2、添加 3、修改 4、查看 |
|||
isSearchShow: false, |
|||
searchxianshitit: '显示查询条件', |
|||
tableLoading: false, |
|||
dataList: [], |
|||
btnList: [{ |
|||
type: 'danger', |
|||
size: 'small', |
|||
icon: 'del', |
|||
btnKey: 'doDel', |
|||
btnLabel: '删除' |
|||
}, |
|||
|
|||
{ |
|||
type: 'success', |
|||
size: 'small', |
|||
icon: 'export', |
|||
btnKey: 'toBuild', |
|||
btnLabel: '导出' |
|||
}, |
|||
{ |
|||
type: 'info', |
|||
size: 'small', |
|||
icon: 'cross', |
|||
btnKey: 'doClose', |
|||
btnLabel: '关闭' |
|||
} |
|||
], |
|||
queryParams: { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
goodsID: '', |
|||
goodsSpuName: "", |
|||
goodsSkuCode: "", |
|||
warehouseName: "", |
|||
warehouseRackCode: "", |
|||
manufacturerName: "", |
|||
vinNo: "", |
|||
createBySid: "", |
|||
orgPath: "", |
|||
} |
|||
}, |
|||
sids: [], |
|||
selectionList: [], |
|||
manufacturerList: [], |
|||
warehouseList: [], |
|||
warehouseRackList: [], |
|||
|
|||
} |
|||
}, |
|||
mounted() { |
|||
this.$refs['btnbar'].setButtonList(this.btnList) |
|||
}, |
|||
created() { |
|||
this.loadList() |
|||
this.getWarehouseList() |
|||
this.getManufacturerList() |
|||
}, |
|||
methods: { |
|||
|
|||
selectionLineChangeHandle(val) { |
|||
console.log("val", val); |
|||
|
|||
this.selectionList = val |
|||
const aa = [] |
|||
val.forEach(element => { |
|||
aa.push(element.sid) |
|||
}) |
|||
this.sids = aa |
|||
|
|||
}, |
|||
// 搜索条件效果 |
|||
clicksearchShow() { |
|||
this.isSearchShow = !this.isSearchShow |
|||
if (this.isSearchShow) { |
|||
this.searchxianshitit = '隐藏查询条件' |
|||
} else { |
|||
this.searchxianshitit = '显示查询条件' |
|||
} |
|||
}, |
|||
btnHandle(btnKey) { |
|||
switch (btnKey) { |
|||
case 'doDel': |
|||
this.doDel() |
|||
break |
|||
case 'toBuild': |
|||
this.toBuild() |
|||
break |
|||
case 'doClose': |
|||
this.doClose() |
|||
break |
|||
default: |
|||
break |
|||
} |
|||
}, |
|||
loadList() { |
|||
this.tableLoading = true |
|||
req.listPage(this.queryParams).then((resp) => { |
|||
this.tableLoading = false |
|||
if (resp.success) { |
|||
const data = resp.data |
|||
this.queryParams.total = data.total |
|||
this.dataList = data.records |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
this.dataList = [] |
|||
this.queryParams.total = 0 |
|||
} |
|||
}).catch(() => { |
|||
this.tableLoading = false |
|||
}) |
|||
}, |
|||
|
|||
// 序号 |
|||
indexMethod(index) { |
|||
var pagestart = (this.queryParams.current - 1) * this.queryParams.size |
|||
var pageindex = index + 1 + pagestart |
|||
return pageindex |
|||
}, |
|||
dosearch() { |
|||
this.queryParams.current = 1 |
|||
this.loadList() |
|||
}, |
|||
resetQuery() { |
|||
this.queryParams = { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
goodsID: '', |
|||
goodsSpuName: "", |
|||
goodsSkuCode: "", |
|||
warehouseName: "", |
|||
warehouseRackCode: "", |
|||
manufacturerName: "", |
|||
vinNo: "", |
|||
createBySid: "", |
|||
orgPath: "", |
|||
} |
|||
} |
|||
this.loadList() |
|||
}, |
|||
doDel() { |
|||
|
|||
for (var i = 0; i < this.selectionList.length; i++) { |
|||
if (this.selectionList[i].inventoryCount != 0) { |
|||
this.$message({ |
|||
type: 'warning', |
|||
message: "只有库存数量为0的,才可以删除", |
|||
showClose: true |
|||
}) |
|||
return |
|||
} |
|||
} |
|||
|
|||
if (this.sids.length > 0) { |
|||
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?' |
|||
this.$confirm(tip, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
const loading = this.$loading({ |
|||
lock: true, |
|||
text: 'Loading', |
|||
spinner: 'el-icon-loading', |
|||
background: 'rgba(0, 0, 0, 0.7)' |
|||
}) |
|||
req.deleteBySids(this.sids).then((resp) => { |
|||
loading.close() |
|||
if (resp.success) { |
|||
this.$message({ |
|||
type: 'success', |
|||
message: resp.msg, |
|||
showClose: true |
|||
}) |
|||
this.loadList() |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}).catch(e => { |
|||
loading.close() |
|||
}) |
|||
}).catch(() => {}) |
|||
} else { |
|||
this.$message({ |
|||
showClose: true, |
|||
message: '请至少选择一条记录进行删除操作' |
|||
}) |
|||
} |
|||
}, |
|||
|
|||
toBuild() { |
|||
|
|||
if (this.sids.length > 0) { |
|||
const loading = this.$loading({ |
|||
lock: true, |
|||
text: 'Loading', |
|||
spinner: 'el-icon-loading', |
|||
background: 'rgba(0, 0, 0, 0.7)' |
|||
}) |
|||
|
|||
|
|||
req.exportExcel(this.queryParams.params).then((resp) => { |
|||
loading.close() |
|||
const blob = new Blob([resp], { |
|||
type: 'application/vnd.ms-excel' |
|||
}) |
|||
const fileName = '旧件库存' + '.xls' |
|||
const elink = document.createElement('a') |
|||
elink.download = fileName |
|||
elink.style.display = 'nonde' |
|||
elink.href = URL.createObjectURL(blob) |
|||
document.body.appendChild(elink) |
|||
elink.click() |
|||
URL.revokeObjectURL(elink.href) |
|||
document.body.removeChild(elink) |
|||
}).catch(() => { |
|||
loading.close() |
|||
}) |
|||
} else { |
|||
this.$message({ |
|||
type:"warning", |
|||
showClose: true, |
|||
message: '请至少选择一条记录进行操作' |
|||
}) |
|||
} |
|||
}, |
|||
|
|||
toRelevancy(row) { |
|||
this.viewState = 4 |
|||
this.$refs['divinfo'].showAdd(row) |
|||
}, |
|||
doClose() { |
|||
this.$store.dispatch('tagsView/delView', this.$route) |
|||
this.$router.go(-1) |
|||
}, |
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
|
|||
manufacturerNameSelect(val) { |
|||
|
|||
console.log("supplierNameSelect", val); |
|||
const choose = this.manufacturerList.filter((item) => item.sid == val) |
|||
console.log('>>>>>>>>>supplierNameSelect', choose) |
|||
this.queryParams.params.manufacturerName = choose[0].manufacturerName |
|||
this.queryParams.params.manufacturerSid = choose[0].sid |
|||
|
|||
}, |
|||
getManufacturerList() { |
|||
var params = { |
|||
createOrgSid: "" |
|||
} |
|||
req.choiceManufacturer(params).then((res) => { |
|||
if (res.success) { |
|||
this.manufacturerList = res.data |
|||
|
|||
console.log("aaaaaa", this.manufacturerList); |
|||
|
|||
} |
|||
}) |
|||
}, |
|||
getWarehouseList() { |
|||
req.getWarehouses().then((res) => { |
|||
if (res.success) { |
|||
this.warehouseList = res.data |
|||
|
|||
console.log("aaaaaa", this.warehouseList); |
|||
|
|||
} |
|||
}) |
|||
}, |
|||
getWarehouseAreaList(sid) { |
|||
var query = { |
|||
ckSid: sid |
|||
} |
|||
req.getWarehouseareas(query).then((res) => { |
|||
if (res.success) { |
|||
this.warehouseRackList = res.data |
|||
|
|||
console.log("aaaaaa", this.warehouseRackList); |
|||
|
|||
} |
|||
}) |
|||
}, |
|||
warehouseNameSelect(val) { |
|||
console.log("selectWarehouseName", val); |
|||
const choose = this.warehouseList.filter((item) => item.sid == val) |
|||
console.log('>>>>>>>>>selectWarehouseName', choose) |
|||
this.queryParams.params.warehouseName = choose[0].warehouseName |
|||
this.queryParams.params.warehouseSid = choose[0].sid |
|||
|
|||
this.getWarehouseAreaList(choose[0].sid) |
|||
|
|||
}, |
|||
warehouseRackCodeSelect(val) { |
|||
console.log("selectWarehouseAreaCode", val); |
|||
|
|||
const choose = this.warehouseRackList.filter((item) => item.sid == val) |
|||
console.log('>>>>>>>>>selectWarehouseAreaCode', choose) |
|||
this.queryParams.params.warehouseRackCode = choose[0].areaCode |
|||
this.queryParams.params.warehouseRackSid = choose[0].sid |
|||
|
|||
}, |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
</style> |
@ -0,0 +1,153 @@ |
|||
<template> |
|||
<div> |
|||
|
|||
<div class="tab-header webtop"> |
|||
<!-- 标题 --> |
|||
<div>库存出入库记录</div> |
|||
<!-- start 添加修改按钮 --> |
|||
<div> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
<!-- end 添加修改按钮 --> |
|||
<!-- end 详情按钮 --> |
|||
</div> |
|||
|
|||
<div class="listconadd"> |
|||
|
|||
<el-form ref="form_obj" :model="formobj" class="formaddcopy02"> |
|||
<div class="title"> |
|||
<div>基础信息</div> |
|||
</div> |
|||
<el-row class="first_row"> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">商品名称</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.goodsSpuName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">商品编码</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.goodsSkuCode }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">车架号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.vinNo }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">厂家</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.manufacturerName }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">仓库</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.warehouseName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">库位</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.warehouseRackCode }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<div class="title" |
|||
style="display: flex;align-items: center;justify-content: space-between;height:40px;margin-top: 10px;"> |
|||
<div>出入库记录列表</div> |
|||
</div> |
|||
<el-table v-loading="listLoading" :data="formobj.list" border > |
|||
<el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center" /> |
|||
<el-table-column label="来源单号" prop="billNo" align="center" /> |
|||
<el-table-column label="单据类型" prop="billType" align="center" /> |
|||
<el-table-column label="发生时间" prop="createTime" align="center" /> |
|||
<el-table-column label="业务类型" prop="busTypeValue" align="center" /> |
|||
<el-table-column label="数量" prop="count" align="center" /> |
|||
<el-table-column label="出入库后的库存" prop="currentCount" align="center" /> |
|||
</el-table> |
|||
|
|||
</el-form> |
|||
|
|||
</div> |
|||
|
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/storage/oldPartsInvertory.js' |
|||
|
|||
export default { |
|||
components: {}, |
|||
data() { |
|||
return { |
|||
listLoading: false, |
|||
submitdisabled: false, |
|||
formobj: {}, |
|||
} |
|||
}, |
|||
methods: { |
|||
indexMethod(index) { |
|||
return index + 1 |
|||
}, |
|||
|
|||
handleReturn(isreload) { |
|||
if (isreload === 'true') this.$emit('reloadlist') |
|||
this.formobj = { |
|||
|
|||
} |
|||
this.submitdisabled = false |
|||
this.$emit('doback') |
|||
}, |
|||
|
|||
showAdd(row) { |
|||
|
|||
var params = { |
|||
sid: row.sid |
|||
} |
|||
req.init(params) |
|||
.then(resp => { |
|||
if (resp.success) { |
|||
this.formobj = resp.data |
|||
} |
|||
}) |
|||
.catch(e => { |
|||
this.formobj = {} |
|||
}) |
|||
}, |
|||
showEdit() { |
|||
|
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.span-sty { |
|||
width: 130px !important; |
|||
} |
|||
|
|||
.addinputInfo { |
|||
margin-left: 120px !important; |
|||
} |
|||
|
|||
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { |
|||
margin-left: 120px !important; |
|||
width: calc(100% - 115px); |
|||
} |
|||
|
|||
.first_row{ |
|||
border-top: 1px solid #E0E3EB; |
|||
} |
|||
|
|||
.titleOne { |
|||
padding: 7px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
</style> |
@ -0,0 +1,422 @@ |
|||
<template> |
|||
<div class="app-container"> |
|||
<div v-show="viewState == 1"> |
|||
<button-bar ref="btnbar" view-title="旧件回收登记管理" :btndisabled="btndisabled" @btnhandle="btnHandle" /> |
|||
<div class="main-content"> |
|||
<div class="searchcon"> |
|||
<el-button size="small" class="searchbtn" @click="clicksearchShow"> |
|||
{{ searchxianshitit }} |
|||
</el-button> |
|||
<div v-show="isSearchShow" class="search"> |
|||
<el-form :inline="true" class="tab-header"> |
|||
<el-form-item label="维修工单编号"> |
|||
<el-input v-model="queryParams.params.billNo" placeholder="" clearable /> |
|||
</el-form-item> |
|||
<el-form-item label="工单创建日期"> |
|||
<el-date-picker v-model="queryParams.params.createTimeStart" type="date" placeholder="选择日期" |
|||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"> |
|||
</el-date-picker>至 |
|||
<el-date-picker v-model="queryParams.params.createTimeEnd" type="date" placeholder="选择日期" |
|||
format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width: 200px;"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="车牌号"> |
|||
<el-input v-model="queryParams.params.vehMark" placeholder="" clearable /> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div class="btn" style="text-align: center;"> |
|||
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button> |
|||
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- Start 项目列表头部 --> |
|||
<div class="listtop"> |
|||
<div class="tit">维修工单列表</div> |
|||
</div> |
|||
<!-- End 项目列表头部 --> |
|||
<!-- Start 项目列表 --> |
|||
<div class=""> |
|||
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" |
|||
@selection-change="selectionLineChangeHandle"> |
|||
<el-table-column fixed width="50" type="selection" align="center" /> |
|||
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" /> |
|||
<!-- <el-table-column fixed label="操作" align="center" width="180"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="primary" size="mini" :disabled="scope.row.billState=='完成'" |
|||
@click="toEdit(scope.row)">办理</el-button> |
|||
<el-button type="primary" size="mini" @click="toRelevancy(scope.row)">查看</el-button> |
|||
</template> |
|||
</el-table-column> --> |
|||
<el-table-column label="维修工单编号" align="center"> |
|||
<template slot-scope="scope"> |
|||
<div style="color: #1890FF; text-decoration: underline ;" @click="showOrder(scope.row)"> |
|||
{{ scope.row.billNo }} |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="billTime" label="工单创建日期" align="center" /> |
|||
<el-table-column prop="customerName" label="客户名称" align="center" /> |
|||
<el-table-column prop="vehMark" label="车牌号" align="center" /> |
|||
<el-table-column prop="vinNo" label="车架号" align="center" /> |
|||
<el-table-column prop="shortss" label="旧件回收说明" align="center" /> |
|||
<el-table-column label="旧件照片" align="center"> |
|||
<template slot-scope="scope"> |
|||
<div style="color: #1890FF; text-decoration: underline ;" @click="showImage(scope.row.photos)"> |
|||
查看 |
|||
</div> |
|||
</template> |
|||
</el-table-column> |
|||
<!-- <el-table-column label="旧件照片" align="center"> |
|||
<template slot-scope="scope"> |
|||
<span v-for="(item,index) in scope.row.photos" :key="index"> |
|||
<el-popover placement="left" trigger="click" width="300"> |
|||
<img :src="item" width="100%" /> |
|||
<img slot="reference" :src="item" :alt="item" style="height: 50px;width: 50px; padding: 5px" /> |
|||
</el-popover> |
|||
</span> |
|||
</template> |
|||
</el-table-column> --> |
|||
|
|||
</el-table> |
|||
</div> |
|||
<!-- End 项目列表 --> |
|||
<div class="pages"> |
|||
<div class="tit" /> |
|||
<!-- 翻页 --> |
|||
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" |
|||
:limit.sync="queryParams.size" class="pagination" @pagination="loadList" /> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- End 查询和其列表部分 --> |
|||
<!-- 新增修改部分组件 --> |
|||
<divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" /> |
|||
<divInfo v-show="viewState == 4" ref="divinfo" @doback="resetState" @reloadlist="loadList" /> |
|||
|
|||
<el-dialog title="旧件照片" :visible.sync="dialogVisible" :before-close="handleClose"> |
|||
|
|||
<el-form ref="dataForm1" class="formadd" style="margin-top: -30px;"> |
|||
|
|||
<el-row class="first_row"> |
|||
<el-col :span="24" class="trightb"> |
|||
<el-image style="width: 120px;height: 120px; margin: 10px; background: #f0f;" |
|||
v-for="(item,index) in fileList" :src="item.url" :preview-src-list="[item]"> |
|||
</el-image> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
</el-form> |
|||
</el-dialog> |
|||
|
|||
<el-dialog title="旧件回收登记" :visible.sync="dialogVisible2" :before-close="handleClose2"> |
|||
<el-form ref="dataForm1" class="formaddcopy02" style="margin-top: -30px;" :model="orderInfo"> |
|||
|
|||
<el-row class="first_row"> |
|||
|
|||
<el-col :span="24"> |
|||
<div class="span-sty">维修工单编号</div> |
|||
<el-form-item><span class="addinputInfo">{{ orderInfo.billNo }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="24"> |
|||
<div class="span-sty">旧件回收说明</div> |
|||
<el-form-item> |
|||
<el-input v-model="orderInfo.shortss" placeholder="" class="addinputw addinputInfo" |
|||
style="padding-top: 5px;padding-bottom: 5px;" type="textarea" :rows="4" clearable /> |
|||
|
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<el-row> |
|||
|
|||
<el-col :span="24"> |
|||
<div class="span-sty">旧件照片</div> |
|||
<el-form-item> |
|||
<upload-img ref="uploadImg" class="addinputInfo" :accept="accept" v-model="orderInfo.photos" :limit="50" bucket="map" |
|||
:upload-data="{ type: '0001' }" /> |
|||
|
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
</el-form> |
|||
|
|||
<div style="display: flex;flex-direction: row;width: 100%;justify-content: center;align-items: center;"> |
|||
<el-button type="primary" style="margin-top: 20px;" @click="saveExamine">确 定</el-button> |
|||
</div> |
|||
|
|||
</el-dialog> |
|||
|
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/storage/oldPartsRecovery.js' |
|||
import ButtonBar from '@/components/ButtonBar' |
|||
import Pagination from '@/components/pagination' |
|||
import pageye from '@/components/pagination/pageye' |
|||
import divAdd from './oldPartsRecoveryAdd.vue' |
|||
import divInfo from './oldPartsRecoveryInfo.vue' |
|||
import uploadImg from '@/components/uploadFile/uploadImg' |
|||
export default { |
|||
components: { |
|||
ButtonBar, |
|||
Pagination, |
|||
pageye, |
|||
divAdd, |
|||
divInfo, |
|||
uploadImg, |
|||
}, |
|||
data() { |
|||
return { |
|||
dialogVisible: false, |
|||
dialogVisible2: false, |
|||
orderInfo: {}, |
|||
fileList: [], |
|||
btndisabled: false, |
|||
viewState: 1, // 1、列表 2、添加 3、修改 4、查看 |
|||
isSearchShow: false, |
|||
searchxianshitit: '显示查询条件', |
|||
tableLoading: false, |
|||
dataList: [], |
|||
btnList: [{ |
|||
type: 'primary', |
|||
size: 'small', |
|||
icon: 'plus', |
|||
btnKey: 'toAdd', |
|||
btnLabel: '回收登记' |
|||
}, |
|||
{ |
|||
type: 'info', |
|||
size: 'small', |
|||
icon: 'cross', |
|||
btnKey: 'doClose', |
|||
btnLabel: '关闭' |
|||
} |
|||
], |
|||
queryParams: { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
name: '' |
|||
} |
|||
}, |
|||
sids: [], |
|||
selectionList: [], |
|||
imgList: [], |
|||
accept: '.jpg,.jpeg,.png,.pdf,.JPG,.JPEG' |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.$refs['btnbar'].setButtonList(this.btnList) |
|||
}, |
|||
created() { |
|||
this.loadList() |
|||
}, |
|||
methods: { |
|||
backData(value) { |
|||
console.log('backData》》》》', value) |
|||
console.log('imgList', this.imgList) |
|||
|
|||
this.orderInfo.photos = this.imgList |
|||
|
|||
}, |
|||
selectionLineChangeHandle(val) { |
|||
console.log("val", val); |
|||
|
|||
this.selectionList = val |
|||
const aa = [] |
|||
val.forEach(element => { |
|||
aa.push(element.sid) |
|||
}) |
|||
this.sids = aa |
|||
|
|||
}, |
|||
// 搜索条件效果 |
|||
clicksearchShow() { |
|||
this.isSearchShow = !this.isSearchShow |
|||
if (this.isSearchShow) { |
|||
this.searchxianshitit = '隐藏查询条件' |
|||
} else { |
|||
this.searchxianshitit = '显示查询条件' |
|||
} |
|||
}, |
|||
btnHandle(btnKey) { |
|||
switch (btnKey) { |
|||
case 'doDel': |
|||
this.doDel() |
|||
break |
|||
case 'toAdd': |
|||
this.toAdd() |
|||
break |
|||
case 'doClose': |
|||
this.doClose() |
|||
break |
|||
default: |
|||
break |
|||
} |
|||
}, |
|||
loadList() { |
|||
this.tableLoading = true |
|||
req.listPage(this.queryParams).then((resp) => { |
|||
this.tableLoading = false |
|||
if (resp.success) { |
|||
const data = resp.data |
|||
this.queryParams.total = data.total |
|||
this.dataList = data.records |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
this.dataList = [] |
|||
this.queryParams.total = 0 |
|||
} |
|||
}).catch(() => { |
|||
this.tableLoading = false |
|||
}) |
|||
}, |
|||
|
|||
// 序号 |
|||
indexMethod(index) { |
|||
var pagestart = (this.queryParams.current - 1) * this.queryParams.size |
|||
var pageindex = index + 1 + pagestart |
|||
return pageindex |
|||
}, |
|||
dosearch() { |
|||
this.queryParams.current = 1 |
|||
this.loadList() |
|||
}, |
|||
resetQuery() { |
|||
this.queryParams = { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
name: '' |
|||
} |
|||
} |
|||
this.loadList() |
|||
}, |
|||
|
|||
toAdd() { |
|||
|
|||
if (this.selectionList.length != 1) { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'warning', |
|||
message: '请选择一条记录操作.' |
|||
}) |
|||
return |
|||
} |
|||
|
|||
req.getOneByBillNo(this.selectionList[0].billNo).then((resp) => { |
|||
|
|||
this.orderInfo = resp.data |
|||
|
|||
|
|||
for (var i = 0; i < resp.data.photos.length; i++) { |
|||
this.imgList.push({ |
|||
url: resp.data.photos[i].url |
|||
}) |
|||
} |
|||
|
|||
this.dialogVisible2 = true |
|||
|
|||
}).catch(() => {}) |
|||
|
|||
|
|||
}, |
|||
|
|||
showImage(paths) { |
|||
this.fileList = paths |
|||
this.dialogVisible = true |
|||
}, |
|||
handleClose() { |
|||
this.dialogVisible = false |
|||
}, |
|||
|
|||
saveExamine() { |
|||
|
|||
console.log('saveExamine》》》》', this.orderInfo) |
|||
|
|||
if (this.orderInfo.shortss == '') { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'warning', |
|||
message: '旧件回收说明不能为空' |
|||
}) |
|||
return |
|||
} |
|||
|
|||
if (this.orderInfo.photos.length == 0) { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'warning', |
|||
message: '旧件照片不能为空' |
|||
}) |
|||
return |
|||
} |
|||
|
|||
|
|||
req.save(this.orderInfo).then((resp) => { |
|||
|
|||
this.loadList() |
|||
this.dialogVisible2 = false |
|||
}).catch(() => {}) |
|||
|
|||
}, |
|||
handleClose2() { |
|||
this.imgList = [] |
|||
this.dialogVisible2 = false |
|||
}, |
|||
|
|||
showOrder(row) { |
|||
this.viewState = 4 |
|||
this.$refs['divinfo'].showEdit(row) |
|||
}, |
|||
|
|||
|
|||
doClose() { |
|||
this.$store.dispatch('tagsView/delView', this.$route) |
|||
this.$router.go(-1) |
|||
}, |
|||
|
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
|
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
|
|||
.span-sty { |
|||
width: 130px !important; |
|||
} |
|||
|
|||
.addinputInfo { |
|||
margin-left: 120px !important; |
|||
} |
|||
|
|||
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { |
|||
margin-left: 120px !important; |
|||
width: calc(100% - 115px); |
|||
} |
|||
|
|||
.first_row{ |
|||
border-top: 1px solid #E0E3EB; |
|||
} |
|||
|
|||
.titleOne { |
|||
padding: 7px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
</style> |
@ -0,0 +1,555 @@ |
|||
<template> |
|||
<div> |
|||
<div class="tab-header webtop"> |
|||
<!-- 标题 --> |
|||
<div>旧件回收登记</div> |
|||
<!-- start 添加修改按钮 --> |
|||
<div> |
|||
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
<!-- end 添加修改按钮 --> |
|||
<!-- end 详情按钮 --> |
|||
</div> |
|||
<div class="listconadd"> |
|||
<el-form ref="form_obj" :model="formobj" label-position="top" label-width="190px" class="formadd"> |
|||
<div class="title" style="display: flex;align-items: center;justify-content: space-between;height:40px"> |
|||
<div>基础信息</div> |
|||
</div> |
|||
<el-row class="first_row"> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">维修工单编号</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{formobj.billNo}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">申请人</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{formobj.createByName}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">分公司</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{formobj.useOrgName}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">申请部门</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{formobj.createDeptName}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">申请日期</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<el-date-picker v-model="formobj.createTime" type="date" style="width:100%" value-format="yyyy-MM-dd" |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">流程状态</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">{{formobj.nodeState}}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">备注</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item class="trightb_item"> |
|||
<el-input v-model="formobj.remarks" placeholder="" class="addinputw" |
|||
style="width: 100%; padding-bottom: 5px;" type="textarea" :rows="4" clearable /> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<el-row> |
|||
<el-col :span="4" class="trightb"> |
|||
<el-form-item class="trightb_item"> |
|||
<span slot="label">附件</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="20"> |
|||
<el-form-item class="trightb_item"> |
|||
<upload style="margin-top: 20px;margin-bottom: 20px;" class="addinputw" ref="uploadImg2" v-model="imgList" |
|||
:limit="9" @change="backData" bucket="map" :upload-data="{ type: '0001' }"></upload> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
<div class="title" |
|||
style="display: flex;align-items: center;justify-content: space-between;height:40px;margin-top: 10px;"> |
|||
<div>返厂旧件列表</div> |
|||
</div> |
|||
<el-table v-loading="listLoading" :data="formobj.asOldpartreturnList" border style="width: 100%;" |
|||
:row-style="{height: '40px'}"> |
|||
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" /> |
|||
<el-table-column align="center" width="100" :render-header="commodityHeader"> |
|||
<template slot-scope="scope"> |
|||
<i class="el-icon-delete" @click="commodityDelete(scope.$index)"></i> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="商品名称" align="center" min-width="200"> |
|||
<template slot-scope="scope"> |
|||
<el-popover placement="right" width="900" trigger="click"> |
|||
<div> |
|||
<el-table :data="commodityData" v-loading="commodityLoading" highlight-current-row |
|||
@current-change="commodityCurrentChange($event, scope.row)"> |
|||
<el-table-column fixed prop="goodsSpuName" label="商品名称" align="center" /> |
|||
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" /> |
|||
<el-table-column prop="goodsSkuOwnSpec" label="厂家" align="center" /> |
|||
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" /> |
|||
<el-table-column prop="unit" label="单位" align="center" /> |
|||
</el-table> |
|||
<el-pagination :page.sync="commodityQuery.current" :page-size="commodityQuery.size" |
|||
layout="total, pager" :total="commodityQuery.total" /> |
|||
</div> |
|||
<el-input slot="reference" v-model="scope.row.goodsSkuName" |
|||
@input="commodityInput(scope.row.goodsSkuName)" clearable placeholder="商品名称" /> |
|||
</el-popover> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="goodsSkuCode" label="商品编码" align="center" /> |
|||
<el-table-column prop="manufacturerName" label="厂家" align="center" /> |
|||
<el-table-column prop="goodsSkuOwnSpec" label="规格" align="center" /> |
|||
<el-table-column prop="unit" label="单位" align="center" /> |
|||
<el-table-column label="需返厂数量" align="center" width="180"> |
|||
<template slot-scope="scope"> |
|||
<el-input ref="focusAssumptionInput" v-model="scope.row.needReturnCount" clearable placeholder="" |
|||
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" /> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="实际返厂数量" align="center" width="180"> |
|||
<template slot-scope="scope"> |
|||
<el-input ref="focusAssumptionInput" v-model="scope.row.actualReturnCount" clearable placeholder="" |
|||
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" /> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="差异说明" align="center" width="200"> |
|||
<template slot-scope="scope"> |
|||
<el-input ref="focusAssumptionInput" v-model="scope.row.remarks" clearable placeholder="" /> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
</el-form> |
|||
|
|||
</div> |
|||
|
|||
<!-- 导入 --> |
|||
<el-dialog :visible.sync="dialogVisible" width="60%" :show-close="false"> |
|||
<div style="margin-top: -40px;"> |
|||
<el-button size="medium" type="text" style="font-weight: bold" @click="downLoad">下载导入厂家返厂明细模板</el-button> |
|||
</div> |
|||
<el-card class="box-card"> |
|||
<div> |
|||
<el-upload ref="upload" class="upload-demo" accept=".xls,.xlsx" name="file" :action="updateAction" |
|||
:on-success="handleSuccess" :file-list="fileList" :auto-upload="false" :multiple="false" :limit="1" |
|||
:data="uploadData" :headers="headers"> |
|||
<el-button slot="trigger" size="small" type="primary">选取文件</el-button> |
|||
<el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传</el-button> |
|||
</el-upload> |
|||
</div> |
|||
<div> |
|||
<h3>文件上传结果</h3> |
|||
<el-card class="box-card"> |
|||
<div>{{ uploadResultMesssage }}</div> |
|||
</el-card> |
|||
</div> |
|||
</el-card> |
|||
<div slot="footer" class="dialog-footer" style="text-align: center"> |
|||
<el-button type="primary" size="small" @click="handleConfirm">确定</el-button> |
|||
<el-button size="small" @click="dialogVisible = false">取消</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
|
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/storage/oldPartsFactory.js' |
|||
import upload from '@/components/uploadFile/upload' |
|||
export default { |
|||
components: { |
|||
upload |
|||
}, |
|||
data() { |
|||
return { |
|||
dialogVisible: false, |
|||
updateAction: process.env.VUE_APP_BASE_API + '/as/v1/asoldpartreturnapply/getExcelInfo', |
|||
fileList: [], |
|||
uploadSuccess: false, |
|||
uploadResultMesssage: '', |
|||
uploadData: { |
|||
sid: '' |
|||
}, |
|||
headers: { |
|||
token: window.sessionStorage.getItem('token') |
|||
}, |
|||
title: '【新增】', |
|||
listLoading: false, |
|||
submitdisabled: false, |
|||
formobj: { |
|||
"sid": "", |
|||
"remarks": "", |
|||
"createBySid": "", |
|||
"createByName": "", |
|||
"createDeptSid": "", |
|||
"createDeptName": "", |
|||
"createTime": "", |
|||
"billNo": "", |
|||
"filePaths": [], |
|||
"useOrgSid": "", |
|||
"useOrgName": "", |
|||
"orgSidPath": "", |
|||
"procDefId": "", |
|||
"nodeId": "", |
|||
"procInstId": "", |
|||
"nodeState": "", |
|||
"taskId": "", |
|||
"finishTime": "", |
|||
"asOldpartreturnList": [ |
|||
|
|||
] |
|||
}, |
|||
hideUploadBtn: false, |
|||
|
|||
// commodity商品 |
|||
commodityKey: 1, |
|||
commodityLoading: false, |
|||
commodityQuery: { |
|||
current: 1, |
|||
size: 2, |
|||
total: 0, |
|||
params: { |
|||
name: '', |
|||
inOrg: "", |
|||
outOrg: "" |
|||
} |
|||
}, |
|||
commodityData: [], |
|||
isUpdata: false, |
|||
imgList: [] |
|||
} |
|||
}, |
|||
created() {}, |
|||
methods: { |
|||
|
|||
commodityInput(value) { |
|||
this.commodityQuery.params.name = value |
|||
this.commodityLoading = true |
|||
req.getGoodsListPage(this.commodityQuery).then((response) => { |
|||
if (response.success) { |
|||
this.commodityLoading = false |
|||
this.commodityData = response.data.records |
|||
this.commodityQuery.total = response.data.total |
|||
} else { |
|||
this.serviceLoading = false |
|||
this.commodityData = [] |
|||
this.commodityQuery.total = 0 |
|||
} |
|||
}) |
|||
}, |
|||
commodityDelete(index) { |
|||
this.formobj.asOldpartreturnList.splice(index, 1) |
|||
}, |
|||
commodityCurrentChange(value, row) { |
|||
console.log("commodityCurrentChange》》》》", value) |
|||
console.log("commodityCurrentChange》》》》", row) |
|||
row.sid = '' |
|||
row.remarks = '' |
|||
row.mainSid = '' |
|||
row.manufacturerName = value.goodsSkuOwnSpec |
|||
row.goodsSkuName = value.goodsSpuName |
|||
row.goodsSkuCode = value.goodsSkuCode |
|||
row.goodsSkuOwnSpec = value.goodsSkuOwnSpec |
|||
row.unit = value.unit |
|||
row.needReturnCount = 0 |
|||
row.actualReturnCount = 0 |
|||
document.body.click() |
|||
}, |
|||
|
|||
// 在头部标题上添加“新增”图标 |
|||
commodityHeader(h, { |
|||
column |
|||
}) { |
|||
return h( |
|||
'div', |
|||
[ |
|||
h('span', column.label), |
|||
h('i', { |
|||
class: 'add-btn-icon el-icon-plus', |
|||
style: 'color: red;font-size:20px', |
|||
on: { |
|||
click: this.commodityAdd // 点击执行函数 |
|||
} |
|||
}) |
|||
] |
|||
) |
|||
}, |
|||
commodityAdd() { |
|||
this.formobj.asOldpartreturnList.push({ |
|||
"sid": "", |
|||
"remarks": "", |
|||
"mainSid": "", |
|||
"manufacturerName": "", |
|||
"goodsSkuName": "", |
|||
"goodsSkuCode": "", |
|||
"goodsSkuOwnSpec": "", |
|||
"unit": "", |
|||
"needReturnCount": 0, |
|||
"actualReturnCount": 0 |
|||
}) |
|||
}, |
|||
|
|||
|
|||
doGoodsDel(sid) { |
|||
console.log("doGoodsDel》》》》", sid) |
|||
this.$confirm("是否确定删除此商品?", '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
const index = this.formobj.asOldpartreturnList.findIndex((item) => item === row) |
|||
console.log("index》》》》", index) |
|||
this.formobj.asOldpartreturnList.splice(index, 1) |
|||
|
|||
}) |
|||
}, |
|||
|
|||
indexMethod(index) { |
|||
return Number(index) + 1 |
|||
}, |
|||
importDetail() { |
|||
this.dialogVisible = true |
|||
}, |
|||
saveOrUpdate() { |
|||
console.log('>>>>>>>>>saveOrUpdate', this.formobj) |
|||
|
|||
this.$refs['form_obj'].validate((valid) => { |
|||
if (valid) { |
|||
this.submitdisabled = true |
|||
req.save(this.formobj).then((res) => { |
|||
if (res.success) { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'success', |
|||
message: '保存成功' |
|||
}) |
|||
this.handleReturn('true') |
|||
} else { |
|||
this.submitdisabled = false |
|||
} |
|||
}).catch(() => { |
|||
this.submitdisabled = false |
|||
}) |
|||
} |
|||
}) |
|||
}, |
|||
submit() { |
|||
|
|||
this.$refs['form_obj'].validate((valid) => { |
|||
if (valid) { |
|||
this.submitdisabled = true |
|||
req.submit(this.formobj).then((res) => { |
|||
if (res.success) { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'success', |
|||
message: '保存成功' |
|||
}) |
|||
this.handleReturn('true') |
|||
} else { |
|||
this.submitdisabled = false |
|||
} |
|||
}).catch(() => { |
|||
this.submitdisabled = false |
|||
}) |
|||
} |
|||
}) |
|||
|
|||
}, |
|||
handleReturn(isreload) { |
|||
if (isreload === 'true') this.$emit('reloadlist') |
|||
this.formobj = { |
|||
"sid": "", |
|||
"remarks": "", |
|||
"createBySid": "", |
|||
"createByName": "", |
|||
"createDeptSid": "", |
|||
"createDeptName": "", |
|||
"createTime": "", |
|||
"billNo": "", |
|||
"filePaths": [], |
|||
"useOrgSid": "", |
|||
"useOrgName": "", |
|||
"orgSidPath": "", |
|||
"procDefId": "", |
|||
"nodeId": "", |
|||
"procInstId": "", |
|||
"nodeState": "", |
|||
"taskId": "", |
|||
"finishTime": "", |
|||
"asOldpartreturnList": [] |
|||
} |
|||
this.submitdisabled = false |
|||
this.isUpdata = false |
|||
this.$emit('doback') |
|||
}, |
|||
|
|||
showAdd() { |
|||
this.title = "【新增】" |
|||
this.isUpdata = false |
|||
}, |
|||
showEdit(row) { |
|||
this.title = "【修改】" |
|||
this.isUpdata = true |
|||
var params = { |
|||
sid: row.sid |
|||
} |
|||
|
|||
req.init(params) |
|||
.then(resp => { |
|||
if (resp.success) { |
|||
this.formobj = resp.data |
|||
} |
|||
}) |
|||
.catch(e => { |
|||
this.formobj = {} |
|||
}) |
|||
}, |
|||
|
|||
downLoad() { |
|||
const loading = this.$loading({ |
|||
lock: true, |
|||
text: 'Loading', |
|||
spinner: 'el-icon-loading', |
|||
background: 'rgba(0, 0, 0, 0.7)' |
|||
}) |
|||
req.downloadExcel().then((resp) => { |
|||
loading.close() |
|||
const blob = new Blob([resp], { |
|||
type: 'application/vnd.ms-excel' |
|||
}) |
|||
const fileName = '导入厂家返厂明细模版' + '.xls' |
|||
const elink = document.createElement('a') |
|||
elink.download = fileName |
|||
elink.style.display = 'nonde' |
|||
elink.href = URL.createObjectURL(blob) |
|||
document.body.appendChild(elink) |
|||
elink.click() |
|||
URL.revokeObjectURL(elink.href) |
|||
document.body.removeChild(elink) |
|||
}).catch(() => { |
|||
loading.close() |
|||
}) |
|||
}, |
|||
submitUpload() { |
|||
this.$refs.upload.submit() |
|||
}, |
|||
handleSuccess(resp, file, fileList) { |
|||
const _this = this |
|||
_this.uploadResultMesssage = resp.msg |
|||
_this.uploadSuccess = resp.success |
|||
|
|||
}, |
|||
handleConfirm() { |
|||
if (!this.uploadSuccess) { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: 'error', |
|||
message: '请先上传导入厂家返件明细' |
|||
}) |
|||
return |
|||
} |
|||
this.dialogVisible = false |
|||
this.getList() |
|||
}, |
|||
backData() { |
|||
|
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss" scoped> |
|||
// 隐藏上传组件 |
|||
|
|||
::v-deep .hide { |
|||
.el-upload--picture-card { |
|||
display: none !important; |
|||
} |
|||
} |
|||
|
|||
.trightb { |
|||
display: flex; |
|||
align-items: center; |
|||
text-align: center; |
|||
justify-content: center; |
|||
} |
|||
|
|||
.trightb_item { |
|||
padding-top: 5px; |
|||
} |
|||
|
|||
.span { |
|||
height: 30px; |
|||
line-height: 30px; |
|||
margin-left: 50px; |
|||
font-size: 15px; |
|||
font-weight: 400; |
|||
border: 1px #fff solid; |
|||
padding: 0px 10px; |
|||
border-radius: 5px; |
|||
} |
|||
|
|||
::v-deep .el-collapse-item__header { |
|||
height: 40px; |
|||
padding: 10px; |
|||
font-weight: bold; |
|||
font-size: 20px; |
|||
text-align: left; |
|||
color: #ffffff; |
|||
background-color: #0294d7; |
|||
} |
|||
|
|||
::v-deep .el-collapse-item__content { |
|||
padding-bottom: 0; |
|||
} |
|||
</style> |
@ -0,0 +1,156 @@ |
|||
<template> |
|||
<div> |
|||
|
|||
<div class="tab-header webtop"> |
|||
<!-- 标题 --> |
|||
<div>旧件回收登记</div> |
|||
<!-- start 添加修改按钮 --> |
|||
<div> |
|||
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> |
|||
</div> |
|||
<!-- end 添加修改按钮 --> |
|||
<!-- end 详情按钮 --> |
|||
</div> |
|||
|
|||
<div class="listconadd"> |
|||
|
|||
<el-form ref="form_obj" :model="formobj" class="formaddcopy02"> |
|||
|
|||
<el-row class="first_row"> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">维修工单编号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.billNo }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">申请日期</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.billTime }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<el-row> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">客户名称</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.customerName }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<div class="span-sty">车牌号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.vehMark }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
|
|||
</el-row> |
|||
|
|||
<el-row> |
|||
|
|||
<el-col :span="12"> |
|||
<div class="span-sty">车架号</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.vinNo }}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<!-- <div class="span-sty"></div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.vehMark }}</span></el-form-item> --> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<el-row> |
|||
|
|||
<el-col :span="24"> |
|||
<div class="span-sty">旧件回收说明</div> |
|||
<el-form-item><span class="addinputInfo">{{ formobj.shortss }}</span></el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
<el-row> |
|||
|
|||
<el-col :span="24"> |
|||
<div class="span-sty">旧件照片</div> |
|||
<el-form-item> |
|||
<el-image class="addinputInfo" style="width: 120px;height: 120px; margin: 10px;" v-for="(item,index) in formobj.photos" |
|||
:src="item.url" :preview-src-list="[item.url]"> |
|||
</el-image> |
|||
</el-form-item> |
|||
</el-col> |
|||
|
|||
</el-row> |
|||
|
|||
</el-form> |
|||
|
|||
</div> |
|||
|
|||
|
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/storage/oldPartsRecovery.js' |
|||
|
|||
export default { |
|||
components: {}, |
|||
data() { |
|||
return { |
|||
listLoading: false, |
|||
submitdisabled: false, |
|||
formobj: {}, |
|||
} |
|||
}, |
|||
methods: { |
|||
indexMethod(index) { |
|||
return index + 1 |
|||
}, |
|||
|
|||
handleReturn(isreload) { |
|||
if (isreload === 'true') this.$emit('reloadlist') |
|||
this.$emit('doback') |
|||
}, |
|||
|
|||
showAdd() { |
|||
|
|||
}, |
|||
showEdit(row) { |
|||
|
|||
var params = { |
|||
sid: row.sid |
|||
} |
|||
req.getOneByBillNo(params) |
|||
.then(resp => { |
|||
if (resp.success) { |
|||
this.formobj = resp.data |
|||
} |
|||
}) |
|||
.catch(e => { |
|||
this.formobj = {} |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.span-sty { |
|||
width: 130px !important; |
|||
} |
|||
|
|||
.addinputInfo { |
|||
margin-left: 120px !important; |
|||
} |
|||
|
|||
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { |
|||
margin-left: 120px !important; |
|||
width: calc(100% - 115px); |
|||
} |
|||
|
|||
.first_row{ |
|||
border-top: 1px solid #E0E3EB; |
|||
} |
|||
|
|||
.titleOne { |
|||
padding: 7px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
} |
|||
</style> |
Loading…
Reference in new issue