Merge remote-tracking branch 'origin/dev-nx' into dev-nx
# Conflicts: # sgzb-auth/src/main/java/com/bonus/sgzb/auth/controller/TokenController.java
This commit is contained in:
commit
84d718b9bc
|
|
@ -58,8 +58,9 @@ public class TokenController {
|
|||
//web端登录
|
||||
@PostMapping("login")
|
||||
public R<?> login(@RequestBody LoginBody form) throws Exception {
|
||||
//String decryptedData = RsaUtil.decryptByPrivateKey(form.getPassword(), privateKey);
|
||||
// 用户登录
|
||||
LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword());
|
||||
LoginUser userInfo = sysLoginService.login(form.getUsername(), decryptedData);
|
||||
String uuid = form.getUuid();
|
||||
String captcha = redisService.getCacheObject(CacheConstants.CAPTCHA_CODE_KEY + uuid).toString();
|
||||
if (StringUtils.isBlank(captcha)) {
|
||||
|
|
|
|||
|
|
@ -50,4 +50,17 @@ public class InventoryAndWarehousingController extends BaseController {
|
|||
return inventoryAndWarehousingService.savePutInfo(dto);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据入库单号查看详情
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "根据入库单号查看详情")
|
||||
@GetMapping("/getDetail")
|
||||
public TableDataInfo getDetail(PutInStorageBean bean) {
|
||||
startPage();
|
||||
List<PutInStorageBean> list = inventoryAndWarehousingService.getDetails(bean);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import io.swagger.annotations.ApiModelProperty;
|
|||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description 入库盘点
|
||||
|
|
@ -44,6 +43,10 @@ public class PutInStorageBean extends BaseEntity {
|
|||
@ApiModelProperty(value = "盘点入库单号")
|
||||
private String kindName;
|
||||
|
||||
/** 设备编号 */
|
||||
@ApiModelProperty(value = "设备编号")
|
||||
private String maCode;
|
||||
|
||||
/** 单位ID */
|
||||
@ApiModelProperty(value = "单位ID")
|
||||
private String unitId;
|
||||
|
|
@ -85,6 +88,10 @@ public class PutInStorageBean extends BaseEntity {
|
|||
@ApiModelProperty(value = "设备工器具类型名称")
|
||||
private String typeName;
|
||||
|
||||
/** 规格型号 */
|
||||
@ApiModelProperty(value = "规格型号")
|
||||
private String typeModelName;
|
||||
|
||||
/** 设备主键 */
|
||||
@ApiModelProperty(value = "设备主键")
|
||||
private Integer machine;
|
||||
|
|
|
|||
|
|
@ -74,4 +74,11 @@ public interface InventoryAndWarehousingMapper {
|
|||
int selectTaskNumByMonth(@Param("date") Date nowDate);
|
||||
|
||||
int selectByCode(String code);
|
||||
|
||||
/**
|
||||
* 根据入库单号查看详情
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
List<PutInStorageBean> getDetails(PutInStorageBean bean);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,4 +27,11 @@ public interface InventoryAndWarehousingService {
|
|||
* @return
|
||||
*/
|
||||
AjaxResult savePutInfo(SavePutInfoDto dto);
|
||||
|
||||
/**
|
||||
* 根据入库单号查看详情
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
List<PutInStorageBean> getDetails(PutInStorageBean bean);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,6 +119,16 @@ public class InventoryAndWarehousingServiceImpl implements InventoryAndWarehousi
|
|||
return AjaxResult.success(res);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据入库单号查看详情
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<PutInStorageBean> getDetails(PutInStorageBean bean) {
|
||||
return inventoryAndWarehousingMapper.getDetails(bean);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据code从ma_machine表查询是否有数据,去重
|
||||
* @param code
|
||||
|
|
|
|||
|
|
@ -198,35 +198,50 @@
|
|||
</update>
|
||||
|
||||
<select id="getList" resultType="com.bonus.sgzb.material.domain.PutInStorageBean">
|
||||
SELECT pisi.PUT_IN_TYPE as putInType,
|
||||
lot.lot_name as projectName,
|
||||
bui.unit_name as unitName,
|
||||
pisi.`CODE` as kindName,
|
||||
mt2.type_name as typeName,
|
||||
su.user_name as modelName,
|
||||
pisi.CREATE_DATE as createDate,
|
||||
pisi.REMARKS as remark
|
||||
FROM ma_type_put_in_storage_info pisi
|
||||
LEFT JOIN ma_type_put_in_storage_details pisd on pisi.id = pisd.INFO
|
||||
LEFT JOIN bm_project_lot lot on lot.lot_id = pisi.PROJECT_ID
|
||||
LEFT JOIN bm_unit_info bui on bui.unit_id = pisi.UNIT_ID
|
||||
LEFT JOIN ma_type mt on mt.type_id = pisd.TYPE
|
||||
LEFT JOIN ma_type mt2 on mt2.type_id = mt.parent_id
|
||||
LEFT JOIN sys_user su on su.user_id = pisi.CREATOR
|
||||
where
|
||||
SELECT
|
||||
sub.putInType,
|
||||
sub.projectName,
|
||||
sub.unitName,
|
||||
sub.kindName,
|
||||
sub.typeName,
|
||||
sub.modelName,
|
||||
sub.createDate,
|
||||
sub.remark
|
||||
FROM (
|
||||
SELECT
|
||||
pisi.PUT_IN_TYPE AS putInType,
|
||||
lot.lot_name AS projectName,
|
||||
bui.unit_name AS unitName,
|
||||
pisi.`CODE` AS kindName,
|
||||
mt2.type_name AS typeName,
|
||||
su.user_name AS modelName,
|
||||
pisi.CREATE_DATE AS createDate,
|
||||
pisi.REMARKS AS remark,
|
||||
ROW_NUMBER() OVER (PARTITION BY pisi.`CODE` ORDER BY pisi.CREATE_DATE DESC) AS row_num
|
||||
FROM
|
||||
ma_type_put_in_storage_info pisi
|
||||
LEFT JOIN ma_type_put_in_storage_details pisd ON pisi.id = pisd.INFO
|
||||
LEFT JOIN bm_project_lot lot ON lot.lot_id = pisi.PROJECT_ID
|
||||
LEFT JOIN bm_unit_info bui ON bui.unit_id = pisi.UNIT_ID
|
||||
LEFT JOIN ma_type mt ON mt.type_id = pisd.TYPE
|
||||
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
|
||||
LEFT JOIN sys_user su ON su.user_id = pisi.CREATOR
|
||||
WHERE
|
||||
1 = 1
|
||||
<if test="keyWord != null and keyWord != ''">
|
||||
and (
|
||||
pisi.`CODE` like concat('%',#{keyWord},'%') or
|
||||
pisi.PUT_IN_TYPE like concat('%',#{keyWord},'%') or
|
||||
lot.lot_name like concat('%',#{keyWord},'%') or
|
||||
bui.unit_name like concat('%',#{keyWord},'%') or
|
||||
mt2.type_name like concat('%',#{keyWord},'%') or
|
||||
su.user_name like concat('%',#{keyWord},'%') or
|
||||
pisi.REMARKS like concat('%',#{keyWord},'%')
|
||||
)
|
||||
AND (
|
||||
pisi.`CODE` LIKE CONCAT('%',#{keyWord},'%') OR
|
||||
pisi.PUT_IN_TYPE LIKE CONCAT('%',#{keyWord},'%') OR
|
||||
lot.lot_name LIKE CONCAT('%',#{keyWord},'%') OR
|
||||
bui.unit_name LIKE CONCAT('%',#{keyWord},'%') OR
|
||||
mt2.type_name LIKE CONCAT('%',#{keyWord},'%') OR
|
||||
su.user_name LIKE CONCAT('%',#{keyWord},'%') OR
|
||||
pisi.REMARKS LIKE CONCAT('%',#{keyWord},'%')
|
||||
)
|
||||
</if>
|
||||
order by pisi.CREATE_DATE desc
|
||||
) AS sub
|
||||
WHERE sub.row_num = 1
|
||||
ORDER BY createDate DESC
|
||||
</select>
|
||||
<select id="selectTaskNumByMonth" resultType="java.lang.Integer">
|
||||
select count(*) from ma_type_put_in_storage_info where DATE_FORMAT(CREATE_DATE,'%y%m') = DATE_FORMAT(#{date},'%y%m')
|
||||
|
|
@ -238,4 +253,37 @@
|
|||
<if test="code != null ">and qr_code = #{code}</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="getDetails" resultType="com.bonus.sgzb.material.domain.PutInStorageBean">
|
||||
SELECT
|
||||
pisi.`CODE` as kindName,
|
||||
pisi.PUT_IN_TYPE as putInType,
|
||||
pisd.MACODE as maCode,
|
||||
pisd.NUM as num,
|
||||
mt2.type_name as typeName,
|
||||
mt.type_name as typeModelName,
|
||||
su.user_name as modelName,
|
||||
pisi.CREATE_DATE as createDate
|
||||
FROM ma_type_put_in_storage_info pisi
|
||||
LEFT JOIN ma_type_put_in_storage_details pisd on pisi.id = pisd.INFO
|
||||
LEFT JOIN bm_project_lot lot on lot.lot_id = pisi.PROJECT_ID
|
||||
LEFT JOIN bm_unit_info bui on bui.unit_id = pisi.UNIT_ID
|
||||
LEFT JOIN ma_type mt on mt.type_id = pisd.TYPE
|
||||
LEFT JOIN ma_type mt2 on mt2.type_id = mt.parent_id
|
||||
LEFT JOIN sys_user su on su.user_id = pisi.CREATOR
|
||||
where
|
||||
1 = 1
|
||||
<if test="kindName != null and kindName != ''">
|
||||
and pisi.`CODE` = #{kindName}
|
||||
</if>
|
||||
<if test="keyWord != null and keyWord != ''">
|
||||
and (
|
||||
pisi.PUT_IN_TYPE like concat('%',#{keyWord},'%') or
|
||||
mt2.type_name like concat('%',#{keyWord},'%') or
|
||||
su.user_name like concat('%',#{keyWord},'%') or
|
||||
mt.type_name like concat('%',#{keyWord},'%') or
|
||||
pisd.MACODE like concat('%',#{keyWord},'%')
|
||||
)
|
||||
</if>
|
||||
order by pisi.CREATE_DATE desc
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -2,52 +2,52 @@ import request from '@/utils/request'
|
|||
|
||||
//机具退料入库
|
||||
export function getReturnOfMaterialsInfoAll(query) {
|
||||
return request({
|
||||
url: '/material/inventoryAndWarehousing/getList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
return request({
|
||||
url: '/material/inventoryAndWarehousing/getList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//机具退料入库--机具类型,规格型号下拉数据
|
||||
export function getTypeList(query) {
|
||||
return request({
|
||||
url: '/material/returnOfMaterialsInfo/getTypeList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
return request({
|
||||
url: '/material/returnOfMaterialsInfo/getTypeList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//修试后入库--列表
|
||||
export function getRepairedList(data) {
|
||||
return request({
|
||||
url: '/material/RepairTestInput/getRepairedList',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
return request({
|
||||
url: '/material/RepairTestInput/getRepairedList',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
//修试后入库--详情
|
||||
export function getRepairedDetailList(data) {
|
||||
return request({
|
||||
url: '/material//RepairTestInput/getRepairedDetailList',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
//修试后入库--审核
|
||||
return request({
|
||||
url: '/material//RepairTestInput/getRepairedDetailList',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
//修试后入库--审核
|
||||
export function inputByType(data) {
|
||||
return request({
|
||||
url: '/material/RepairTestInput/inputByType',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
return request({
|
||||
url: '/material/RepairTestInput/inputByType',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取 设备树
|
||||
export function getDeviceTypeTree(params = {}){
|
||||
export function getDeviceTypeTree(params = {}) {
|
||||
return request({
|
||||
url: '/system/select/getDeviceTypeTree',
|
||||
method: 'post',
|
||||
|
|
@ -64,6 +64,13 @@ export function inputByCode(data) {
|
|||
})
|
||||
}
|
||||
|
||||
// 查看盘点入库详情接口
|
||||
export const getInventoryWarehousingApi = (data) => {
|
||||
return request.get(`/material/inventoryAndWarehousing/getDetail`, {
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,14 @@
|
|||
:selectable="selectable"
|
||||
v-if="config.isSelShow"
|
||||
/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="序号"
|
||||
type="index"
|
||||
:index="
|
||||
indexContinuation(pageParams.pageNum, pageParams.pageSize)
|
||||
"
|
||||
/>
|
||||
<el-table-column
|
||||
v-for="(item, v) in tableColumCheckProps"
|
||||
:key="v"
|
||||
|
|
@ -47,6 +55,9 @@
|
|||
<slot :data="scope.row" :name="item.t_slot"></slot>
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ scope.row[item.t_props] || '-' }}
|
||||
</template>
|
||||
<!-- <template v-else>
|
||||
{{
|
||||
v === 0
|
||||
? indexContinuation(
|
||||
|
|
@ -55,7 +66,7 @@
|
|||
)
|
||||
: scope.row[item.t_props] || '-'
|
||||
}}
|
||||
</template>
|
||||
</template> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ export const config = {
|
|||
{ f_label: '创建时间', f_model: 'time', f_type: 'date' },
|
||||
],
|
||||
columnsList: [
|
||||
{ t_width: '55px', t_props: '', t_label: '序号' },
|
||||
// { t_width: '55px', t_props: '', t_label: '序号' },
|
||||
{ t_props: 'scrapNum', t_label: '预报废单号' },
|
||||
{ t_props: 'scrapNum', t_label: '退料单号' },
|
||||
{ t_props: 'repairNum', t_label: '单位名称' },
|
||||
|
|
@ -61,7 +61,7 @@ export const dialogConfig = {
|
|||
{ f_label: '类型名称', f_model: 'keywords', f_type: 'ipt' },
|
||||
],
|
||||
columnsList: [
|
||||
{ t_width: '55px', t_props: '', t_label: '序号' },
|
||||
// { t_width: '55px', t_props: '', t_label: '序号' },
|
||||
{ t_width: '', t_props: 'machineTypeName', t_label: '设备类型' },
|
||||
{ t_width: '', t_props: 'specificationType', t_label: '规格型号' },
|
||||
{ t_width: '', t_props: 'maCode', t_label: '设备编码' },
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ export const config = {
|
|||
{ f_label: '创建时间', f_model: 'time', f_type: 'date' },
|
||||
],
|
||||
columnsList: [
|
||||
{ t_width: '55px', t_props: '', t_label: '序号' },
|
||||
// { t_width: '55px', t_props: '', t_label: '序号' },
|
||||
{ t_props: 'scrapNum', t_label: '预报废单号' },
|
||||
{ t_props: 'scrapNum', t_label: '维修单号' },
|
||||
{ t_props: 'repairNum', t_label: '单位名称' },
|
||||
|
|
@ -61,7 +61,7 @@ export const dialogConfig = {
|
|||
{ f_label: '类型名称', f_model: 'keywords', f_type: 'ipt' },
|
||||
],
|
||||
columnsList: [
|
||||
{ t_width: '55px', t_props: '', t_label: '序号' },
|
||||
// { t_width: '55px', t_props: '', t_label: '序号' },
|
||||
{ t_width: '', t_props: 'machineTypeName', t_label: '设备类型' },
|
||||
{ t_width: '', t_props: 'specificationType', t_label: '规格型号' },
|
||||
{ t_width: '', t_props: 'maCode', t_label: '设备编码' },
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ export const config = {
|
|||
{ f_label: '创建时间', f_model: 'time', f_type: 'date' },
|
||||
],
|
||||
columnsList: [
|
||||
{ t_width: '55px', t_props: '', t_label: '序号' },
|
||||
// { t_width: '55px', t_props: '', t_label: '序号' },
|
||||
{ t_props: '', t_label: '预报废单号' },
|
||||
{ t_props: '', t_label: '机具类型' },
|
||||
{ t_props: '', t_label: '任务创建人' },
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ export const config = {
|
|||
{ f_label: '创建时间', f_model: 'time', f_type: 'date' },
|
||||
],
|
||||
columnsList: [
|
||||
{ t_width: '55px', t_props: '', t_label: '序号' },
|
||||
// { t_width: '55px', t_props: '', t_label: '序号' },
|
||||
{ t_width: '', t_props: 'scrapNum', t_label: '预报废单号', },
|
||||
{ t_width: '', t_props: '', t_label: '报废来源', t_slot: 'source', },
|
||||
{ t_width: '', t_props: 'repairNum', t_label: '单号', t_slot: 'code', },
|
||||
|
|
@ -74,7 +74,7 @@ export const dialogConfig = {
|
|||
],
|
||||
|
||||
columnsList: [
|
||||
{ t_width: '55px', t_props: '', t_label: '序号' },
|
||||
// { t_width: '55px', t_props: '', t_label: '序号' },
|
||||
{ t_width: '', t_props: 'machineTypeName', t_label: '设备类型' },
|
||||
{ t_width: '', t_props: 'specificationType', t_label: '规格型号' },
|
||||
{ t_width: '', t_props: 'maCode', t_label: '设备编码' },
|
||||
|
|
|
|||
|
|
@ -160,185 +160,185 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import TableModel from '@/components/TableModel'
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import ScrapSource from '../../component/scrapSource.vue'
|
||||
import { config, dialogConfig, getSelList, getTypeListSel } from './config'
|
||||
import {
|
||||
getForecastWasteListApi,
|
||||
getDialogListApi,
|
||||
auditingPreScrapApi,
|
||||
} from '@/api/scrap/forecastWaste.js'
|
||||
export default {
|
||||
name: 'Inventory',
|
||||
components: {
|
||||
TableModel,
|
||||
DialogModel,
|
||||
ScrapSource,
|
||||
import TableModel from '@/components/TableModel'
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import ScrapSource from '../../component/scrapSource.vue'
|
||||
import { config, dialogConfig, getSelList, getTypeListSel } from './config'
|
||||
import {
|
||||
getForecastWasteListApi,
|
||||
getDialogListApi,
|
||||
auditingPreScrapApi,
|
||||
} from '@/api/scrap/forecastWaste.js'
|
||||
export default {
|
||||
name: 'Inventory',
|
||||
components: {
|
||||
TableModel,
|
||||
DialogModel,
|
||||
ScrapSource,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
config,
|
||||
dialogConfig,
|
||||
getDialogListApi,
|
||||
getForecastWasteListApi,
|
||||
getSelList,
|
||||
getTypeListSel,
|
||||
/* 驳回原因 */
|
||||
rejectReason: '',
|
||||
/* 选中的审核数据 */
|
||||
selAuditingList: [],
|
||||
/* 请求参数 */
|
||||
sendParams: {},
|
||||
/* 当前登录的用户id */
|
||||
userId: sessionStorage.getItem('userId'),
|
||||
/* 审核参数 */
|
||||
auditingParams: {
|
||||
taskId: '',
|
||||
scrapDetailList: [],
|
||||
},
|
||||
tbAllChecked: false, // 判断当前设备是否全部审核过
|
||||
dataCondition: [], // 导出taskId列表
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getSelList()
|
||||
this.getTypeListSel()
|
||||
},
|
||||
methods: {
|
||||
/* 查看 */
|
||||
async handlePreview(row) {
|
||||
this.sendParams.taskId = this.auditingParams.taskId = row.taskId
|
||||
this.dialogConfig.outerTitle = '查看'
|
||||
this.dialogConfig.isSelShow = false
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
config,
|
||||
dialogConfig,
|
||||
getDialogListApi,
|
||||
getForecastWasteListApi,
|
||||
getSelList,
|
||||
getTypeListSel,
|
||||
/* 驳回原因 */
|
||||
rejectReason: '',
|
||||
/* 选中的审核数据 */
|
||||
selAuditingList: [],
|
||||
/* 请求参数 */
|
||||
sendParams: {},
|
||||
/* 当前登录的用户id */
|
||||
userId: sessionStorage.getItem('userId'),
|
||||
/* 审核参数 */
|
||||
auditingParams: {
|
||||
taskId: '',
|
||||
scrapDetailList: [],
|
||||
},
|
||||
tbAllChecked: false, // 判断当前设备是否全部审核过
|
||||
dataCondition: [], // 导出taskId列表
|
||||
/* 审核 */
|
||||
handleAuditing(row) {
|
||||
this.sendParams.taskId = this.auditingParams.taskId = row.taskId
|
||||
this.dialogConfig.outerTitle = '审核'
|
||||
this.dialogConfig.isSelShow = true
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
/* 外层弹框关闭 */
|
||||
closeDialogOuter() {
|
||||
this.dialogConfig.outerVisible = false
|
||||
},
|
||||
/* 内层弹框关闭 */
|
||||
closeDialogInner() {
|
||||
this.dialogConfig.innerVisible = false
|
||||
},
|
||||
/* 弹框内列表复选框勾选后数据 */
|
||||
getDialogTbSelList(list) {
|
||||
this.selAuditingList = list
|
||||
},
|
||||
getTableSelectionList(list) {
|
||||
this.dataCondition = []
|
||||
if (list.length > 0)
|
||||
list.forEach((ele) => {
|
||||
this.dataCondition.push(ele.taskId)
|
||||
})
|
||||
},
|
||||
/* 审核通过 */
|
||||
async auditingPass() {
|
||||
if (this.selAuditingList.length < 1) {
|
||||
this.$message.error('请勾选审核设备')
|
||||
return
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getSelList()
|
||||
this.getTypeListSel()
|
||||
},
|
||||
methods: {
|
||||
/* 查看 */
|
||||
async handlePreview(row) {
|
||||
this.sendParams.taskId = this.auditingParams.taskId = row.taskId
|
||||
this.dialogConfig.outerTitle = '查看'
|
||||
this.dialogConfig.isSelShow = false
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
/* 审核 */
|
||||
handleAuditing(row) {
|
||||
this.sendParams.taskId = this.auditingParams.taskId = row.taskId
|
||||
this.dialogConfig.outerTitle = '审核'
|
||||
this.dialogConfig.isSelShow = true
|
||||
this.dialogConfig.outerVisible = true
|
||||
},
|
||||
/* 外层弹框关闭 */
|
||||
closeDialogOuter() {
|
||||
this.dialogConfig.outerVisible = false
|
||||
},
|
||||
/* 内层弹框关闭 */
|
||||
closeDialogInner() {
|
||||
this.dialogConfig.innerVisible = false
|
||||
},
|
||||
/* 弹框内列表复选框勾选后数据 */
|
||||
getDialogTbSelList(list) {
|
||||
this.selAuditingList = list
|
||||
},
|
||||
getTableSelectionList(list) {
|
||||
this.dataCondition = []
|
||||
if (list.length > 0)
|
||||
list.forEach((ele) => {
|
||||
this.dataCondition.push(ele.taskId)
|
||||
})
|
||||
},
|
||||
/* 审核通过 */
|
||||
async auditingPass() {
|
||||
if (this.selAuditingList.length < 1) {
|
||||
this.$message.error('请勾选审核设备')
|
||||
return
|
||||
|
||||
this.selAuditingList.map((e) => {
|
||||
/* 获取当前需要审核的设备数据 */
|
||||
let deviceInfo = {
|
||||
id: e.id, // 设备ID
|
||||
auditBy: this.userId, // 审核人 ID
|
||||
status: '1', // 1 通过 2 驳回
|
||||
}
|
||||
|
||||
this.auditingParams.scrapDetailList.push(deviceInfo)
|
||||
})
|
||||
const res = await auditingPreScrapApi(this.auditingParams)
|
||||
if (res.code == 200) {
|
||||
this.$message.success('审核通过!')
|
||||
this.dialogConfig.outerVisible = false
|
||||
this.$refs.tbRef.getList()
|
||||
}
|
||||
},
|
||||
/* 审核驳回 */
|
||||
async auditingReject() {
|
||||
// if (this.tbAllChecked) {
|
||||
// this.$message.error('当前已没有可审核的装备')
|
||||
// this.dialogConfig.outerVisible = false
|
||||
// return
|
||||
// }
|
||||
if (this.selAuditingList.length < 1) {
|
||||
this.$message.error('请勾选审核设备')
|
||||
return
|
||||
}
|
||||
this.dialogConfig.innerTitle = '驳回原因'
|
||||
this.dialogConfig.innerVisible = true
|
||||
},
|
||||
/* 驳回原因弹框内取消按钮 */
|
||||
handleCancelInner() {
|
||||
/* 关闭内弹框 */
|
||||
this.dialogConfig.innerVisible = false
|
||||
},
|
||||
/* 驳回弹框内保存按钮 */
|
||||
async handleSubmitInner() {
|
||||
if (!this.rejectReason) {
|
||||
this.$message.error('驳回原因不能为空!')
|
||||
this.$refs.rejectReasonRef.focus()
|
||||
return
|
||||
} else {
|
||||
this.selAuditingList.map((e) => {
|
||||
/* 获取当前需要审核的设备数据 */
|
||||
let deviceInfo = {
|
||||
id: e.id, // 设备ID
|
||||
auditBy: this.userId, // 审核人 ID
|
||||
status: '1', // 1 通过 2 驳回
|
||||
status: '2', // 1 通过 2 驳回
|
||||
auditRemark: this.rejectReason, // 驳回原因
|
||||
}
|
||||
|
||||
this.auditingParams.scrapDetailList.push(deviceInfo)
|
||||
})
|
||||
const res = await auditingPreScrapApi(this.auditingParams)
|
||||
if (res.code == 200) {
|
||||
this.$message.success('审核通过!')
|
||||
this.dialogConfig.outerVisible = false
|
||||
this.$refs.tbRef.getList()
|
||||
}
|
||||
},
|
||||
/* 审核驳回 */
|
||||
async auditingReject() {
|
||||
// if (this.tbAllChecked) {
|
||||
// this.$message.error('当前已没有可审核的装备')
|
||||
// this.dialogConfig.outerVisible = false
|
||||
// return
|
||||
// }
|
||||
if (this.selAuditingList.length < 1) {
|
||||
this.$message.error('请勾选审核设备')
|
||||
return
|
||||
}
|
||||
this.dialogConfig.innerTitle = '驳回原因'
|
||||
this.dialogConfig.innerVisible = true
|
||||
},
|
||||
/* 驳回原因弹框内取消按钮 */
|
||||
handleCancelInner() {
|
||||
/* 关闭内弹框 */
|
||||
this.dialogConfig.innerVisible = false
|
||||
},
|
||||
/* 驳回弹框内保存按钮 */
|
||||
async handleSubmitInner() {
|
||||
if (!this.rejectReason) {
|
||||
this.$message.error('驳回原因不能为空!')
|
||||
this.$refs.rejectReasonRef.focus()
|
||||
return
|
||||
} else {
|
||||
this.selAuditingList.map((e) => {
|
||||
/* 获取当前需要审核的设备数据 */
|
||||
let deviceInfo = {
|
||||
id: e.id, // 设备ID
|
||||
auditBy: this.userId, // 审核人 ID
|
||||
status: '2', // 1 通过 2 驳回
|
||||
auditRemark: this.rejectReason, // 驳回原因
|
||||
}
|
||||
|
||||
this.auditingParams.scrapDetailList.push(deviceInfo)
|
||||
this.$message.success('已驳回!')
|
||||
this.dialogConfig.innerVisible = false
|
||||
/* 当驳回成功 重新查询列表回显数据 */
|
||||
this.$nextTick(() => {
|
||||
this.$refs.dialogTbRef.getList()
|
||||
})
|
||||
const res = await auditingPreScrapApi(this.auditingParams)
|
||||
if (res.code == 200) {
|
||||
this.$message.success('已驳回!')
|
||||
this.dialogConfig.innerVisible = false
|
||||
/* 当驳回成功 重新查询列表回显数据 */
|
||||
this.$nextTick(() => {
|
||||
this.$refs.dialogTbRef.getList()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
/* 数据导出 */
|
||||
handleExport(data) {
|
||||
console.log(
|
||||
'🚀 ~ 导出 ~ this.dataCondition:',
|
||||
data,
|
||||
this.dataCondition,
|
||||
)
|
||||
if (this.dataCondition.length > 0)
|
||||
data.dataCondition = this.dataCondition
|
||||
this.download(
|
||||
'material/scrap/exportForecastWaste',
|
||||
{
|
||||
...data,
|
||||
},
|
||||
`预报废审核列表_${new Date().getTime()}.xlsx`,
|
||||
)
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
dialogConfig: {
|
||||
handler(newVal) {
|
||||
/* 监听外层弹框关闭 清空勾选的数据 */
|
||||
if (!newVal.outerVisible) {
|
||||
this.selectionList = []
|
||||
}
|
||||
},
|
||||
/* 数据导出 */
|
||||
handleExport(data) {
|
||||
console.log(
|
||||
'🚀 ~ 导出 ~ this.dataCondition:',
|
||||
data,
|
||||
this.dataCondition,
|
||||
)
|
||||
if (this.dataCondition.length > 0)
|
||||
data.dataCondition = this.dataCondition
|
||||
this.download(
|
||||
'material/scrap/exportForecastWaste',
|
||||
{
|
||||
...data,
|
||||
},
|
||||
`预报废审核列表_${new Date().getTime()}.xlsx`,
|
||||
)
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
watch: {
|
||||
dialogConfig: {
|
||||
handler(newVal) {
|
||||
/* 监听外层弹框关闭 清空勾选的数据 */
|
||||
if (!newVal.outerVisible) {
|
||||
this.selectionList = []
|
||||
}
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
},
|
||||
}
|
||||
</>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ export const config = {
|
|||
{ f_label: '规格型号', f_model: 'backPro', f_type: 'sel', f_selList: [] },
|
||||
],
|
||||
columnsList: [
|
||||
{ t_width: '55px', t_props: '', t_label: '序号' },
|
||||
// { t_width: '55px', t_props: '', t_label: '序号' },
|
||||
{ t_width: '', t_props: 'demo', t_label: '类型名称' },
|
||||
{ t_width: '', t_props: '', t_label: '规格型号' },
|
||||
{ t_width: '', t_props: '', t_label: '数量' },
|
||||
|
|
@ -44,7 +44,7 @@ export const dialogConfig = {
|
|||
],
|
||||
|
||||
columnsList: [
|
||||
{ t_width: '55px', t_props: '', t_label: '序号' },
|
||||
// { t_width: '55px', t_props: '', t_label: '序号' },
|
||||
{ t_width: '', t_props: 'demo', t_label: '设备类型' },
|
||||
{ t_width: '', t_props: '', t_label: '规格型号' },
|
||||
{ t_width: '', t_props: '', t_label: '设备编码' },
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ export const config = {
|
|||
},
|
||||
],
|
||||
columnsList: [
|
||||
{ t_width: '55px', t_props: '', t_label: '序号' },
|
||||
// { t_width: '55px', t_props: '', t_label: '序号' },
|
||||
{ t_width: '', t_props: 'scrapNum', t_label: '报废单号' },
|
||||
{ t_width: '', t_props: '', t_label: '报废来源', t_slot: 'source' },
|
||||
{ t_width: '', t_props: 'repairNum', t_label: '预报废单号' },
|
||||
|
|
@ -75,7 +75,7 @@ export const dialogConfig = {
|
|||
],
|
||||
|
||||
columnsList: [
|
||||
{ t_width: '55px', t_props: '', t_label: '序号' },
|
||||
// { t_width: '55px', t_props: '', t_label: '序号' },
|
||||
{ t_width: '', t_props: 'machineTypeName', t_label: '设备类型' },
|
||||
{ t_width: '', t_props: 'specificationType', t_label: '规格型号' },
|
||||
{ t_width: '', t_props: 'maCode', t_label: '设备编码' },
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ export const config = {
|
|||
{ f_label: '创建时间', f_model: 'time', f_type: 'date' },
|
||||
],
|
||||
columnsList: [
|
||||
{ t_width: '55px', t_props: '', t_label: '序号' },
|
||||
// { t_width: '55px', t_props: '', t_label: '序号' },
|
||||
{ t_props: 'scrapNum', t_label: '报废单号' },
|
||||
{ t_props: '', t_label: '报废来源', t_slot: 'source' },
|
||||
{ t_props: 'repairNum', t_label: '预报废单号' },
|
||||
|
|
@ -59,7 +59,7 @@ export const dialogConfig = {
|
|||
{ f_label: '类型名称', f_model: 'keywords', f_type: 'ipt' },
|
||||
],
|
||||
columnsList: [
|
||||
{ t_width: '55px', t_props: '', t_label: '序号' },
|
||||
// { t_width: '55px', t_props: '', t_label: '序号' },
|
||||
{ t_width: '', t_props: 'machineTypeName', t_label: '设备类型' },
|
||||
{ t_width: '', t_props: 'specificationType', t_label: '规格型号' },
|
||||
{ t_width: '', t_props: 'maCode', t_label: '设备编码' },
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ export const config = {
|
|||
{ f_label: '创建时间', f_model: 'time', f_type: 'date' },
|
||||
],
|
||||
columnsList: [
|
||||
{ t_width: '55px', t_props: '', t_label: '序号' },
|
||||
// { t_width: '55px', t_props: '', t_label: '序号' },
|
||||
{ t_props: 'scrapNum', t_label: '报废单号' },
|
||||
{ t_props: 'scrapSource', t_label: '报废来源', t_slot: 'source' },
|
||||
{ t_props: 'repairNum', t_label: '预报废单号' },
|
||||
|
|
@ -67,7 +67,7 @@ export const dialogConfig = {
|
|||
{ f_label: '类型名称', f_model: 'keywords', f_type: 'ipt' },
|
||||
],
|
||||
columnsList: [
|
||||
{ t_width: '55px', t_props: '', t_label: '序号' },
|
||||
// { t_width: '55px', t_props: '', t_label: '序号' },
|
||||
{ t_width: '', t_props: 'machineTypeName', t_label: '设备类型' },
|
||||
{ t_width: '', t_props: 'specificationType', t_label: '规格型号' },
|
||||
{ t_width: '', t_props: 'maCode', t_label: '设备编码' },
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
|
||||
export const dialogConfig = {
|
||||
outerWidth: '70%',
|
||||
outerTitle: '查看',
|
||||
outerVisible: false,
|
||||
handleColShow: false, // 是否显示操作列
|
||||
pageShow: true, // 是否显示分页组件
|
||||
isSelShow: false,// 表格是否需要复选框
|
||||
isFormShow: true, // 是否显示表单查询组件
|
||||
formLabel: [
|
||||
{ f_label: '关键字', f_model: 'keyWord', f_type: 'ipt', },
|
||||
],
|
||||
|
||||
columnsList: [
|
||||
{ t_width: '', t_props: 'putInType', t_label: '入库来源' },
|
||||
{ t_width: '', t_props: 'typeName', t_label: '设备类型' },
|
||||
{ t_width: '', t_props: 'typeModelName', t_label: '规格型号' },
|
||||
{ t_width: '', t_props: 'maCode', t_label: '设备编码' },
|
||||
{ t_width: '', t_props: 'modelName', t_label: '入库人' },
|
||||
{ t_width: '', t_props: 'createDate', t_label: '入库日期' },
|
||||
],
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -55,6 +55,7 @@
|
|||
v-loading="loading"
|
||||
:data="returnList"
|
||||
@selection-change="handleSelectionChange"
|
||||
border
|
||||
>
|
||||
<el-table-column
|
||||
align="center"
|
||||
|
|
@ -107,17 +108,16 @@
|
|||
prop="remark"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:dict:edit']"
|
||||
>审核</el-button>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="操作" align="center">
|
||||
<template slot-scope="{ row }">
|
||||
<el-button
|
||||
type="text"
|
||||
size="mini"
|
||||
@click="queryDetails(row)"
|
||||
>查看详情</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
|
|
@ -757,6 +757,21 @@
|
|||
<el-button @click="cancelCode">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<!-- 查看时详情弹框 -->
|
||||
<DialogModel
|
||||
:dialogConfig="dialogConfig"
|
||||
@closeDialogOuter="closeDialogOuter"
|
||||
>
|
||||
<template slot="outerContent">
|
||||
<el-table data="detailsList">
|
||||
<el-table-column></el-table-column>
|
||||
<el-table-column></el-table-column>
|
||||
<el-table-column></el-table-column>
|
||||
<el-table-column></el-table-column>
|
||||
</el-table>
|
||||
</template>
|
||||
</DialogModel>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -774,14 +789,23 @@ import {
|
|||
getTypeList,
|
||||
getDeviceTypeTree,
|
||||
inputByCode,
|
||||
getInventoryWarehousingApi,
|
||||
} from '@/api/store/putInStore'
|
||||
import { getInfo } from '@/api/login'
|
||||
import { supplierInfoList } from '@/api/store/tools'
|
||||
import { getUnitData, getProData } from '@/api/claimAndRefund/receive'
|
||||
|
||||
import DialogModel from '@/components/DialogModel'
|
||||
import TableMode from '@/components/TableModel'
|
||||
import { dialogConfig } from './config'
|
||||
|
||||
export default {
|
||||
name: 'DevicesWarehousing',
|
||||
// dicts: ['sys_normal_disable'],
|
||||
components: {
|
||||
DialogModel,
|
||||
TableMode,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 用户信息
|
||||
|
|
@ -919,6 +943,12 @@ export default {
|
|||
},
|
||||
],
|
||||
},
|
||||
|
||||
// 详情弹框配置
|
||||
dialogConfig,
|
||||
getInventoryWarehousingApi,
|
||||
sendParams: {},
|
||||
detailsList: [],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
|
@ -1447,6 +1477,25 @@ export default {
|
|||
this.codeForm.proId = val
|
||||
// console.log('🚀 ~ changeProList ~ this.codeForm:', this.codeForm.proId);
|
||||
},
|
||||
|
||||
/**
|
||||
* -----------------------------------------------------------------------------------------------------------------------------
|
||||
*/
|
||||
/* 查看详情 */
|
||||
async queryDetails(row) {
|
||||
this.sendParams.kindName = row.kindName
|
||||
const { data: res } = await getInventoryWarehousingApi(
|
||||
this.sendParams,
|
||||
)
|
||||
this.detailsList = res.rows
|
||||
console.log(res, '详情--')
|
||||
// this.dialogConfig.outerVisible = true
|
||||
},
|
||||
|
||||
/* 外层弹框关闭 */
|
||||
closeDialogOuter() {
|
||||
this.dialogConfig.outerVisible = false
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue