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:
csyue 2024-05-28 18:36:05 +08:00
commit 84d718b9bc
20 changed files with 435 additions and 251 deletions

View File

@ -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)) {

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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);
}

View File

@ -27,4 +27,11 @@ public interface InventoryAndWarehousingService {
* @return
*/
AjaxResult savePutInfo(SavePutInfoDto dto);
/**
* 根据入库单号查看详情
* @param bean
* @return
*/
List<PutInStorageBean> getDetails(PutInStorageBean bean);
}

View File

@ -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

View File

@ -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>

View File

@ -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
})
}

View File

@ -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

View File

@ -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: '设备编码' },

View File

@ -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: '设备编码' },

View File

@ -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: '任务创建人' },

View File

@ -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: '设备编码' },

View File

@ -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>
},
}
</>

View File

@ -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: '设备编码' },

View File

@ -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: '设备编码' },

View File

@ -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: '设备编码' },

View File

@ -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: '设备编码' },

View File

@ -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: '入库日期' },
],
}

View File

@ -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>