fix:新购机具管理bug修改

This commit is contained in:
jackal 2024-04-20 12:23:39 +08:00
parent 720ac160e6
commit c39b231e09
2 changed files with 460 additions and 443 deletions

View File

@ -151,7 +151,7 @@
</el-form-item>
<el-form-item label="验收结论" prop="checkResult">
<el-radio v-model="form.checkResult" label="通过">通过</el-radio>
<el-radio v-model="form.checkResult" label="不通过">不通过</el-radio>
<!-- <el-radio v-model="form.checkResult" label="不通过">不通过</el-radio> -->
</el-form-item>
<el-form-item label="验收通过数量" prop="checkNum">
<el-input-number
@ -191,7 +191,7 @@
<el-form ref="aform" :model="aform" :rules="arules" label-width="120px">
<el-form-item label="验收结论" prop="checkResult">
<el-radio v-model="aform.checkResult" label="通过">通过</el-radio>
<el-radio v-model="aform.checkResult" label="不通过">不通过</el-radio>
<!-- <el-radio v-model="aform.checkResult" label="不通过">不通过</el-radio> -->
</el-form-item>
<el-form-item label="验收图片" prop="checkUrl">
<el-upload
@ -355,14 +355,7 @@
</template>
<script>
import {
listType,
getType,
delType,
addType,
updateType,
refreshCache
} from "@/api/system/dict/type";
import { listType, getType, delType, addType, updateType, refreshCache } from '@/api/system/dict/type'
import {
getPurchaseCheckInfo,
bmNoticeInfo,
@ -370,17 +363,17 @@ import {
getNoticeUserList,
getAllNotificationList,
addNoticeUser,
delNoticeUser
} from "@/api/store/newBuy";
import { imgUpLoad, fileUpLoad } from "@/api/system/upload";
delNoticeUser,
} from '@/api/store/newBuy'
import { imgUpLoad, fileUpLoad } from '@/api/system/upload'
export default {
name: "NewDevicesAccept",
dicts: ["sys_normal_disable"],
name: 'NewDevicesAccept',
dicts: ['sys_normal_disable'],
data() {
return {
//ID
taskId: "",
taskId: '',
//
loading: true,
//
@ -406,7 +399,7 @@ export default {
//
equipmentList: [],
//
title: "",
title: '',
//
open: false,
openAll: false,
@ -417,11 +410,11 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
keyWord: undefined
keyWord: undefined,
},
//---
imageUrl: "",
imageName: "",
imageUrl: '',
imageName: '',
fileList: [],
checkUrlList: [],
checkUrlNameList: [],
@ -431,97 +424,85 @@ export default {
//
// uploadUrl:'http://192.168.0.14:21624/system',//线+system
// uploadUrl:'http://112.29.103.165:21624/system',//线+system
uploadUrl: process.env.VUE_APP_BASE_API + "/system", //
dialogImageUrl: "",
uploadUrl: process.env.VUE_APP_BASE_API + '/system', //
dialogImageUrl: '',
dialogVisible: false,
//--------------
//
form: {},
//
rules: {
checkResult: [
{ required: true, message: "验收结论不能为空", trigger: "blur" }
],
checkNum: [
{ required: true, message: "验收通过数量不能为空", trigger: "blur" }
],
checkUrl: [
{ required: true, message: "验收图片不能为空", trigger: "blur" }
]
checkResult: [{ required: true, message: '验收结论不能为空', trigger: 'blur' }],
checkNum: [{ required: true, message: '验收通过数量不能为空', trigger: 'blur' }],
checkUrl: [{ required: true, message: '验收图片不能为空', trigger: 'blur' }],
},
//
aform: {},
//
arules: {
checkResult: [
{ required: true, message: "验收结论不能为空", trigger: "blur" }
],
checkUrl: [
{ required: true, message: "验收图片不能为空", trigger: "blur" }
]
checkResult: [{ required: true, message: '验收结论不能为空', trigger: 'blur' }],
checkUrl: [{ required: true, message: '验收图片不能为空', trigger: 'blur' }],
},
peopleOpen: false,
noticeOpen: false,
nform: {
notice: ""
notice: '',
},
nrules: {
notice: [
{ required: true, message: "通知内容不能为空", trigger: "blur" }
]
notice: [{ required: true, message: '通知内容不能为空', trigger: 'blur' }],
},
deptName: undefined
};
deptName: undefined,
}
},
computed: {
//1
uploadDisabled() {
return this.checkUrlList.length > 4;
}
return this.checkUrlList.length > 4
},
},
mounted() {
const taskId = this.$route.query && this.$route.query.taskId;
this.taskId = taskId;
console.log(this.taskId);
const isView = this.$route.query && this.$route.query.isView;
if (isView && isView == "true") {
this.isView = true;
const taskId = this.$route.query && this.$route.query.taskId
this.taskId = taskId
console.log(this.taskId)
const isView = this.$route.query && this.$route.query.isView
if (isView && isView == 'true') {
this.isView = true
} else {
this.isView = false;
this.isView = false
}
this.getTaskInfo();
this.getAllUserList();
this.getNoticeUserList();
this.getTaskInfo()
this.getAllUserList()
this.getNoticeUserList()
},
methods: {
//-
getTaskInfo() {
this.loading = true;
this.loading = true
getPurchaseCheckInfo({
taskId: this.taskId,
keyWord: this.queryParams.keyWord
keyWord: this.queryParams.keyWord,
}).then(response => {
this.taskInfo = response.data;
this.equipmentList = response.data.checkDetailsList;
this.taskInfo = response.data
this.equipmentList = response.data.checkDetailsList
this.equipmentList.forEach(item => {
if (item.checkUrl) {
item.imgUrlList = item.checkUrl.split(",");
item.imgNameList = item.checkUrlName.split(",");
item.imgUrlList = item.checkUrl.split(',')
item.imgNameList = item.checkUrlName.split(',')
}
});
this.loading = false;
});
})
this.loading = false
})
},
//
jumpList() {
const obj = { path: "/store/newBuy/newDevicesList" };
this.$tab.closeOpenPage(obj);
const obj = { path: '/store/newBuy/newDevicesList' }
this.$tab.closeOpenPage(obj)
},
//
cancel() {
this.open = false;
this.reset();
this.open = false
this.reset()
},
//
reset() {
@ -529,321 +510,318 @@ export default {
machineTypeName: undefined,
specificationType: undefined,
checkNum: undefined,
checkResult: "通过",
checkResult: '通过',
inputNum: undefined,
checkUrl: undefined
};
this.imageUrl = "";
this.resetForm("form");
checkUrl: undefined,
}
this.imageUrl = ''
this.resetForm('form')
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getTaskInfo();
this.queryParams.pageNum = 1
this.getTaskInfo()
},
/** 重置按钮操作 */
resetQuery() {
this.dateRange = [];
this.resetForm("queryForm");
this.handleQuery();
this.dateRange = []
this.resetForm('queryForm')
this.handleQuery()
},
//----
getNowTime() {
var today = new Date();
var year = today.getFullYear(); //
var month = today.getMonth() + 1; //
var day = today.getDate(); //
return year + "-" + month + "-" + day;
var today = new Date()
var year = today.getFullYear() //
var month = today.getMonth() + 1 //
var day = today.getDate() //
return year + '-' + month + '-' + day
// console.log(year + "-" + month + "-" + day);
},
//
handleNotice() {
this.noticeOpen = true;
this.resetForm("nform");
this.noticeOpen = true
this.resetForm('nform')
this.$set(
this.nform,
"notice",
"各位同事您好,请于" +
this.getNowTime() +
"进行机具验收。验收单号:" +
this.taskInfo.code
);
'notice',
'各位同事您好,请于' + this.getNowTime() + '进行机具验收。验收单号:' + this.taskInfo.code
)
},
//
getNoticeUserList() {
getNoticeUserList().then(response => {
this.noticeUserList = response.data;
});
this.noticeUserList = response.data
})
},
/** 查询所有用户列表--可添加人员 */
getAllUserList() {
getAllNotificationList().then(response => {
this.userList = response.data;
});
this.userList = response.data
})
},
addUserOpen() {
this.getAllUserList();
this.peopleOpen = true;
this.getAllUserList()
this.peopleOpen = true
},
// -
handleSelectionUser(selection) {
// console.log(selection)
this.chosenUserList = selection;
this.chosenUserList = selection
},
//
addUser() {
// console.log(this.chosenUserList,"chosenUserList")
addNoticeUser(this.chosenUserList).then(response => {
if (response.code == 200) {
this.getNoticeUserList();
this.peopleOpen = false;
this.getNoticeUserList()
this.peopleOpen = false
}
});
})
},
delUser(row) {
delNoticeUser(row.userId).then(response => {
if (response.code == 200) {
this.getNoticeUserList();
this.getNoticeUserList()
}
});
})
},
// -
handleSelectionNotice(selection) {
this.configUserList = selection;
this.configUserList = selection
},
//
configNotice() {
this.$refs["nform"].validate(valid => {
this.$refs['nform'].validate(valid => {
if (valid) {
this.configUserList.forEach((item, index) => {
item.noticeUser = item.userId;
item.phone = item.telphone;
});
item.noticeUser = item.userId
item.phone = item.telphone
})
let param = {
// message:this.nform.notice,
message: `${this.getNowTime()},${this.taskInfo.code}`,
taskId: this.taskInfo.taskId,
bmNoticeInfoList: this.configUserList
};
bmNoticeInfoList: this.configUserList,
}
if (this.configUserList.length > 0) {
bmNoticeInfo(param).then(response => {
console.log(response);
console.log(response)
if (response.code == 200) {
this.$message({
message: "操作成功",
type: "success"
});
this.noticeOpen = false;
this.getTaskInfo();
message: '操作成功',
type: 'success',
})
this.noticeOpen = false
this.getTaskInfo()
}
});
})
} else {
this.$message({
message: "请选择通知人员!",
type: "error"
});
message: '请选择通知人员!',
type: 'error',
})
}
}
});
})
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item);
this.single = selection.length != 1;
this.multiple = !selection.length;
this.ids = selection.map(item => item)
this.single = selection.length != 1
this.multiple = !selection.length
},
/** 验收按钮操作 */
handleCheck(row) {
// console.log(row)
this.$set(this.form, "code", row.code);
this.$set(this.form, "companyId", row.companyId);
this.$set(this.form, "createBy", row.createBy);
this.$set(this.form, "createTime", row.createTime);
this.$set(this.form, "id", row.id);
this.$set(this.form, "machineTypeName", row.machineTypeName);
this.$set(this.form, "manageType", row.manageType);
this.$set(this.form, "specificationType", row.specificationType);
this.$set(this.form, "typeName", row.typeName);
this.$set(this.form, "machineTypeName", row.machineTypeName);
this.$set(this.form, "taskId", row.taskId);
this.$set(this.form, "typeId", row.typeId);
this.$set(this.form, "checkResult", row.checkResult || "通过");
this.$set(this.form, 'code', row.code)
this.$set(this.form, 'companyId', row.companyId)
this.$set(this.form, 'createBy', row.createBy)
this.$set(this.form, 'createTime', row.createTime)
this.$set(this.form, 'id', row.id)
this.$set(this.form, 'machineTypeName', row.machineTypeName)
this.$set(this.form, 'manageType', row.manageType)
this.$set(this.form, 'specificationType', row.specificationType)
this.$set(this.form, 'typeName', row.typeName)
this.$set(this.form, 'machineTypeName', row.machineTypeName)
this.$set(this.form, 'taskId', row.taskId)
this.$set(this.form, 'typeId', row.typeId)
this.$set(this.form, 'checkResult', row.checkResult || '通过')
// this.$set(this.form,'machineTypeName',row.machineTypeName)
this.$set(this.form, "purchaseNum", row.purchaseNum);
this.$set(this.form, "checkNum", row.purchaseNum);
this.$set(this.form, "checkUrl", "");
this.$set(this.form, "checkUrlName", "");
this.fileList = [];
this.checkUrlList = [];
this.checkUrlNameList = [];
this.open = true;
this.title = "验收";
this.$set(this.form, 'purchaseNum', row.purchaseNum)
this.$set(this.form, 'checkNum', row.purchaseNum)
this.$set(this.form, 'checkUrl', '')
this.$set(this.form, 'checkUrlName', '')
this.fileList = []
this.checkUrlList = []
this.checkUrlNameList = []
this.open = true
this.title = '验收'
},
/** 批量验收按钮操作 */
handleListCheck() {
// console.log(this.ids)
this.fileList1 = [];
this.checkUrlList1 = [];
this.checkUrlNameList1 = [];
this.fileList1 = []
this.checkUrlList1 = []
this.checkUrlNameList1 = []
this.aform = {
checkResult: "通过",
checkUrl: "",
checkUrlName: ""
};
this.imageUrl = "";
this.openAll = true;
this.title = "批量验收";
checkResult: '通过',
checkUrl: '',
checkUrlName: '',
}
this.imageUrl = ''
this.openAll = true
this.title = '批量验收'
},
/** 提交按钮 */
submitForm: function() {
// console.log(this.form)
this.form.checkUrl = this.checkUrlList.join(",");
this.form.checkUrlName = this.checkUrlNameList.join(",");
let equipments = [this.form];
console.log(equipments);
this.$refs["form"].validate(valid => {
this.form.checkUrl = this.checkUrlList.join(',')
this.form.checkUrlName = this.checkUrlNameList.join(',')
let equipments = [this.form]
console.log(equipments)
this.$refs['form'].validate(valid => {
if (valid) {
updatePurchaseCheckDetails(equipments).then(response => {
if (response.code == 200) {
this.$message({
message: "操作成功",
type: "success"
});
this.open = false;
this.fileList = [];
this.checkUrlList = [];
this.checkUrlNameList = [];
this.getTaskInfo();
message: '操作成功',
type: 'success',
})
this.open = false
this.fileList = []
this.checkUrlList = []
this.checkUrlNameList = []
this.getTaskInfo()
}
});
})
}
});
})
},
submitListForm: function() {
// console.log(this.aform)
this.aform.checkUrl = this.checkUrlList1.join(",");
this.aform.checkUrlName = this.checkUrlNameList1.join(",");
this.aform.checkUrl = this.checkUrlList1.join(',')
this.aform.checkUrlName = this.checkUrlNameList1.join(',')
this.ids.forEach(item => {
item.checkNum = item.purchaseNum;
item.checkResult = this.aform.checkResult;
item.checkUrl = this.aform.checkUrl;
item.checkUrlName = this.aform.checkUrlName;
});
item.checkNum = item.purchaseNum
item.checkResult = this.aform.checkResult
item.checkUrl = this.aform.checkUrl
item.checkUrlName = this.aform.checkUrlName
})
// console.log(this.ids)
let equipments = this.ids;
console.log(equipments);
this.$refs["aform"].validate(valid => {
let equipments = this.ids
console.log(equipments)
this.$refs['aform'].validate(valid => {
if (valid) {
updatePurchaseCheckDetails(equipments).then(response => {
if (response.code == 200) {
this.$message({
message: "验收成功",
type: "success"
});
this.openAll = false;
this.open = false;
this.fileList1 = [];
this.checkUrlList1 = [];
this.checkUrlNameList1 = [];
this.getTaskInfo();
message: '验收成功',
type: 'success',
})
this.openAll = false
this.open = false
this.fileList1 = []
this.checkUrlList1 = []
this.checkUrlNameList1 = []
this.getTaskInfo()
}
});
})
}
});
})
},
//
imgUpLoad(param, name, index) {
param.type = "ma";
param.type = 'ma'
imgUpLoad(param)
.then(res => {
if (res.code == 200) {
// console.log(res.data)
if (this.open) {
this.checkUrlList.push(res.data.fileUrl);
this.checkUrlNameList.push(res.data.fileName);
this.checkUrlList.push(res.data.fileUrl)
this.checkUrlNameList.push(res.data.fileName)
}
if (this.openAll) {
this.checkUrlList1.push(res.data.fileUrl);
this.checkUrlNameList1.push(res.data.fileName);
this.checkUrlList1.push(res.data.fileUrl)
this.checkUrlNameList1.push(res.data.fileName)
// this.aform.checkUrl = res.data.fileUrl;
// this.aform.checkUrlName = res.data.fileName;
}
} else {
// this.$msgError(res.msg)
this.$modal.msgError(res.msg);
this.$modal.msgError(res.msg)
}
})
.catch(error => {
// this.$msgError(error)
this.$modal.msgError(error);
});
this.$modal.msgError(error)
})
},
handleAvatarSuccess(res, file) {
// console.log("success")
},
handleRemove(file, fileList) {
if (this.open) {
let sum = 0;
let sum = 0
this.checkUrlNameList.forEach((item, index) => {
if (item == file.name) {
sum = index;
sum = index
}
});
this.checkUrlNameList.splice(sum, 1);
this.checkUrlList.splice(sum, 1);
})
this.checkUrlNameList.splice(sum, 1)
this.checkUrlList.splice(sum, 1)
}
if (this.openAll) {
let sum1 = 0;
let sum1 = 0
this.checkUrlNameList1.forEach((item, index) => {
if (item == file.name) {
sum1 = index;
sum1 = index
}
});
this.checkUrlNameList1.splice(sum1, 1);
this.checkUrlList1.splice(sum1, 1);
})
this.checkUrlNameList1.splice(sum1, 1)
this.checkUrlList1.splice(sum1, 1)
}
},
//
handlePictureCardPreview(file) {
// console.log(file)
this.dialogImageUrl = file.url;
this.dialogVisible = true;
this.dialogImageUrl = file.url
this.dialogVisible = true
},
//
openImg(url) {
this.dialogImageUrl = this.uploadUrl + url;
this.dialogVisible = true;
this.dialogImageUrl = this.uploadUrl + url
this.dialogVisible = true
},
//
selectable(row, index) {
if (row.status == 0) {
return true;
return true
} else {
return false;
return false
}
},
/** 导出按钮操作 */
handleExport() {
this.download(
"system/dict/type/export",
'system/dict/type/export',
{
...this.queryParams
...this.queryParams,
},
`type_${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

@ -1,13 +1,21 @@
<template>
<div class="app-container" id="newDevicesCode">
<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"
style="width: 240px"
@keyup.enter.native="handleQuery"
v-model="queryParams.keyWord"
placeholder="请输入关键字"
clearable
maxlength="50"
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -26,18 +34,11 @@
size="mini"
@click="handleAdd"
>新增</el-button>
</el-col> -->
</el-col>-->
<el-col :span="1.5">
<el-button
type="success"
plain
size="mini"
icon="el-icon-back"
@click="jumpList"
>新购验收管理</el-button>
<el-button type="success" plain size="mini" icon="el-icon-back" @click="jumpList">新购验收管理</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -45,26 +46,39 @@
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column label="序号" align="center" type="index" />
<el-table-column label="机具类型名称" align="center" prop="typeName" :show-overflow-tooltip="true" />
<el-table-column label="规格型号" align="center" prop="specificationType" :show-overflow-tooltip="true"/>
<el-table-column label="采购时间" align="center" prop="purchaseTime" :show-overflow-tooltip="true" />
<el-table-column label="采购数量" align="center" prop="purchaseNum" :show-overflow-tooltip="true" />
<el-table-column
label="规格型号"
align="center"
prop="specificationType"
:show-overflow-tooltip="true"
/>
<el-table-column
label="采购时间"
align="center"
prop="purchaseTime"
:show-overflow-tooltip="true"
/>
<el-table-column
label="采购数量"
align="center"
prop="purchaseNum"
:show-overflow-tooltip="true"
/>
<el-table-column label="验收数量" align="center" prop="checkNum" :show-overflow-tooltip="true" />
<el-table-column label="绑定数量" align="center" prop="bindNum" :show-overflow-tooltip="true" >
<template slot-scope="scope">
<el-table-column label="绑定数量" align="center" prop="bindNum" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span v-if="scope.row.bindNum>0">{{ scope.row.bindNum }}</span>
<span v-else >0</span>
<span v-else>0</span>
</template>
</el-table-column>
<el-table-column label="是否为固定资产" align="center" prop="fixCode" :show-overflow-tooltip="true" >
<el-table-column label="是否为固定资产" align="center" prop="fixCode" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span v-if="scope.row.fixCode == '0'"></span>
<span v-if="scope.row.fixCode == '1'"></span>
</template>
</el-table-column>
</el-table-column>
<!-- <el-table-column label="编码类型" align="center" prop="codeType" :show-overflow-tooltip="true" />
<el-table-column label="二维码" align="center" prop="dictName" :show-overflow-tooltip="true" /> -->
<el-table-column label="二维码" align="center" prop="dictName" :show-overflow-tooltip="true" />-->
<el-table-column label="状态" align="center" prop="status" width="180">
<template slot-scope="scope">
<span v-if="scope.row.status==0">待入库</span>
@ -74,44 +88,68 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="primary"
v-if="scope.row.bindNum<scope.row.checkNum"
@click="handleCode(scope.row)"
size="mini"
type="primary"
v-if="scope.row.bindNum<scope.row.checkNum"
@click="handleCode(scope.row)"
>绑定编码</el-button>
</template>
</el-table-column>
</el-table>
<!--
<!--
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/> -->
/>-->
<!-- 添加或修改参数配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body :close-on-click-modal="false">
<el-dialog
:title="title"
:visible.sync="open"
width="1000px"
append-to-body
:close-on-click-modal="false"
>
<el-row :gutter="24" class="mb8">
<el-form ref="form" :model="form" :rules="rules" label-width="78px">
<el-input v-model="form.typeId" disabled v-show="false"/>
<el-input v-model="form.typeId" disabled v-show="false" />
<el-col :span="7">
<el-form-item label="编码前缀" prop="exCode">
<el-input v-model="form.exCode"/>
<el-input v-model="form.exCode" @change="fillingCodeList" />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="后缀范围">
<div style="display: flex;"><el-input v-model="form.str" placeholder="0001" maxlength="4"></el-input> - <el-input v-model="form.str1" placeholder="0005" maxlength="4"></el-input></div>
<div style="display: flex;">
<el-input
v-model="form.str"
placeholder="0001"
maxlength="4"
@change="fillingCodeList"
></el-input>-
<el-input
v-model="form.str1"
placeholder="0005"
maxlength="4"
@change="fillingCodeList"
></el-input>
</div>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="固定资产" prop="fixCode">
<el-select v-model="form.fixCode" placeholder="是否为固定资产" clearable allow-create="">
<el-option label="是" value="0"/>
<el-option label="否" value="1"/>
<el-select
v-model="form.fixCode"
placeholder="是否为固定资产"
@change="fillingCodeList"
clearable
allow-create
>
<el-option label="是" value="0" />
<el-option label="否" value="1" />
</el-select>
</el-form-item>
</el-col>
@ -122,75 +160,87 @@
size="mini"
@click="createCodeList"
>生成</el-button>
</el-col> -->
</el-col>-->
<el-col :span="2">
<el-button
type="primary"
plain
size="mini"
@click="fillingCodeList"
>填充</el-button>
<el-button type="primary" plain size="mini" @click="fillingCodeList">填充</el-button>
</el-col>
</el-form>
</el-row>
<el-table v-loading="loading" :data="codeList" height="400">
<!-- <el-table-column type="selection" width="50" align="center" /> -->
<el-table-column label="序号" align="center" type="index"/>
<el-table-column label="机具种类" align="center" prop="typeName" :show-overflow-tooltip="true" width="120"/>
<el-table-column label="规格型号" align="center" prop="specificationType" :show-overflow-tooltip="true" width="120"/>
<el-table-column label="设备编码" align="center" prop="maCode" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-input v-model="scope.row.maCode" :disabled="scope.row.statusFlag==0" οninput="value=value.replace(/[^0-9.]/g,'')"></el-input>
</template>
</el-table-column>
<el-table-column label="固定资产编码" align="center" prop="assetsCode" >
<template slot-scope="scope">
<el-input v-model="scope.row.assetsCode" v-show="form.fixCode=='0'" maxlength="50" ></el-input>
</template>
</el-table-column>
<el-table-column
label="操作"
align="center"
width="160"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="delCode(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- <el-table-column type="selection" width="50" align="center" /> -->
<el-table-column label="序号" align="center" type="index" />
<el-table-column
label="机具种类"
align="center"
prop="typeName"
:show-overflow-tooltip="true"
width="120"
/>
<el-table-column
label="规格型号"
align="center"
prop="specificationType"
:show-overflow-tooltip="true"
width="120"
/>
<el-table-column label="设备编码" align="center" prop="maCode" :show-overflow-tooltip="true">
<template slot-scope="scope">
<el-input
v-model="scope.row.maCode"
:disabled="scope.row.statusFlag==0"
οninput="value=value.replace(/[^0-9.]/g,'')"
></el-input>
</template>
</el-table-column>
<el-table-column label="固定资产编码" align="center" prop="assetsCode">
<template slot-scope="scope">
<el-input v-model="scope.row.assetsCode" v-show="form.fixCode=='0'" maxlength="50"></el-input>
</template>
</el-table-column>
<el-table-column
label="操作"
align="center"
width="160"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-delete" @click="delCode(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listType, getType, delType, addType, updateType, refreshCache } from "@/api/system/dict/type";
import { getPurchaseCheckInfo, listPurchaseMacodeInfo,addPurchaseMacode,updateMacode,delMacode,getMacodeInfo, } from "@/api/store/newBuy";
import { getMacodeList,getMacodeDetailList,makeEquipmentNumber,editPurchaseMacode,delMacodeList } from "@/api/store/newBuy";
import { getTypeList } from "@/api/store/warehousing";
import { getListByMaType } from "@/api/store/tools";
import { number } from 'echarts';
import { listType, getType, delType, addType, updateType, refreshCache } from '@/api/system/dict/type'
import {
getPurchaseCheckInfo,
listPurchaseMacodeInfo,
addPurchaseMacode,
updateMacode,
delMacode,
getMacodeInfo,
} from '@/api/store/newBuy'
import {
getMacodeList,
getMacodeDetailList,
makeEquipmentNumber,
editPurchaseMacode,
delMacodeList,
} from '@/api/store/newBuy'
import { getTypeList } from '@/api/store/warehousing'
import { getListByMaType } from '@/api/store/tools'
import { number } from 'echarts'
export default {
name: "NewDevicesCode",
name: 'NewDevicesCode',
dicts: ['sys_normal_disable'],
data() {
return {
@ -208,11 +258,11 @@ export default {
showSearch: true,
//
total: 0,
taskId:'',
taskId: '',
//
typeList: [],
//
title: "",
title: '',
//
open: false,
//
@ -225,15 +275,15 @@ export default {
},
//
form: {
exCode:'',
str:'',
str1:'',
fixCode:'1',
typeId:''
exCode: '',
str: '',
str1: '',
fixCode: '1',
typeId: '',
},
codeList: [],//list
getCodeList: [],//list
newCodeList: [],//list
codeList: [], //list
getCodeList: [], //list
newCodeList: [], //list
//
rules: {
// typeId: [
@ -245,114 +295,107 @@ export default {
// maCode: [
// { required: true, message: "", trigger: "blur" }
// ],
}
};
},
}
},
created() {
const taskId = this.$route.query && this.$route.query.taskId;
this.taskId = taskId;
const taskId = this.$route.query && this.$route.query.taskId
this.taskId = taskId
console.log(this.taskId)
this.getList();
this.getList()
},
methods: {
//
getTypeList() {
getTypeList({level:'3'}).then(response => {
this.typeList = response.data;
}
);
getTypeList({ level: '3' }).then(response => {
this.typeList = response.data
})
},
selectType(id) {
console.log(id)
getListByMaType({typeId:id}).then(response => {
this.modelList = response.data;
}
);
getListByMaType({ typeId: id }).then(response => {
this.modelList = response.data
})
},
/** 查询列表 */
getList() {
this.loading = true;
this.loading = true
this.queryParams.taskId = this.taskId
getMacodeList(this.queryParams).then(response => {
this.typeList = response.data;
this.loading = false;
}
);
this.typeList = response.data
this.loading = false
})
},
//
cancel() {
this.reset()
this.open = false;
this.reset()
this.open = false
},
//
reset() {
this.form = {
str: undefined,
str1: undefined,
fixCode:'1',
};
this.resetForm("form");
fixCode: '1',
}
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.maId)
this.single = selection.length!=1
this.single = selection.length != 1
this.multiple = !selection.length
},
/** 编码按钮操作 */ //getCodeList newCodeList
handleCode(row) {
}, //getCodeList newCodeList
/** 编码按钮操作 */ handleCode(row) {
console.log(row)
this.reset()
this.form = row;
this.$set(this.form,'str','')
this.$set(this.form,'str1','')
this.form = row
this.$set(this.form, 'str', '')
this.$set(this.form, 'str1', '')
// this.$set(this.form,'fixCode','1')
let arr = this.form.arrivalTime.split('-')
let arr = this.form.arrivalTime.split('-')
// this.form.exCode = ;
// this.form.typeCode=111
if(!this.form.typeCode){
this.form.typeCode=''
if (!this.form.typeCode) {
this.form.typeCode = ''
}
if(!this.form.specsCode){
this.form.specsCode=''
if (!this.form.specsCode) {
this.form.specsCode = ''
}
this.$set(this.form,'exCode','NSJJ'+this.form.typeCode+this.form.specsCode+arr[0][2]+arr[0][3]+arr[1])
this.form.count = row.checkNum;
this.codeList=[]
this.open = true;
this.title = "生成编码";
this.$set(this.form, 'exCode', 'NSJJ' + this.form.typeCode + this.form.specsCode + arr[0][2] + arr[0][3] + arr[1])
this.form.count = row.checkNum
this.codeList = []
this.open = true
this.title = '生成编码'
// let param = {
// taskId:this.taskId,
// typeId:row.typeId,
// }
// getMacodeDetailList(param).then(response => {
// this.codeList = response.data;
// });
},
//codeList
createCodeList(){
createCodeList() {
// if(this.codeList.length>=this.form.checkNum){
// this.$modal.msgError("");
// }else{
@ -372,34 +415,34 @@ export default {
// }
},
//
fillingCodeList(){
fillingCodeList() {
console.log(Number(this.form.str))
this.codeList = []
let num = Number(this.form.str)
// console.log(Number(this.form.str1))
let num1 = Number(this.form.str1)
let count= num1-num+1;//
let count = num1 - num + 1 //
console.log()
let sum = count + this.form.bindNum;
let sum = count + this.form.bindNum
console.log(sum)
if(sum>this.form.checkNum){
this.$modal.msgError("已绑定编码"+this.form.bindNum+"个,总数量已超过验收数量,请调整后缀范围。");
}else{
if(num1=>num){
for(let i = 0; i < count; i++) {
let obj = {
typeName:this.form.typeName,
specificationType:this.form.specificationType,
typeId: this.form.typeId,
taskId: this.form.taskId,
maCode:this.form.exCode+("00000" + (num+i)).slice(-4),
assetsCode:'',
fixCode:this.form.fixCode,
}
this.codeList.push(obj)
if (sum > this.form.checkNum) {
this.$modal.msgError('已绑定编码' + this.form.bindNum + '个,总数量已超过验收数量,请调整后缀范围。')
} else {
if (num1 => num) {
for (let i = 0; i < count; i++) {
let obj = {
typeName: this.form.typeName,
specificationType: this.form.specificationType,
typeId: this.form.typeId,
taskId: this.form.taskId,
maCode: this.form.exCode + ('00000' + (num + i)).slice(-4),
assetsCode: '',
fixCode: this.form.fixCode,
}
this.codeList.push(obj)
}
} else{
this.$modal.msgError("编码后缀范围输入格式不正确");
} else {
this.$modal.msgError('编码后缀范围输入格式不正确')
}
}
},
@ -407,57 +450,57 @@ export default {
/** 提交按钮 */
submitForm: function() {
// console.log(this.codeList)
if(this.form.fixCode==0){
if(this.hasDuplicateField(this.codeList, 'assetsCode')){
this.$modal.msgError("固定资产编码绑定失败,存在重复编码,请重新输入");
if (this.form.fixCode == 0) {
if (this.hasDuplicateField(this.codeList, 'assetsCode')) {
this.$modal.msgError('固定资产编码不能为空')
return false
}
}
if(this.codeList.length==0){
this.$modal.msgError("无新增编码绑定");
}else{
if (this.codeList.length == 0) {
this.$modal.msgError('无新增编码绑定')
} else {
editPurchaseMacode(this.codeList).then(response => {
console.log(response.data)
if(response.data && response.data.length>0){
this.codeList = response.data;
this.$modal.msgError("编码绑定失败,存在重复编码,请重新输入");
}else{
this.$modal.msgSuccess("编码绑定成功");
this.open = false;
this.getList();
console.log(this.codeList)
if (response.data && response.data.length > 0) {
this.codeList = response.data
this.$modal.msgError('编码绑定失败,存在重复编码,请重新输入')
} else {
this.$modal.msgSuccess('编码绑定成功')
this.open = false
this.getList()
}
});
})
}
},
hasDuplicateField(array, field) {
const map = {};
const map = {}
for (let i = 0; i < array.length; i++) {
const value = array[i][field];
const value = array[i][field]
if (map[value]) {
return true;
return true
}
map[value] = true;
map[value] = true
}
return false;
return false
},
getdetailmaCodeList(data){
getdetailmaCodeList(data) {
console.log(data)
let param = {
taskId:this.taskId,
typeId:data.typeId,
}
taskId: this.taskId,
typeId: data.typeId,
}
getMacodeDetailList(param).then(response => {
this.getCodeList = response.data;
this.codeList = this.getCodeList.concat(this.newCodeList)
});
this.getCodeList = response.data
this.codeList = this.getCodeList.concat(this.newCodeList)
})
},
delCode(row) {
console.log(row)
this.codeList.forEach((item,index) => {
if(item.maCode==row.maCode){
this.codeList.splice(index,1)
this.codeList.forEach((item, index) => {
if (item.maCode == row.maCode) {
this.codeList.splice(index, 1)
}
});
})
// const maCode = row.maCode ;
// this.$modal.confirm('').then(function() {
// return delMacodeList(maCode);
@ -466,23 +509,19 @@ export default {
// this.$modal.msgSuccess("");
// }).catch(() => {});
},
//
jumpList(){
const obj = { path: "/store/newBuy/newDevicesList" }
this.$tab.closeOpenPage(obj);
//
jumpList() {
const obj = { path: '/store/newBuy/newDevicesList' }
this.$tab.closeOpenPage(obj)
},
}
};
},
}
</script>
<style scoped>
.redColor{
.redColor {
color: red;
}
</style>
<style lang="scss" scoped>
::v-deep.el-table .fixed-width .el-button--mini {