This commit is contained in:
BianLzhaoMin 2024-04-20 14:54:34 +08:00
commit b9d2ebd10a
48 changed files with 2037 additions and 2178 deletions

View File

@ -112,7 +112,7 @@ public class BmProjectInfoController extends BaseController{
public AjaxResult edit(@Validated @RequestBody BmProjectInfo bmProjectInfo)
{
return toAjax(bmProjectInfoService.updateBmProjectInfo(bmProjectInfo));
return bmProjectInfoService.updateBmProjectInfo(bmProjectInfo);
}
@Log(title = "项目管理导出", businessType = BusinessType.EXPORT)

View File

@ -85,7 +85,7 @@ public class BmProjectLotController extends BaseController {
@PutMapping
public AjaxResult edit(@Validated @RequestBody BmProjectLot bmProjectLot) {
return toAjax(bmProjectLotService.updateBmProjectLot(bmProjectLot));
return bmProjectLotService.updateBmProjectLot(bmProjectLot);
}
}

View File

@ -14,6 +14,7 @@ import com.bonus.sgzb.common.security.utils.SecurityUtils;
import com.bonus.sgzb.system.api.domain.SysUser;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
@ -33,6 +34,7 @@ import java.util.stream.Collectors;
@Api(tags = "往来单位")
@RestController
@RequestMapping("/bmUnitInfo")
@Slf4j
public class BmUnitInfoController extends BaseController{
@Autowired
@ -106,6 +108,7 @@ public class BmUnitInfoController extends BaseController{
@PostMapping
public AjaxResult unitInfoAdd(@Validated @RequestBody BmUnitInfo bmUnitInfo)
{
log.info("新增往来单位参数:{}", bmUnitInfo);
return bmUnitInfoService.unitInfoAdd(bmUnitInfo);
}

View File

@ -21,5 +21,5 @@ public interface BmProjectInfoMapper {
public int deleteProjectInfoById(Long proId);
int selectByName(String proName);
BmProjectInfo selectByName(String proName);
}

View File

@ -20,5 +20,5 @@ public interface BmProjectLotMapper {
public int deleteProjectLotById(Long lotId);
int selectByName(String lotName);
BmProjectLot selectByName(String lotName);
}

View File

@ -26,5 +26,5 @@ public interface BmUnitInfoMapper {
public int deleteUnitInfoById(Long unitId);
Integer selectByName(String unitName);
BmUnitInfo selectByName(String unitName);
}

View File

@ -82,5 +82,5 @@ public interface SysDicMapper
* @param name
* @return
*/
Integer selectByName(String name);
SysDic selectByName(String name);
}

View File

@ -16,7 +16,7 @@ public interface BmProjectInfoService {
public void remove(Long[] proIds);
public int updateBmProjectInfo(BmProjectInfo bmProjectInfo);
public AjaxResult updateBmProjectInfo(BmProjectInfo bmProjectInfo);
public int deleteProjectInfoById(Long proId);

View File

@ -15,7 +15,7 @@ public interface BmProjectLotService {
public void remove(Long[] proIds);
public int updateBmProjectLot(BmProjectLot bmProjectLot);
public AjaxResult updateBmProjectLot(BmProjectLot bmProjectLot);
public int deleteProjectLotById(Long lotId);

View File

@ -34,8 +34,8 @@ public class BmProjectInfoServiceImpl implements BmProjectInfoService {
@Override
public AjaxResult projectInfoAdd(BmProjectInfo bmProjectInfo) {
int count = bmProjectInfoMapper.selectByName(bmProjectInfo.getProName());
if (count != 0) {
BmProjectInfo info = bmProjectInfoMapper.selectByName(bmProjectInfo.getProName());
if (StringUtils.isNotNull(info)) {
return AjaxResult.error("新增工程项目名称重复,请重新提交!!!");
}
return AjaxResult.success(bmProjectInfoMapper.projectInfoAdd(bmProjectInfo));
@ -47,8 +47,14 @@ public class BmProjectInfoServiceImpl implements BmProjectInfoService {
}
@Override
public int updateBmProjectInfo(BmProjectInfo bmProjectInfo) {
return bmProjectInfoMapper.updateBmProjectInfo(bmProjectInfo);
public AjaxResult updateBmProjectInfo(BmProjectInfo bmProjectInfo) {
if (StringUtils.isNotEmpty(bmProjectInfo.getProName())) {
BmProjectInfo info = bmProjectInfoMapper.selectByName(bmProjectInfo.getProName());
if (StringUtils.isNotNull(info) && info.getProId() != bmProjectInfo.getProId()) {
return AjaxResult.error("修改工程项目名称重复,请重新提交!!!");
}
}
return AjaxResult.success(bmProjectInfoMapper.updateBmProjectInfo(bmProjectInfo));
}
@Override

View File

@ -4,6 +4,7 @@ package com.bonus.sgzb.base.service.impl;
import com.bonus.sgzb.base.domain.BmProjectLot;
import com.bonus.sgzb.base.mapper.BmProjectLotMapper;
import com.bonus.sgzb.base.service.BmProjectLotService;
import com.bonus.sgzb.common.core.utils.StringUtils;
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -30,8 +31,8 @@ public class BmProjectLotServiceImpl implements BmProjectLotService {
@Override
public AjaxResult projectLotAdd(BmProjectLot bmProjectLot) {
int count = bmProjectLotMapper.selectByName(bmProjectLot.getLotName());
if (count != 0) {
BmProjectLot info = bmProjectLotMapper.selectByName(bmProjectLot.getLotName());
if (StringUtils.isNotNull(info)) {
return AjaxResult.error("新增标段工程名称重复,请重新提交!!!");
}
return AjaxResult.success(bmProjectLotMapper.projectLotAdd(bmProjectLot));
@ -43,8 +44,14 @@ public class BmProjectLotServiceImpl implements BmProjectLotService {
}
@Override
public int updateBmProjectLot(BmProjectLot bmProjectLot) {
return bmProjectLotMapper.updateBmProjectLot(bmProjectLot);
public AjaxResult updateBmProjectLot(BmProjectLot bmProjectLot) {
if (StringUtils.isNotEmpty(bmProjectLot.getLotName())) {
BmProjectLot info = bmProjectLotMapper.selectByName(bmProjectLot.getLotName());
if (StringUtils.isNotNull(info) && info.getLotId() != bmProjectLot.getLotId()) {
return AjaxResult.error("修改标段工程名称重复,请重新提交!!!");
}
}
return AjaxResult.success(bmProjectLotMapper.updateBmProjectLot(bmProjectLot));
}
@Override

View File

@ -46,8 +46,8 @@ public class BmUnitInfoServiceImpl implements BmUnitInfoService {
@Override
public AjaxResult unitInfoAdd(BmUnitInfo bmUnitInfo) {
Integer count = bmUnitInfoMapper.selectByName(bmUnitInfo.getUnitName());
if (count != 0) {
BmUnitInfo info = bmUnitInfoMapper.selectByName(bmUnitInfo.getUnitName());
if (StringUtils.isNotNull(info)) {
return AjaxResult.error("新增往来单位名称重复,请重新提交!!!");
}
return AjaxResult.success(bmUnitInfoMapper.unitInfoAdd(bmUnitInfo));
@ -60,9 +60,11 @@ public class BmUnitInfoServiceImpl implements BmUnitInfoService {
@Override
public AjaxResult updateBmUnitInfo(BmUnitInfo bmUnitInfo) {
Integer count = bmUnitInfoMapper.selectByName(bmUnitInfo.getUnitName());
if (count != 0) {
return AjaxResult.error("往来单位名称已经存在,请重新修改提交!!!");
if (StringUtils.isNotEmpty(bmUnitInfo.getUnitName())) {
BmUnitInfo info = bmUnitInfoMapper.selectByName(bmUnitInfo.getUnitName());
if (StringUtils.isNotNull(info) && info.getUnitId() != bmUnitInfo.getUnitId()) {
return AjaxResult.error("往来单位名称已经存在,请重新修改提交!!!");
}
}
return AjaxResult.success(bmUnitInfoMapper.updateBmUnitInfo(bmUnitInfo));
}

View File

@ -56,15 +56,15 @@ public class MaintenanceGangServiceImpl implements MaintenanceGangService {
@Override
public int deleteByIds(MaintenanceGang bean) {
int i = 0;
int i = 1;
if(StringHelper.isNotEmpty(bean.getType())){
if("1".equals(bean.getType())){
i = MaintenanceGangMapper.deleteByIds(bean.getTypeIds());
MaintenanceGangMapper.deleteByIds(bean.getTypeIds());
}else{
if(StringHelper.isNotEmpty(bean.getTypeIds())){
List<MaintenanceGang> list = new ArrayList<>();
String[] splitTypeIds = bean.getTypeIds().split("@");
i = MaintenanceGangMapper.deleteByIdsAll(splitTypeIds);
MaintenanceGangMapper.deleteByIdsAll(splitTypeIds);
}
}
}

View File

@ -7,6 +7,7 @@ import com.bonus.sgzb.base.domain.BmUnitType;
import com.bonus.sgzb.base.mapper.SysDicMapper;
import com.bonus.sgzb.base.service.ISysDicService;
import com.bonus.sgzb.common.core.utils.DateUtils;
import com.bonus.sgzb.common.core.utils.StringUtils;
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -79,8 +80,8 @@ public class SysDicServiceImpl implements ISysDicService
public AjaxResult insertSysDic(SysDic sysDic)
{
sysDic.setCreateTime(DateUtils.getNowDate());
Integer count = sysDicMapper.selectByName(sysDic.getName());
if (count != 0) {
SysDic info = sysDicMapper.selectByName(sysDic.getName());
if (StringUtils.isNotNull(info)) {
return AjaxResult.error("新增单位类型名称重复,请重新提交!!!");
}
return AjaxResult.success(sysDicMapper.insertSysDic(sysDic));
@ -95,8 +96,8 @@ public class SysDicServiceImpl implements ISysDicService
@Override
public AjaxResult updateSysDic(SysDic sysDic)
{
Integer count = sysDicMapper.selectByName(sysDic.getName());
if (count != 0) {
SysDic info = sysDicMapper.selectByName(sysDic.getName());
if (StringUtils.isNotNull(info) && info.getId().longValue() != sysDic.getId()) {
return AjaxResult.error("单位类型名称已经存在,请重新修改提交!!!");
}
return AjaxResult.success(sysDicMapper.updateSysDic(sysDic));

View File

@ -58,15 +58,15 @@ public class WarehouseKeeperServiceImpl implements WarehouseKeeperService {
@Override
public int deleteByIds(WarehouseKeeper bean) {
int i = 0;
int i = 1;
if(StringHelper.isNotEmpty(bean.getType())){
if("1".equals(bean.getType())){
i = warehouseKeeperMapper.deleteByIds(bean.getTypeIds());
warehouseKeeperMapper.deleteByIds(bean.getTypeIds());
}else{
if(StringHelper.isNotEmpty(bean.getTypeIds())){
List<WarehouseKeeper> list = new ArrayList<>();
String[] splitTypeIds = bean.getTypeIds().split("@");
i = warehouseKeeperMapper.deleteByIdsAll(splitTypeIds);
warehouseKeeperMapper.deleteByIdsAll(splitTypeIds);
}
}
}

View File

@ -138,8 +138,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and a.company_id = #{companyId}
</if>
</select>
<select id="selectByName" resultType="java.lang.Integer">
select count(*) from bm_project_info
<select id="selectByName" resultType="com.bonus.sgzb.base.domain.BmProjectInfo">
select * from bm_project_info
where
1 = 1
<if test="proName != null and proName != ''">and pro_name = #{proName}</if>

View File

@ -86,12 +86,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if>
ORDER BY a.lot_id DESC
</select>
<select id="selectByName" resultType="java.lang.Integer">
select count(*) from bm_project_lot
<select id="selectByName" resultType="com.bonus.sgzb.base.domain.BmProjectLot">
select * from bm_project_lot
where
1 = 1
<if test="lotName != null and lotName != ''">and lot_name = #{lotName}</if>
</select>
<insert id="projectLotAdd" parameterType="com.bonus.sgzb.base.domain.BmProjectLot">
insert into bm_project_lot (
<if test="lotName != null and lotName != '' ">lot_name,</if>

View File

@ -171,8 +171,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND type_name = #{typeName}
</if>
</select>
<select id="selectByName" resultType="java.lang.Integer">
select count(*) from bm_unit_info
<select id="selectByName" resultType="com.bonus.sgzb.base.domain.BmUnitInfo">
select * from bm_unit_info
where
1 = 1
<if test="unitName != null and unitName != '' ">and unit_name = #{unitName}</if>

View File

@ -63,12 +63,13 @@
<include refid="selectSysDicVo"/>
where id = '0'
</select>
<select id="selectByName" resultType="java.lang.Integer">
select count(*) from sys_dic
where
1 = 1
<if test="name != null and name != ''">and name = #{name}</if>
<select id="selectByName" resultType="com.bonus.sgzb.base.api.domain.SysDic">
select * from sys_dic
where
1 = 1
<if test="name != null and name != ''">and name = #{name}</if>
</select>
<insert id="insertSysDic" parameterType="com.bonus.sgzb.base.api.domain.SysDic">
insert into sys_dic
<trim prefix="(" suffix=")" suffixOverrides=",">

View File

@ -130,7 +130,7 @@ public class PlanManagementController extends BaseController {
*/
@ApiOperation("根据id删除计划管理")
@DeleteMapping("/deleteById/{planId}")
public AjaxResult addOrUpdate(@PathVariable(name = "计划ID",value = "planId") Long planId){
public AjaxResult addOrUpdate(@PathVariable(value = "planId") Long planId){
return AjaxResult.success(planManagementService.deleteById(planId));
}

View File

@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author lsun
@ -129,4 +130,9 @@ public class AgreementInfo extends BaseEntity {
private String cost;
@ApiModelProperty(value = "结算状态")
private String sltStatus;
/** 导出选中列表 */
@ApiModelProperty(value = "导出选中列表")
private List<Long> dataCondition;
}

View File

@ -121,6 +121,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="projectId != null and projectId != ''">
and bp.lot_id = #{projectId}
</if>
<if test="dataCondition != null and dataCondition.size()>0">
AND bai.agreement_id in
<foreach collection="dataCondition" item="agreementId" index="index" open="(" separator="," close=")">
#{agreementId}
</foreach>
</if>
ORDER BY bai.agreement_id DESC
</select>

View File

@ -688,6 +688,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="time != null and time != ''">
and bai.back_time =#{time}
</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
<![CDATA[AND DATE_FORMAT( bai.back_time, '%Y-%m-%d' ) BETWEEN #{startTime} AND #{endTime} ]]>
</if>
GROUP BY bai.id, us.user_name, bai.phone, bpl.lot_name, bui.unit_name, bagi.plan_start_time
ORDER BY bai.create_time desc
</select>

View File

@ -576,6 +576,7 @@ export default {
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.agreementId)
console.log(this.ids)
this.single = selection.length != 1
this.multiple = !selection.length
},
@ -662,13 +663,17 @@ export default {
},
/** 导出按钮操作 */
handleExport() {
this.download(
'material/agreementInfo/export',
{
...this.queryParams,
},
`协议_${new Date().getTime()}.xlsx`
)
if (this.ids.length) {
this.download(
'material/agreementInfo/export',
{
dataCondition: this.ids,
},
`协议_${new Date().getTime()}.xlsx`
)
} else {
this.$modal.msgWarning('请选择要导出的数据')
}
},
},
}

View File

@ -327,7 +327,7 @@ export default {
},
}
},
created() {
mounted() {
this.GetUserInfo()
this.GetUnitData()

View File

@ -1,5 +1,5 @@
<template>
<div class="app-container" id="receiveExamine">
<div class="app-container" id="ReceiveExamine">
<el-row :gutter="10" class="mb8">
<h3>{{ queryParams.applyFor }}提交的领料申请</h3>
<div>领料单号{{ queryParams.code }}</div>
@ -315,7 +315,7 @@
} from '@/api/claimAndRefund/receive'
import { mapState } from 'vuex'
export default {
name: 'ReceiveExamine',
name: 'receiveExamine',
data() {
return {
flowPath: [
@ -423,7 +423,7 @@
computed: {
...mapState(['user']),
},
created() {
mounted() {
let taskId = this.$route.query.taskId
let isView = this.$route.query.isView
this.isView = false

View File

@ -197,7 +197,7 @@
label="任务状态"
align="center"
prop="taskName"
:show-overflow-tooltip="true"
:show-overflow-tooltip="true" width="150"
/>
<el-table-column
label="审批意见 "

View File

@ -356,7 +356,7 @@ export default {
}
};
},
created() {
mounted() {
this.GetUserInfo()
this.GetUnitData()
@ -604,7 +604,9 @@ export default {
v = Object.assign(v,this.queryParams.leaseApplyInfo)
this.$set(v,'leaseApplyDetails',this.queryParams.leaseApplyDetails)
})
if(this.$route.query.isBack){
this.queryParams.souceByRefuse=1
}
const params = {
...this.queryParams,taskId:this.taskId,
leaseApplyInfoList:this.leaseApplyInfoList

View File

@ -175,14 +175,7 @@
<p class="time">申请时间{{queryParams.updateTimes}}</p>
</el-card>
</el-timeline-item>
<el-timeline-item
v-for="(v,i) in flowPath"
:type="v.type"
:color="v.color"
:icon="v.icon"
:key="i"
placement="top"
>
<el-timeline-item v-for="(v,i) in flowPath" :type="v.type" :color="v.color" :icon="v.icon" :key="i" placement="top">
<el-card>
<p class="title">{{v.name}}</p>
<p class="author" v-if="queryParams[v.authorKey]">审核人{{queryParams[v.authorKey]}}</p>
@ -285,7 +278,7 @@ import {
} from '@/api/claimAndRefund/receive'
import { mapState } from 'vuex'
export default {
name: 'ReceiveExamine',
name: 'receiveExamine',
data() {
return {
flowPath: [
@ -313,9 +306,9 @@ export default {
{
id: 117,
name: '机具分公司确认',
remarkKey: 'directAuditRemark',
authorKey: 'directAuditBy',
timeKey: 'directAuditTime',
// remarkKey: 'deptAuditRemark',
// authorKey: 'deptAuditBy',
// timeKey: '',
},
],
isView: false,
@ -382,14 +375,14 @@ export default {
computed: {
...mapState(['user']),
},
created() {
mounted() {
let taskId = this.$route.query.taskId
let isView = this.$route.query.isView
console.log("mounted")
this.isView = false
if (isView) {
this.isView = true
}
// console.log(isView)
if (taskId) {
this.getData(taskId)
}
@ -482,7 +475,9 @@ export default {
},
/** 查询 */
async getData(taskId) {
this.loading=true;
const res = await getLeaseListAllCq({ taskId })
this.loading=false;
this.queryParams = { ...this.queryParams, ...res.rows[0] }
this.$set(this.queryParams, 'leaseApplyInfo', this.queryParams.leaseApplyInfoList[0])
this.queryParams.leaseApplyDetails.forEach(v => {
@ -520,7 +515,7 @@ export default {
this.flowPath[2].icon = 'el-icon-check'
}
// console.log(this.flowPath)
if (this.queryParams.examineStatusId == 98) {
if (this.queryParams.examineStatusId == 99) {
this.flowPath[0].color = 'red'
this.flowPath[0].icon = 'el-icon-close'
this.flowPath[1].color = ''
@ -529,16 +524,25 @@ export default {
this.flowPath[2].color = ''
this.flowPath[2].icon = ''
}
if (this.queryParams.examineStatusId == 99) {
if (this.queryParams.examineStatusId == 100) {
this.flowPath[1].color = 'red'
this.flowPath[1].icon = 'el-icon-close'
this.flowPath[2].color = ''
this.flowPath[2].icon = ''
}
if (this.queryParams.examineStatusId == 100) {
this.flowPath[2].color = 'red'
this.flowPath[2].icon = 'el-icon-close'
// if (this.queryParams.examineStatusId == 100) {
// this.flowPath[2].color = 'red'
// this.flowPath[2].icon = 'el-icon-close'
// }
if(this.queryParams.leaseType=='1'){
this.flowPath = [this.flowPath[2]]
}else{
this.flowPath = this.flowPath
}
},
//
cancel() {

View File

@ -117,7 +117,7 @@
prop="createTimes"
:show-overflow-tooltip="true"
/>
<el-table-column label="任务状态" align="center" prop="taskName" :show-overflow-tooltip="true" />
<el-table-column label="任务状态" align="center" prop="taskName" :show-overflow-tooltip="true" width="150"/>
<!-- <el-table-column label="审批结果 " align="center" prop="dictName" :show-overflow-tooltip="true" />-->
<el-table-column label="备注" align="center" :show-overflow-tooltip="true">
<template slot-scope="scope">
@ -503,6 +503,7 @@ export default {
// this.title = "";
},
handleExamine(row, type) {
this.$tab.closePage({path: '/claimAndRefund/receiveByCq/receiveExamine'})
this.$tab.closeOpenPage({
path: '/claimAndRefund/receiveByCq/receiveExamine',
query: {
@ -511,6 +512,7 @@ export default {
})
},
handleView(row) {
this.$tab.closePage({path: '/claimAndRefund/receiveByCq/receiveExamine?isView=true'})
this.$tab.closeOpenPage({
path: '/claimAndRefund/receiveByCq/receiveExamine?isView=true',
query: {

View File

@ -654,13 +654,25 @@
proList: [],
taskStatusList: [
{
name: '待审核',
name: '待退料审核',
id: '37',
},
{
name: '已审核',
name: '退料审核通过',
id: '38',
},
{
name: '退料核查中',
id: '39',
},
{
name: '退料完成',
id: '40',
},
{
name: '退料审核驳回',
id: '101',
},
],
rowObj: {},
loadingType: '',
@ -677,6 +689,7 @@
methods: {
getTree() {
listPartTypeApi().then((response) => {
console.log('🚀 ~ listPartTypeApi ~ response:', response);
this.deptList = response.data
})
},

View File

@ -12,35 +12,25 @@
<el-form-item label="退料单位" prop="unitId">
<el-select
v-model="queryParams.unitId"
clearable filterable
clearable
filterable
@change="GetProData"
style="width: 240px"
placeholder="请选择"
>
<el-option
v-for="item in unitList"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
<el-option v-for="item in unitList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="退料工程" prop="proId">
<el-select
v-model="queryParams.proId"
clearable filterable
clearable
filterable
@change="GetUnitData"
style="width: 240px"
placeholder="请选择"
>
<el-option
v-for="item in proList"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
<el-option v-for="item in proList" :key="item.id" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="协议号" prop="agreementCode">
@ -71,14 +61,14 @@
type="date"
value-format="yyyy-MM-dd"
placeholder="选择时间"
>
</el-date-picker>
></el-date-picker>
</el-form-item>
<el-form-item label="退料人电话" prop="phone">
<el-input
v-model="queryParams.phone"
placeholder="请输入退料人电话"
clearable maxlength="11"
clearable
maxlength="11"
style="width: 240px"
/>
</el-form-item>
@ -94,29 +84,15 @@
/>
</el-form-item>
</el-row>
<el-row> </el-row>
<el-row></el-row>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-back"
size="mini"
@click="handleBack"
>退料管理</el-button
>
<el-button type="success" plain icon="el-icon-back" size="mini" @click="handleBack">退料管理</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>保存</el-button
>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">保存</el-button>
</el-col>
<el-col :span="1.5">
@ -127,12 +103,9 @@
size="mini"
@click="handleExport"
v-hasPermi="['system:role:export']"
>导出</el-button> -->
>导出</el-button>-->
</el-col>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table
@ -140,52 +113,27 @@
:data="leaseApplyDetails"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" min-width="55" align="center" :selectable="selectable"/>
<el-table-column type="selection" min-width="55" align="center" :selectable="selectable" />
<el-table-column label="序号" type="index" min-width="120" />
<el-table-column
label="类型名称"
prop="typeName"
min-width="200"
:show-overflow-tooltip="true"
/>
<el-table-column
label="规格型号"
prop="typeCode"
min-width="200"
:show-overflow-tooltip="true"
/>
<el-table-column label="类型名称" prop="typeName" min-width="200" :show-overflow-tooltip="true" />
<el-table-column label="规格型号" prop="typeCode" min-width="200" :show-overflow-tooltip="true" />
<el-table-column label="计量单位" prop="unitNames" min-width="100" />
<el-table-column
label="当前在用量"
align="center"
prop="useNum"
min-width="180"
>
</el-table-column>
<el-table-column
label="退料数量"
align="center"
prop="createTime"
min-width="180"
>
<el-table-column label="当前在用量" align="center" prop="num" min-width="180"></el-table-column>
<el-table-column label="退料数量" align="center" prop="createTime" min-width="180">
<template slot-scope="scope">
<el-input
v-model.number="scope.row.num"
placeholder="请输入退料数量"
type="number"
min="1"
clearable @input="checkNum(scope.row)"
clearable
@input="checkNum(scope.row)"
style="width: 100%"
/>
</template>
</el-table-column>
<el-table-column
label="备注"
align="center"
prop="remark"
min-width="180"
>
<el-table-column label="备注" align="center" prop="remark" min-width="180">
<template slot-scope="scope">
<el-input
v-model="scope.row.remark"
@ -216,8 +164,7 @@
type="text"
icon="el-icon-delete"
@click="handleDelete({ ...scope.row, index: scope.$index })"
>删除</el-button
>
>删除</el-button>
</template>
</el-table-column>
</el-table>
@ -225,8 +172,8 @@
</template>
<script>
import { getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role";
import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
import { getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from '@/api/system/role'
import { treeselect as menuTreeselect, roleMenuTreeselect } from '@/api/system/menu'
import {
getProData,
getUnitData,
@ -234,28 +181,26 @@ import {
getAgreementInfoById,
submitLeaseApply,
getUseTypeTreee,
getUseNumByTypeId
getUseNumByTypeId,
} from '@/api/claimAndRefund/receive'
import { ApiSubmitBackApply } from "@/api/claimAndRefund/return"
import { submitBackApplyApi,materialReturnNoteByApply,submitRefuseBackApply } from "@/api/claimAndRefund/return.js"
import { ApiSubmitBackApply } from '@/api/claimAndRefund/return'
import { submitBackApplyApi, materialReturnNoteByApply, submitRefuseBackApply } from '@/api/claimAndRefund/return.js'
import { mapState } from 'vuex'
import {
getInfo, h
} from "@/api/login";
import { getInfo, h } from '@/api/login'
export default {
name: "ReturnApplyAdd",
name: 'ReturnApplyAdd',
data() {
const validatePhone = (rule, value, callback) => {
if (!value) {
callback(new Error("退料人电话不能为空"));
// this.$message.error("");
callback(new Error('退料人电话不能为空'))
// this.$message.error("");
} else if (value.length < 11) {
callback(new Error("电话号码格式不正确"));
// this.$message.error("");
callback(new Error('电话号码格式不正确'))
// this.$message.error("");
} else {
callback();
callback()
}
};
}
return {
//
loading: false,
@ -272,7 +217,7 @@ export default {
//
roleList: [],
//
title: "",
title: '',
//
open: false,
//
@ -286,25 +231,25 @@ export default {
//
dataScopeOptions: [
{
value: "1",
label: "全部数据权限"
value: '1',
label: '全部数据权限',
},
{
value: "2",
label: "自定数据权限"
value: '2',
label: '自定数据权限',
},
{
value: "3",
label: "本部门数据权限"
value: '3',
label: '本部门数据权限',
},
{
value: "4",
label: "本部门及以下数据权限"
value: '4',
label: '本部门及以下数据权限',
},
{
value: "5",
label: "仅本人数据权限"
}
value: '5',
label: '仅本人数据权限',
},
],
//
menuOptions: [],
@ -312,7 +257,6 @@ export default {
deptOptions: [],
//
queryParams: {
types: 2,
unitId: null,
@ -323,15 +267,15 @@ export default {
createBy: '', //
taskType: 29,
taskStatus: 30,
backTime: '',//
backTime: '', //
//退
leaseApplyInfo: {
backPerson: '',
phone: '',
remark: ''
remark: '',
},
//退
leaseApplyDetails: []
leaseApplyDetails: [],
},
leaseApplyDetails: [],
//退
@ -343,7 +287,7 @@ export default {
typeName: '', //
typeCode: '', //
unitNames: '', //
useNum: '', //
num: '', //
remark: '', //
preNum: 1, //
},
@ -351,28 +295,38 @@ export default {
queryRules: {
unitId: [
{
required: true, message: '请选择退料单位', trigger: 'change', type: 'number'
}
required: true,
message: '请选择退料单位',
trigger: 'change',
type: 'number',
},
],
proId: [
{
required: true, message: '请选择退料工程', trigger: 'change', type: 'number'
}
required: true,
message: '请选择退料工程',
trigger: 'change',
type: 'number',
},
],
backPerson: [
{
required: true, message: '请输入退料人', trigger: 'blur',
}
required: true,
message: '请输入退料人',
trigger: 'blur',
},
],
backTime: [
{
required: true, message: '请选择退料时间', trigger: 'change',
}
required: true,
message: '请选择退料时间',
trigger: 'change',
},
],
phone: [
{required: true, message: '请输入退料人手机号', trigger: 'change'},
{ validator: validatePhone, trigger: "blur" },
{ min: 11, message: "手机号不足11位", trigger: "blur" },
{ required: true, message: '请输入退料人手机号', trigger: 'change' },
{ validator: validatePhone, trigger: 'blur' },
{ min: 11, message: '手机号不足11位', trigger: 'blur' },
],
},
unitList: [], //
@ -383,7 +337,7 @@ export default {
children: 'children',
label: 'typeName',
// multiple: false,
value: 'typeId'
value: 'typeId',
},
//
deviceType: null,
@ -396,29 +350,23 @@ export default {
// },
//
rules: {
roleName: [
{ required: true, message: "角色名称不能为空", trigger: "blur" }
],
roleKey: [
{ required: true, message: "权限字符不能为空", trigger: "blur" }
],
roleSort: [
{ required: true, message: "角色顺序不能为空", trigger: "blur" }
]
roleName: [{ required: true, message: '角色名称不能为空', trigger: 'blur' }],
roleKey: [{ required: true, message: '权限字符不能为空', trigger: 'blur' }],
roleSort: [{ required: true, message: '角色顺序不能为空', trigger: 'blur' }],
},
companyId: '',
createBy: '',
isEdit:'true',
rowId:''
};
isEdit: 'true',
rowId: '',
}
},
created() {
mounted() {
this.GetUnitData()
this.GetProData()
this.GetDeviceTypeTreeFn()
// this.GetDeviceTypeTreeFn()
// this.getList();
// console.log('this.$route.query.isEdit', this.$route.query.isEdit)
this.isEdit = this.$route.query.isEdit;
this.isEdit = this.$route.query.isEdit
if (this.$route.query.Id) {
this.rowId = this.$route.query.Id
this.returnNoteByApply(this.$route.query.Id)
@ -429,13 +377,14 @@ export default {
})
},
computed: {
...mapState(['user'])
...mapState(['user']),
},
methods: {
//
async GetUnitData() {
this.leaseApplyDetails.splice(0, this.leaseApplyDetails.length)
const params = {
id: this.queryParams.proId/* */
id: this.queryParams.proId /* */,
}
const res = await getUnitData(params)
this.unitList = res.data
@ -444,8 +393,9 @@ export default {
},
//
async GetProData() {
this.leaseApplyDetails.splice(0, this.leaseApplyDetails.length)
const params = {
id: this.queryParams.unitId
id: this.queryParams.unitId,
}
const res = await getProData(params)
this.proList = res.data
@ -455,12 +405,12 @@ export default {
//
async GetDeviceTypeTreeFn(agreementId) {
const params = {
agreementId: agreementId
agreementId: agreementId,
// this.agreementId
}
const res = await getUseTypeTreee(params)
console.log("resgetUseTypeTreee==========", res)
console.log('resgetUseTypeTreee==========', res)
this.deviceTypeTree = res.data
},
// id
@ -468,11 +418,11 @@ export default {
if (this.queryParams.unitId && this.queryParams.proId) {
const params = {
unitId: this.queryParams.unitId,
projectId: this.queryParams.proId
projectId: this.queryParams.proId,
}
const res = await getAgreementInfoById(params)
if (!(res.data && res.data.agreementId)) {
this.$message.error('当前单位和工程未上传');
this.$message.error('当前单位和工程未上传')
this.queryParams.unitId = null
this.queryParams.proId = null
this.GetUnitData()
@ -481,20 +431,19 @@ export default {
this.queryParams.agreementId = res.data.agreementId
this.queryParams.agreementCode = res.data.agreementCode
this.GetDeviceTypeTreeFn(res.data.agreementId)
}
}
},
//
async returnNoteByApply(Id) {
const res = await materialReturnNoteByApply({ id:Id })
const res = await materialReturnNoteByApply({ id: Id })
const data = res.data[0]
// console.log(data)
// this.queryParams.taskId = data.taskId
this.queryParams.unitId = data.unitId
this.queryParams.proId = Number(data.proId)
this.$set(this.queryParams,'phone',data.phone)
this.$set(this.queryParams, 'phone', data.phone)
this.queryParams.backPerson = data.backPerson
this.queryParams.backTime = data.backTime
this.queryParams.agreementCode = data.agreementCode
@ -502,11 +451,10 @@ export default {
this.queryParams.remark = data.remark
this.leaseApplyDetails = res.data
this.GetDeviceTypeTreeFn(data.agreementId)
},
//
handelEchoData(item) {
console.log('item======', item);
console.log('item======', item)
const template = JSON.parse(JSON.stringify(this.leaseApplyDetailsItem))
template.createBy = item.createBy
template.parentId = item.data.parentId
@ -522,106 +470,100 @@ export default {
return template
},
/** 查询角色列表 */
async getList() {
},
async getList() {},
/** 查询菜单树结构 */
getMenuTreeselect() {
menuTreeselect().then(response => {
this.menuOptions = response.data;
});
this.menuOptions = response.data
})
},
//
getMenuAllCheckedKeys() {
//
let checkedKeys = this.$refs.menu.getCheckedKeys();
let checkedKeys = this.$refs.menu.getCheckedKeys()
//
let halfCheckedKeys = this.$refs.menu.getHalfCheckedKeys();
checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
return checkedKeys;
let halfCheckedKeys = this.$refs.menu.getHalfCheckedKeys()
checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys)
return checkedKeys
},
//
getDeptAllCheckedKeys() {
//
let checkedKeys = this.$refs.dept.getCheckedKeys();
let checkedKeys = this.$refs.dept.getCheckedKeys()
//
let halfCheckedKeys = this.$refs.dept.getHalfCheckedKeys();
checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
return checkedKeys;
let halfCheckedKeys = this.$refs.dept.getHalfCheckedKeys()
checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys)
return checkedKeys
},
/** 根据角色ID查询菜单树结构 */
getRoleMenuTreeselect(roleId) {
return roleMenuTreeselect(roleId).then(response => {
this.menuOptions = response.menus;
return response;
});
this.menuOptions = response.menus
return response
})
},
/** 根据角色ID查询部门树结构 */
getDeptTree(roleId) {
return deptTreeSelect(roleId).then(response => {
this.deptOptions = response.depts;
return response;
});
this.deptOptions = response.depts
return response
})
},
//
//
cancel() {
this.open = false;
this.reset();
this.open = false
this.reset()
},
//
cancelDataScope() {
this.openDataScope = false;
this.reset();
this.openDataScope = false
this.reset()
},
//
reset() {
if (this.$refs.menu != undefined) {
this.$refs.menu.setCheckedKeys([]);
this.$refs.menu.setCheckedKeys([])
}
this.menuExpand = false,
this.menuNodeAll = false,
this.deptExpand = true,
this.deptNodeAll = false,
this.form = {
;(this.menuExpand = false),
(this.menuNodeAll = false),
(this.deptExpand = true),
(this.deptNodeAll = false),
(this.form = {
roleId: undefined,
roleName: undefined,
roleKey: undefined,
roleSort: 0,
status: "0",
status: '0',
menuIds: [],
deptIds: [],
menuCheckStrictly: true,
deptCheckStrictly: true,
remark: undefined
};
this.resetForm("form");
remark: undefined,
})
this.resetForm('form')
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.dateRange = [];
this.resetForm("queryForm");
this.handleQuery();
this.dateRange = []
this.resetForm('queryForm')
this.handleQuery()
},
//
selectable(row) {
console.log(row)
if (row.useNum != 0) {
return true
} else {
return false
}
console.log(row)
if (row.num != 0) {
return true
} else {
return false
}
},
//
handleSelectionChange(selection) {
@ -630,37 +572,35 @@ export default {
//
handleCommand(command, row) {
switch (command) {
case "handleDataScope":
this.handleDataScope(row);
break;
case "handleAuthUser":
this.handleAuthUser(row);
break;
case 'handleDataScope':
this.handleDataScope(row)
break
case 'handleAuthUser':
this.handleAuthUser(row)
break
default:
break;
break
}
},
/** 保存按钮操作 */
handleAdd() {
this.$refs.queryForm.validate(async (valid) => {
this.$refs.queryForm.validate(async valid => {
if (!valid) {
return false
} else {
let backApplyInfo = []
if (this.queryParams.leaseApplyDetails.length == 0) {
this.$message.error('请添加数据');
this.$message.error('请添加数据')
return
}
// const isRemark = this.queryParams.leaseApplyDetails.some(
// (item) => item.remark == '' || item.remark == undefined
// );
const isNum = this.queryParams.leaseApplyDetails.some(
(item) => item.num == '' || item.num == undefined
);
const isNum = this.queryParams.leaseApplyDetails.some(item => item.num == '' || item.num == undefined)
if (isNum) {
this.$message.error('退料数量不能为空!');
return;
this.$message.error('退料数量不能为空!')
return
}
this.queryParams.createBy = this.user.name
this.queryParams.companyId = this.companyId
@ -671,23 +611,23 @@ export default {
backTime: this.queryParams.backTime,
companyId: this.companyId,
}
if(this.rowId!=''){
if (this.rowId != '') {
let params = {
companyId: this.companyId,
createBy: this.createBy,
id:this.rowId,
id: this.rowId,
agreementId: this.queryParams.agreementId,
backApplyInfo: this.queryParams.backApplyInfo,
backApplyDetails: this.queryParams.leaseApplyDetails,
}
const res = await submitRefuseBackApply(params)
if (res.code == 200) {
this.$message({ type: 'success', message: res.msg})
this.$message({ type: 'success', message: res.msg })
setTimeout(() => {
this.$tab.closeOpenPage({ path: "/claimAndRefund/return/returnApply"});
this.$tab.closeOpenPage({ path: '/claimAndRefund/return/returnApply' })
}, 1000)
}
}else{
}
} else {
let params = {
companyId: this.companyId,
createBy: this.createBy,
@ -697,64 +637,61 @@ export default {
}
const res = await submitBackApplyApi(params)
if (res.code == 200) {
this.$message({ type: 'success', message: res.msg})
this.$message({ type: 'success', message: res.msg })
setTimeout(() => {
this.$tab.closeOpenPage({ path: "/claimAndRefund/return/returnApply"});
this.$tab.closeOpenPage({ path: '/claimAndRefund/return/returnApply' })
}, 1000)
}
}
}
})
},
/** 修改按钮操作 */
handleBack(row) {
this.$tab.closeOpenPage({ path: "/claimAndRefund/return/returnApply"});
this.$tab.closeOpenPage({ path: '/claimAndRefund/return/returnApply' })
},
/** 分配数据权限操作 */
handleDataScope(row) {
this.reset();
const deptTreeSelect = this.getDeptTree(row.roleId);
this.reset()
const deptTreeSelect = this.getDeptTree(row.roleId)
getRole(row.roleId).then(response => {
this.form = response.data;
this.openDataScope = true;
this.form = response.data
this.openDataScope = true
this.$nextTick(() => {
deptTreeSelect.then(res => {
this.$refs.dept.setCheckedKeys(res.checkedKeys);
});
});
this.title = "分配数据权限";
});
this.$refs.dept.setCheckedKeys(res.checkedKeys)
})
})
this.title = '分配数据权限'
})
},
/** 分配用户操作 */
handleAuthUser: function (row) {
const roleId = row.roleId;
this.$router.push("/system/role-auth/user/" + roleId);
handleAuthUser: function(row) {
const roleId = row.roleId
this.$router.push('/system/role-auth/user/' + roleId)
},
/** 提交按钮 */
submitForm: function () {
this.$refs["form"].validate(valid => {
submitForm: function() {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.roleId != undefined) {
this.form.menuIds = this.getMenuAllCheckedKeys();
this.form.menuIds = this.getMenuAllCheckedKeys()
updateRole(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
} else {
this.form.menuIds = this.getMenuAllCheckedKeys();
this.form.menuIds = this.getMenuAllCheckedKeys()
addRole(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
this.$modal.msgSuccess('新增成功')
this.open = false
this.getList()
})
}
}
});
})
},
/** 删除按钮操作 */
@ -763,16 +700,20 @@ export default {
},
/** 导出按钮操作 */
handleExport() {
this.download('system/role/export', {
...this.queryParams
}, `role_${new Date().getTime()}.xlsx`)
this.download(
'system/role/export',
{
...this.queryParams,
},
`role_${new Date().getTime()}.xlsx`
)
},
checkNum(row){
let maxNum = row.useNum
if(row.num<=1){
checkNum(row) {
let maxNum = row.num
if (row.num <= 1) {
row.num = 1
}else if(row.num>=maxNum){
} else if (row.num >= maxNum) {
row.num = maxNum
}
},
@ -780,7 +721,7 @@ export default {
///////
async deviceTypeChange(val) {
let nodes = null;
console.log("vall1211221122", this.$refs.deviceTypeCascader.getCheckedNodes().length, this.$refs.deviceTypeCascader.getCheckedNodes(), [this.$refs.deviceTypeCascader.panel.getNodeByValue(val)])
// console.log("vall1211221122", this.$refs.deviceTypeCascader.getCheckedNodes().length, this.$refs.deviceTypeCascader.getCheckedNodes(), [this.$refs.deviceTypeCascader.panel.getNodeByValue(val)])
nodes = this.$refs.deviceTypeCascader.getCheckedNodes().length > 0 ? this.$refs.deviceTypeCascader.getCheckedNodes() : [this.$refs.deviceTypeCascader.panel.getNodeByValue(val)]
console.log("nodes", nodes)
const res = await getUseNumByTypeId({ typeId: nodes[0].data.typeId })
@ -788,6 +729,16 @@ export default {
if (nodes[0].level != 4) {
return
}
if (nodes[0].data.useNum < 1) {
this.$modal.msgError("所选机具类型当前无在用!");
return
}
for (let i = 0; i < this.leaseApplyDetails.length; i++) {
if (this.leaseApplyDetails[i].typeId == nodes[0].data.typeId) {
this.leaseApplyDetails.splice(i, 1)
break
}
}
this.leaseApplyDetails.push(
this.handelTableItemData(nodes[0])
)
@ -807,9 +758,9 @@ export default {
template.preNum = node.data.num
template.typeName = node.pathLabels[2]
template.typeCode = node.pathLabels[3]
template.useNum = node.data.useNum
template.num = node.data.num
return template
}
}
};
},
},
}
</script>

View File

@ -412,7 +412,7 @@ export default {
rowId:''
};
},
created() {
mounted() {
this.GetUnitData()
this.GetProData()
this.GetDeviceTypeTreeFn()
@ -651,6 +651,8 @@ export default {
this.$message.error('退料数量不能为空!');
return;
}
this.queryParams.createBy = this.user.name
this.queryParams.companyId = this.companyId
this.queryParams.backApplyInfo = {
@ -777,7 +779,16 @@ export default {
if (nodes[0].level != 4) {
return
}
if (nodes[0].data.useNum < 1) {
this.$modal.msgError("所选机具类型当前无在用!");
return
}
for (let i = 0; i < this.leaseApplyDetails.length; i++) {
if (this.leaseApplyDetails[i].typeId == nodes[0].data.typeId) {
this.leaseApplyDetails.splice(i, 1)
break
}
}
this.leaseApplyDetails.push(
this.handelTableItemData(nodes[0])
)

View File

@ -657,13 +657,25 @@
proList: [],
taskStatusList: [
{
name: '待审核',
name: '待退料审核',
id: '37',
},
{
name: '已审核',
name: '退料审核通过',
id: '38',
},
{
name: '退料核查中',
id: '39',
},
{
name: '退料完成',
id: '40',
},
{
name: '退料审核驳回',
id: '101',
},
],
rowObj: {},
loadingType: '',

View File

@ -142,30 +142,33 @@
</el-table-column>
<el-table-column label="退料状态" align="center" :show-overflow-tooltip="true">
<template slot-scope="scope">
<!-- 状态
37-待审核
38-已审核-->
<el-button type="text" v-if="scope.row.applyStatus == '0'">待审核</el-button>
<el-button type="text" v-if="scope.row.taskStatus == '37'">
待审核
</el-button>
<el-button
type="text"
style="color: #67c23a"
v-if="
scope.row.applyStatus == '1' ||
scope.row.applyStatus == '3'
"
>退料通过</el-button>
<!-- <el-button type="text" v-if="scope.row.taskStatus == '39'">
v-if="scope.row.taskStatus == '38'"
>
已审核
</el-button>
<el-button type="text" v-if="scope.row.taskStatus == '39'">
退料核查
</el-button>-->
</el-button>
<el-button
type="text"
style="color: red"
v-if="
scope.row.applyStatus == '2' ||
scope.row.applyStatus == '4'
"
>退料驳回</el-button>
<el-button type="text" style="color: #67c23a" v-if="scope.row.taskStatus == '40'">退料完成</el-button>
style="color: #67c23a"
v-if="scope.row.taskStatus == '40'"
>
退料完成
</el-button>
<el-button
type="text"
style="color: #67c23a"
v-if="scope.row.taskStatus == '101'"
>
退料驳回
</el-button>
</template>
</el-table-column>
<el-table-column label="不通过原因" align="center" prop="dictName" :show-overflow-tooltip="true" />
@ -513,13 +516,25 @@ export default {
proList: [],
taskStatusList: [
{
name: '待审核',
name: '待退料审核',
id: '37',
},
{
name: '已审核',
name: '退料审核通过',
id: '38',
},
{
name: '退料核查中',
id: '39',
},
{
name: '退料完成',
id: '40',
},
{
name: '退料审核驳回',
id: '101',
},
],
loadingList: [],
loadingTotal: 0,
@ -548,6 +563,7 @@ export default {
console.log('paramsparamsparams', params)
const res = await getBackAuditList(params)
this.typeList = res.data.rows
console.log('🚀 ~ getList ~ this.typeList:', this.typeList);
this.total = res.data.total
this.loading = false
} catch (error) {}
@ -576,6 +592,7 @@ export default {
/** 重置按钮操作 */
resetQuery() {
this.dateRange = []
this.timeRange = []
// this.resetForm("queryForm");
this.$refs.queryForm.resetFields()
this.initSelectData()

View File

@ -253,13 +253,25 @@
proList: [],
taskStatusList: [
{
name: '待审核',
id: '37'
name: '待退料审核',
id: '37',
},
{
name: '已审核',
id: '38'
}
name: '退料审核通过',
id: '38',
},
{
name: '退料核查中',
id: '39',
},
{
name: '退料完成',
id: '40',
},
{
name: '退料审核驳回',
id: '101',
},
],
rowObj: {},
};

View File

@ -477,7 +477,7 @@ export default {
numList: [], //
}
},
created() {
mounted() {
if (this.$route.query.isView) {
this.isView = this.$route.query.isView
} else {

View File

@ -593,7 +593,7 @@
applyList: [],
}
},
created() {
mounted() {
let arr = JSON.parse(this.$route.query.rowData)
this.rowData = arr
this.getDataAll()

View File

@ -216,7 +216,7 @@ export default {
}
};
},
created() {
mounted() {
const jobId = this.$route.params && this.$route.params.jobId;
if (jobId !== undefined && jobId != 0) {
getJob(jobId).then(response => {

View File

@ -690,6 +690,18 @@
this.form.labelCode = this.ids[0].labelCode
getDeviceTypeTree({ level: '4' }).then((response) => {
this.deptOptions = response.data
this.handleDeviceTypeTree(this.deptOptions)
})
},
handleDeviceTypeTree(data) {
// manageType0,
data.forEach((item) => {
if (item.manageType && item.manageType !== '0') {
item.isDisabled = true
}
if (item.children) {
this.handleDeviceTypeTree(item.children)
}
})
},
/** 修改按钮操作 */

View File

@ -216,6 +216,13 @@
v-if="!isCheck && scope.row.status==0"
@click="handleDelete(scope.row)"
>删除</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
v-if="isShow"
@click="handleDelete(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
@ -343,6 +350,7 @@ export default {
},
taskId: '',
isView: false,
isShow: false,
isEdit: false,
isCheck: false,
addForm: {
@ -397,6 +405,12 @@ export default {
},
},
created() {
const isShow = this.$route.query && this.$route.query.isShow
if (isShow && isShow == 'true') {
this.isShow = true
} else {
this.isShow = false
}
const taskId = this.$route.query && this.$route.query.taskId
this.taskId = taskId
if (this.taskId == '' || !this.taskId) {
@ -406,14 +420,12 @@ export default {
this.getTaskInfo()
}
const isView = this.$route.query && this.$route.query.isView
console.log(this.isView, 'isView')
if (isView && isView == 'true') {
this.isView = true
} else {
this.isView = false
}
const isCheck = this.$route.query && this.$route.query.isCheck
console.log(this.isCheck, 'isCheck')
if (isCheck && isCheck == 'true') {
this.isCheck = true
} else {

View File

@ -1,11 +1,19 @@
<template>
<div class="app-container" id="newAccessoryList">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="80px"
>
<el-form-item label="关键字" prop="keyWord">
<el-input
v-model="queryParams.keyWord"
placeholder="请输入关键字"
clearable maxlength="50"
clearable
maxlength="50"
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
@ -19,13 +27,7 @@
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAccept"
>新增</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAccept">新增</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button
@ -35,15 +37,9 @@
size="mini"
@click="handleAdd"
>发布入库</el-button>
</el-col> -->
</el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -52,11 +48,36 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" align="center" type="index" width="55px" />
<el-table-column label="采购单号" align="center" prop="code" :show-overflow-tooltip="true" />
<el-table-column label="采购日期" align="center" prop="purchaseTime" :show-overflow-tooltip="true" />
<el-table-column label="到货日期" align="center" prop="arrivalTime" :show-overflow-tooltip="true" />
<el-table-column label="采购配件" align="center" prop="purchasingTypeName" :show-overflow-tooltip="true" />
<el-table-column label="采购员" align="center" prop="purchaserName" :show-overflow-tooltip="true" />
<el-table-column label="采购状态" align="center" prop="purchasingStatus" :show-overflow-tooltip="true" />
<el-table-column
label="采购日期"
align="center"
prop="purchaseTime"
:show-overflow-tooltip="true"
/>
<el-table-column
label="到货日期"
align="center"
prop="arrivalTime"
:show-overflow-tooltip="true"
/>
<el-table-column
label="采购配件"
align="center"
prop="purchasingTypeName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="采购员"
align="center"
prop="purchaserName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="采购状态"
align="center"
prop="purchasingStatus"
:show-overflow-tooltip="true"
/>
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
<!-- <el-table-column label="状态" align="center" prop="createTime" width="180">-->
<!-- <template slot-scope="scope">-->
@ -67,13 +88,8 @@
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="300">
<template slot-scope="scope">
<el-button
size="mini"
icon="el-icon-zoom-in"
@click="handleView(scope.row)"
>查看</el-button>
<el-button size="mini" icon="el-icon-zoom-in" @click="handleView(scope.row)">查看</el-button>
<el-button
size="mini"
type="primary"
@ -86,21 +102,21 @@
type="success"
icon="el-icon-edit"
v-if="scope.row.taskStatus==68"
@click="handleCheck(scope.row)"
@click="handleCheck(scope.row)"
>验收</el-button>
<el-button
size="mini"
type="info"
icon="el-icon-edit"
v-if="scope.row.taskStatus!=68"
@click="handleBuy(scope.row)"
@click="handleBuy(scope.row)"
>验收单</el-button>
<el-button
size="mini"
type="danger"
icon="el-icon-delete"
v-if="scope.row.taskStatus==68"
@click="handleDelete(scope.row)"
@click="handleDelete(scope.row)"
>删除</el-button>
</template>
</el-table-column>
@ -113,84 +129,90 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 验收单弹窗 -->
<el-dialog :title="title" :visible.sync="openPrint" width="1100px" append-to-body>
<div style="height: 400px;overflow-y: scroll;">
<vue-easy-print tableShow ref="remarksPrintRef" class="print">
<div class="title" style="text-align: center;font-weight: 600;font-size: 16px;">
到货验收单
</div>
<div class="info" style="margin-top: 10px;display: flex;flex-wrap: wrap;">
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>工程名称</span>
</div>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>验收单编号</span>{{ printData.code }}
</div>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>合同名称</span>
</div>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>合同编号</span>
</div>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>验收地点</span>
</div>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>供应商</span><span v-if="printTableData.length>0">{{ printTableData[0].supplier }}</span>
</div>
</div>
<el-table :data="printTableData" class="table" style="margin-top: 20px;width: 1000px;padding-bottom: 1px;" border>
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="序号" align="center" type="index" />
<el-table-column label="类型名称" align="center" prop="machineTypeName" />
<el-table-column label="规格型号" align="center" prop="specificationType" />
<el-table-column label="计量单位" align="center" prop="unitName" />
<el-table-column label="采购数量" align="center" prop="purchaseNum" />
<el-table-column label="已验收数量" align="center" prop="" />
<el-table-column label="本次验收数量" align="center" prop="checkNum" />
<el-table-column label="累积验收数量" align="center" prop="" />
<el-table-column label="验收日期" align="center" prop="" />
<el-table-column label="合格证及技术资料" align="center" prop="" />
<el-table-column label="包装" align="center" prop="" />
</el-table>
<div class="fillIn" style="margin-top: 20px;display: flex;justify-content: space-between;">
<div class="item" style="width: 50%;">
<div>
<span>接收单位验收意见</span>
<vue-easy-print tableShow ref="remarksPrintRef" class="print">
<div class="title" style="text-align: center;font-weight: 600;font-size: 16px;">到货验收单</div>
<div class="info" style="margin-top: 10px;display: flex;flex-wrap: wrap;">
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>工程名称</span>
</div>
<div>
<span>验收人</span>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>验收单编号</span>
{{ printData.code }}
</div>
<div>
<span>接收单位</span>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>合同名称</span>
</div>
<div>
<span>验收负责人 </span>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>合同编号</span>
</div>
</div>
<div class="item" style="width: 50%;">
<div>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>验收地点</span>
</div>
<div class="item" style="width: 50%;flex-shrink: 0;margin-bottom: 5px;font-size: 14px;">
<span>供应商</span>
</div>
<div>
<span>供应商</span>
</div>
<div>
<span>验收负责人 </span>
<span v-if="printTableData.length>0">{{ printTableData[0].supplier }}</span>
</div>
</div>
<!-- <div class="item" style="width: 25%;">
<span>经办人</span>
</div> -->
</div>
<el-table
:data="printTableData"
class="table"
style="margin-top: 20px;width: 1000px;padding-bottom: 1px;"
border
>
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="序号" align="center" type="index" />
<el-table-column label="类型名称" align="center" prop="machineTypeName" />
<el-table-column label="规格型号" align="center" prop="specificationType" />
<el-table-column label="计量单位" align="center" prop="unitName" />
<el-table-column label="采购数量" align="center" prop="purchaseNum" />
</vue-easy-print>
<el-table-column label="已验收数量" align="center" prop />
<el-table-column label="本次验收数量" align="center" prop="checkNum" />
<el-table-column label="累积验收数量" align="center" prop />
<el-table-column label="验收日期" align="center" prop />
<el-table-column label="合格证及技术资料" align="center" prop />
<el-table-column label="包装" align="center" prop />
</el-table>
<div
class="fillIn"
style="margin-top: 20px;display: flex;justify-content: space-between;"
>
<div class="item" style="width: 50%;">
<div>
<span>接收单位验收意见</span>
</div>
<div>
<span>验收人</span>
</div>
<div>
<span>接收单位</span>
</div>
<div>
<span>验收负责人 </span>
</div>
</div>
<div class="item" style="width: 50%;">
<div>
<span>供应商</span>
</div>
<div>
<span>供应商</span>
</div>
<div>
<span>验收负责人 </span>
</div>
</div>
<!-- <div class="item" style="width: 25%;">
<span>经办人</span>
</div>-->
</div>
</vue-easy-print>
</div>
<div slot="footer" class="dialog-footer" style="text-align: center">
@ -198,19 +220,22 @@
<el-button @click="openPrint = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listType, getType, delType, addType, updateType, refreshCache } from "@/api/system/dict/type";
import { listPurchaseAccessory,getPurchaseCheckInfo,delPurchaseAccessory,getAccessoryAcceptanceForm } from "@/api/store/newBuy";
import vueEasyPrint from 'vue-easy-print';
import { listType, getType, delType, addType, updateType, refreshCache } from '@/api/system/dict/type'
import {
listPurchaseAccessory,
getPurchaseCheckInfo,
delPurchaseAccessory,
getAccessoryAcceptanceForm,
} from '@/api/store/newBuy'
import vueEasyPrint from 'vue-easy-print'
export default {
// name: "NewAccessoryList",
dicts: ['sys_normal_disable'],
components:{vueEasyPrint},
components: { vueEasyPrint },
data() {
return {
//
@ -228,7 +253,7 @@ export default {
//
accessoryList: [],
//
title: "",
title: '',
//
open: false,
//
@ -239,42 +264,37 @@ export default {
pageSize: 10,
dictName: undefined,
dictType: undefined,
status: undefined
status: undefined,
},
//
form: {},
openPrint: false,
printData:{},
printTableData:[],
printData: {},
printTableData: [],
//
rules: {
dictName: [
{ required: true, message: "字典名称不能为空", trigger: "blur" }
],
dictType: [
{ required: true, message: "字典类型不能为空", trigger: "blur" }
]
}
};
dictName: [{ required: true, message: '字典名称不能为空', trigger: 'blur' }],
dictType: [{ required: true, message: '字典类型不能为空', trigger: 'blur' }],
},
}
},
created() {
this.getList();
this.getList()
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
this.loading = true
listPurchaseAccessory(this.queryParams).then(response => {
this.accessoryList = response.rows;
this.total = response.total;
this.loading = false;
}
);
this.accessoryList = response.rows
this.total = response.total
this.loading = false
})
},
//
cancel() {
this.open = false;
this.reset();
this.open = false
this.reset()
},
//
reset() {
@ -282,53 +302,53 @@ export default {
taskId: undefined,
dictName: undefined,
dictType: undefined,
status: "0",
remark: undefined
};
this.resetForm("form");
status: '0',
remark: undefined,
}
this.resetForm('form')
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.dateRange = [];
this.resetForm("queryForm");
this.handleQuery();
this.dateRange = []
this.resetForm('queryForm')
this.handleQuery()
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加字典类型";
this.reset()
this.open = true
this.title = '添加字典类型'
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.taskId)
this.single = selection.length!=1
this.single = selection.length != 1
this.multiple = !selection.length
},
/** 编辑按钮操作 */
handleUpdate(row) {
let query = { taskId:row.taskId }
this.$tab.closeOpenPage({ path: "/store/newBuy/newAccessoryAccept", query });
let query = { taskId: row.taskId }
this.$tab.closeOpenPage({ path: '/store/newBuy/newAccessoryAccept', query })
},
/** 查看按钮操作 */
handleView(row) {
let query = { taskId:row.taskId,isView:true }
this.$tab.closeOpenPage({ path: "/store/newBuy/newAccessoryAccept", query });
let query = { taskId: row.taskId, isView: true }
this.$tab.closeOpenPage({ path: '/store/newBuy/newAccessoryAccept', query })
},
/** 验收按钮操作 */
handleCheck(row) {
let query = { taskId:row.taskId,isCheck:true}
this.$tab.closeOpenPage({ path: "/store/newBuy/newAccessoryAccept", query });
let query = { taskId: row.taskId, isCheck: true }
this.$tab.closeOpenPage({ path: '/store/newBuy/newAccessoryAccept', query })
},
/** 提交按钮 */
submitForm: function() {
this.$refs["form"].validate(valid => {
this.$refs['form'].validate(valid => {
if (valid) {
// if (this.form.taskId != undefined) {
// updateType(this.form).then(response => {
@ -344,56 +364,64 @@ export default {
// });
// }
}
});
})
},
//
getPrintTable(taskId){
getAccessoryAcceptanceForm({taskId:taskId}).then(response => {
this.printData = response.data;
this.printTableData = response.data.partDetailsList;
}
);
getPrintTable(taskId) {
getAccessoryAcceptanceForm({ taskId: taskId }).then(response => {
this.printData = response.data
this.printTableData = response.data.partDetailsList
})
},
//
handleBuy(row) {
// this.query.taskId = row.taskId
this.getPrintTable(row.taskId)
this.openPrint = true
this.title = "新购工机具验收单";
this.title = '新购工机具验收单'
},
//
print(){
this.$refs.remarksPrintRef.print();
//
print() {
this.$refs.remarksPrintRef.print()
},
/** 新增 */
handleAccept() {
this.$tab.closeOpenPage("/store/newBuy/newAccessoryAccept");
let query = { isShow: true }
this.$tab.closeOpenPage({ path: '/store/newBuy/newAccessoryAccept', query })
},
/** 删除按钮操作 */
handleDelete(row) {
const taskId = row.taskId || this.ids;
this.$modal.confirm('是否确认删除该数据项?').then(function() {
return delPurchaseAccessory(taskId);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
const taskId = row.taskId || this.ids
this.$modal
.confirm('是否确认删除该数据项?')
.then(function() {
return delPurchaseAccessory(taskId)
})
.then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
})
.catch(() => {})
},
/** 导出按钮操作 */
handleExport() {
this.download('material/purchaseAccessory/export', {
...this.queryParams
}, `新购配件_${new Date().getTime()}.xlsx`)
this.download(
'material/purchaseAccessory/export',
{
...this.queryParams,
},
`新购配件_${new Date().getTime()}.xlsx`
)
},
/** 刷新缓存按钮操作 */
handleRefreshCache() {
refreshCache().then(() => {
this.$modal.msgSuccess("刷新成功");
this.$store.dispatch('dict/cleanDict');
});
}
}
};
this.$modal.msgSuccess('刷新成功')
this.$store.dispatch('dict/cleanDict')
})
},
},
}
</script>
<style lang="scss" scoped>
::v-deep.el-table .fixed-width .el-button--mini {

View File

@ -298,10 +298,10 @@ export default {
},
}
},
created() {
const taskId = this.$route.query && this.$route.query.taskId
this.taskId = taskId
console.log(this.taskId)
mounted() {
const taskId = this.$route.query && this.$route.query.taskId;
this.taskId = taskId;
// console.log(this.taskId)
this.getList()
},
methods: {

View File

@ -299,9 +299,9 @@ export default {
}
},
},
created() {
const planId = this.$route.query && this.$route.query.planId
this.planId = planId
mounted() {
const planId = this.$route.query && this.$route.query.planId;
this.planId = planId;
if (this.planId == '' || !this.planId) {
this.isEdit = false
} else if (this.planId != '') {

View File

@ -269,6 +269,9 @@ export default {
this.open = true;
this.title = "修改";
});
listHouse().then(response => {
this.deptOptions = this.handleTree(response.data, "houseId");
});
// listDeptExcludeChild(row.houseId).then(response => {
// this.deptOptions = this.handleTree(response.data, "houseId");
// });

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -44,7 +44,7 @@ module.exports = {
// target: `http://10.40.92.8:8080`, //超
target: `http://10.40.92.81:8080`, //韩
// target: `http://10.40.92.209:8080`,//川/
// target: `http://10.40.92.74:8080`,//旭/
// target: `http://10.40.92.153:8080`, //帅
// target: `http://10.40.92.14:8080`, //福