1.添加部门设备详情和巡检设置页面,对接接口

prod
x_z 2 years ago
parent 69cbe5846e
commit 82359290cf

@ -8,17 +8,9 @@ export function getDeptDeviceList(params) {
}); });
} }
export function addDeptDevice(data) { export function saveDeptDevice(data, formName) {
return axios({ return axios({
url: "/udiwms/inv/deptDevice/add", url: formName === "add" ? "/udiwms/inv/deptDevice/add" : "/udiwms/inv/deptDevice/update",
method: "post",
data: data
});
}
export function updateDeptDevice(data) {
return axios({
url: "/udiwms/inv/deptDevice/update",
method: "post", method: "post",
data: data data: data
}); });

@ -0,0 +1,17 @@
import axios from "@/utils/request";
export function findInspectSet(params) {
return axios({
url: "/udiwms/inv/device/inspect/set/findInspectSet",
method: "get",
params: params
});
}
export function saveDeviceInspect(data, type) {
return axios({
url: type == "add" ?"/udiwms/inv/device/inspect/set/addDeviceInspect" : "/udiwms/inv/device/inspect/set/updateInspectSet",
method: "post",
data: data
});
}

@ -1,41 +1,169 @@
<template> <template>
<div> <div>
<el-card class="el-card"> <el-card class="el-card">
<el-form :model="filterQuery" class="query-form" size="mini" :inline="true"> <el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-show="showSearch">
<el-form-item class="query-form-item" label="仓库:"> <el-row>
<el-select v-model="filterQuery.invCode" placeholder="请选择仓库" clearable="true" <el-col :span="8">
@change="invChange" <el-form-item class="query-form-item" label="部门:">
> <el-select v-model="filterQuery.deptCode" placeholder="请选择部门" clearable="true"
<el-option @change="deptChange"
v-for="item in invList" style="width: 90%"
:key="item.name" >
:label="item.name" <el-option
:value="item.code"> v-for="item in deptList"
<span style="float: left">{{ item.name }}</span> :key="item.name"
</el-option> :label="item.name"
</el-select> :value="item.code">
</el-form-item> <span style="float: left">{{ item.name }}</span>
<el-form-item> </el-option>
<el-button-group style="margin-left: 10px;display:flex;"> </el-select>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button> </el-form-item>
<el-button type="primary" icon="el-icon-search" @click="onSubmit"></el-button> </el-col>
<el-button type="primary" icon="el-icon-box" @click="invPlace"></el-button>
</el-button-group> <el-col :span="8">
</el-form-item> <el-form-item class="query-form-item" label="仓库:">
<el-select v-model="filterQuery.invCode" placeholder="请选择仓库" clearable="true"
style="width: 90%"
>
<el-option
v-for="item in invList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="query-form-item" label="设备名称:">
<el-input v-model="filterQuery.deviceName" placeholder="请输入设备名称" style="width: 90%"
clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="query-form-item" label="资产编码:">
<el-input v-model="filterQuery.code" placeholder="请输入资产编码" style="width: 90%"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="query-form-item" label="批次号:">
<el-input v-model="filterQuery.batchNo" placeholder="请输入批次号" style="width: 90%"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="query-form-item" label="规格型号:">
<el-input v-model="filterQuery.ggxh" placeholder="请输入规格型号" style="width: 90%"
clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item class="query-form-item" label="设备状态:">
<el-select v-model="filterQuery.status"
style="width: 90%"
placeholder="请选择设备状态"
clearable
>
<el-option
v-for="item in statusMap"
:key="item.value"
:value="item.value"
:label="item.label"
>
{{ item.label }}
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="query-form-item" label="添加方式:">
<el-select v-model="filterQuery.addType"
style="width: 90%"
placeholder="请选择添加方式"
clearable
>
<el-option
v-for="item in addTypeMap"
:key="item.value"
:value="item.value"
:label="item.label"
>
{{ item.label }}
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<div class="top-right-btn">
<el-button-group>
<el-button icon="el-icon-view" type="primary" @click="hideSearch">/</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="onSubmit"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="addDevice"></el-button>
</el-button-group>
</div>
<el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row <el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row
border> border>
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="部门" prop="deptName" width="180"></el-table-column> <el-table-column label="部门" prop="deptName" width="180"></el-table-column>
<el-table-column label="仓库" prop="invName" width="180"></el-table-column> <el-table-column label="仓库" prop="invName" width="180"></el-table-column>
<el-table-column label="产品标识" prop="nameCode"></el-table-column> <el-table-column label="设备名称" prop="deviceName" width="200"></el-table-column>
<el-table-column label="产品名称" prop="productName"></el-table-column> <el-table-column label="规格型号" prop="ggxh" width="200" show-overflow-tooltip></el-table-column>
<el-table-column label="规格型号" prop="ggxh" show-overflow-tooltip></el-table-column> <el-table-column label="批次号" prop="batchNo" width="150"></el-table-column>
<el-table-column label="批次号" prop="batchNo" width="120"></el-table-column> <el-table-column label="生产日期" prop="productionDate" width="150"></el-table-column>
<el-table-column label="生产日期" prop="productionDate" width="120"></el-table-column>
<el-table-column label="失效日期" prop="expireDate" width="120"></el-table-column> <el-table-column label="失效日期" prop="expireDate" width="120"></el-table-column>
<el-table-column label="批准文号" prop="zczbhhzbapzbh" show-overflow-tooltip width="120"></el-table-column> <el-table-column label="状态" prop="status" width="150">
<template slot-scope="scope">
<el-tag>{{ status[scope.row.status] }}</el-tag>
</template>
</el-table-column>
<el-table-column label="批准文号" prop="zczbhhzbapzbh" show-overflow-tooltip width="200"></el-table-column>
<el-table-column label="生产厂家" prop="manfactory" show-overflow-tooltip width="200"></el-table-column>
<el-table-column label="计量单位" prop="measname" width="100"></el-table-column>
<el-table-column label="供应商" prop="supName"></el-table-column>
<el-table-column label="负责人" prop="managerName" show-overflow-tooltip width="200"></el-table-column>
<el-table-column label="操作" width="180" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="editDialog(scope.row)"
>编辑
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="deleteDevice(scope.row.id)"
>删除
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="inspectSet(scope.row.code)"
>巡检设置
</el-button
>
</template>
</el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total>0"
@ -47,160 +175,152 @@
</el-card> </el-card>
<el-dialog <el-dialog
title="库存摆放" :title="formMap[formName]"
:visible.sync="placeDialogVisible" :visible.sync="deviceDialogVisible"
:close-on-click-modal="false" :close-on-click-modal="false"
:close-on-press-escape="false" :close-on-press-escape="false"
width="60%" width="60%"
v-if="placeDialogVisible" v-if="deviceDialogVisible"
> >
<el-card style="margin: 5px;margin-top: -20px"> <deptDeviceModifyDialog
<el-form :model="formData" label-width="100px" style="margin-bottom: -15px"> :formData="formData"
<el-button-group style="display: flex;margin: 0px 0 10px 80%; height: 35px"> :closeDialog="closeDialog"
<el-button ></deptDeviceModifyDialog>
size="mini"
type="primary"
@click.native="saveData()"
>提交
</el-button
>
</el-button-group>
<el-row>
<el-col :span="10">
<el-form-item prop="invWarehouseCode" label="当前仓库:">
<el-select v-model="formData.invCode"
placeholder="当前仓库信息"
:disabled="codeArray.length>0"
@change="formInvChange"
style="width: 90%"
clearable>
<el-option
v-for="item in invList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item class="query-form-item" label="当前货位:">
<el-select v-model="formData.invSpaceCode"
placeholder="当前货位信息"
:disabled="codeArray.length>0"
style="width: 90%"
clearable>
<el-option
v-for="item in formSpaceList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="18">
<el-form-item class="query-form-item" label="扫码录入:">
<el-input
id="inputer"
@focus="getInputFocus($event)"
@keypress.enter.native="enterKey($event)"
ref='inputRef'
style="ime-mode:disabled"
type="tel"
v-model="formData.code"
></el-input>
</el-form-item>
</el-col>
<el-col :span="2">
<el-button
type="primary"
size="mini"
@click.native.stop="addCode()"
style="margin-left: 15px"
>添加
</el-button
>
</el-col>
</el-row>
<el-table v-loading="codeTableLoading" :data="codeArray" style="width: 100%;margin-top: 20px;"
highlight-current-row
border max-height="300" height="300">
<el-table-column label="序号" type="index" width="50"></el-table-column>
<el-table-column label="条码" prop="code" show-overflow-tooltip>
</el-table-column>
<el-table-column label="操作" width="150">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.stop="true"
@click.native="deleteCodeArray(scope.$index, scope.row)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
</el-form>
</el-card>
</el-dialog> </el-dialog>
<el-dialog
title="设备巡检设置"
:visible.sync="inspectSetVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="60%"
v-if="inspectSetVisible"
>
<inspectSetModifyDialog
:code="deviceCode"
:closeDialog="closeInspectSetDialog"
></inspectSetModifyDialog>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import {getInvListByUser} from "@/api/system/invWarehouse"; import {getInvListByUser} from "@/api/system/invWarehouse";
import {getInvSpaceList} from "@/api/inventory/invSpace";
import {getPlaceDetailList, bindInvSpace, checkCodeSpace} from "@/api/inventory/invPlace";
import {isBlank} from "@/utils/strUtil"; import {isBlank} from "@/utils/strUtil";
import {getDeptListByUser} from "@/api/auth/authDept"; import {getDeptListByUser} from "@/api/auth/authDept";
import {getDeptDeviceList, deleteDeptDevice} from "@/api/inventory/deptDevice";
import deptDeviceModifyDialog from "@/views/inventory/deptDeviceModifyDialog.vue";
import inspectSetModifyDialog from "@/views/inventory/inspectSetModifyDialog.vue";
export default { export default {
name: "DeptDeviceDetail", name: "DeptDeviceDetail",
data() { data() {
return { return {
filterQuery: { filterQuery: {
deptCode: this.$store.getters.locDeptCode,
invCode: this.$store.getters.locInvCode, invCode: this.$store.getters.locInvCode,
invSpaceCode: null, deviceName: null,
code: null,
ggxh: null,
batchNo: null,
status: 1,
addType: 1,
page: 1, page: 1,
limit: 20, limit: 20,
}, },
list: [], list: [],
total: 0, total: 0,
deptList: [],
invList: [], invList: [],
spaceList: [],
loading: false, loading: false,
fromOptions: [], fromOptions: [],
formData: { formData: {
id: null,
deptCode: null,
invCode: null, invCode: null,
invSpaceCode: null, originCode: null,
code: null, code: null,
codeArray: [] deviceName: null,
ggxh: null,
batchNo: null,
serialNo: null,
productionDate: null,
expireDate: null,
manufactory: null,
measname: null,
zczbhhzbapzbh: null,
addType: null,
supName: null,
manager: null,
remark: null
}, },
placeDialogVisible: false, deviceDialogVisible: false,
codeTableLoading: false, showSearch: true,
codeArray: [], statusMap: [
formInvList: [], {
formSpaceList: [], label: '正常',
deptList: [], value: 1
},
{
label: '报修',
value: 2
},
{
label: '养护中',
value: 3
},
{
label: '已养护',
value: 4
},
{
label: '已报废',
value: 5
}
],
status: {
1: "正常",
2: "报修",
3: "养护中",
4: "已养护",
5: "已报废"
},
addTypeMap: [
{
label: "领用添加",
value: 1
},
{
label: "手动添加",
value: 2
}
],
formMap: {
add: "添加设备",
edit: "编辑设备信息"
},
formName: "add",
inspectSetVisible: false,
deviceCode: null
}; };
}, },
methods: { methods: {
hideSearch() {
this.showSearch = !this.showSearch;
},
onReset() { onReset() {
this.$router.push({ this.$router.push({
path: "", path: "",
}); });
this.filterQuery = { this.filterQuery = {
deptCode: this.$store.getters.locDeptCode,
invCode: this.$store.getters.locInvCode, invCode: this.$store.getters.locInvCode,
invSpaceCode: null, deviceName: null,
code: null,
ggxh: null,
batchNo: null,
status: 1,
addType: 1,
page: 1, page: 1,
limit: 20, limit: 20,
}; };
@ -212,7 +332,7 @@ export default {
}, },
getList() { getList() {
this.loading = true; this.loading = true;
getPlaceDetailList(this.filterQuery).then((res) => { getDeptDeviceList(this.filterQuery).then((res) => {
this.loading = false; this.loading = false;
if (res.code === 20000) { if (res.code === 20000) {
this.list = res.data.list || []; this.list = res.data.list || [];
@ -229,6 +349,11 @@ export default {
this.total = 0; this.total = 0;
}) })
}, },
deptChange() {
this.filterQuery.invCode = null;
this.invList = [];
this.getInvList();
},
getDeptList() { getDeptList() {
getDeptListByUser().then((res) => { getDeptListByUser().then((res) => {
this.deptList = res.data || []; this.deptList = res.data || [];
@ -240,7 +365,8 @@ export default {
this.getList(); this.getList();
}, },
getInvList() { getInvList() {
getInvListByUser() let params = {deptCode: this.filterQuery.deptCode};
getInvListByUser(params)
.then((response) => { .then((response) => {
this.invList = response.data || []; this.invList = response.data || [];
this.getList(); this.getList();
@ -248,119 +374,85 @@ export default {
.catch(() => { .catch(() => {
}); });
}, },
formInvChange() { addDevice() {
this.formData.invSpaceCode = null; this.formName = 'add';
let params = { this.deviceDialogVisible = true;
invWarehouseCode: this.formData.invCode,
status: 1
};
getInvSpaceList(params).then((res) => {
this.formSpaceList = res.data.list || [];
})
},
invPlace() {
this.placeDialogVisible = true;
this.formData = { this.formData = {
id: null,
deptCode: this.$store.getters.locDeptCode,
invCode: null, invCode: null,
invSpaceCode: null, originCode: null,
code: null, code: null,
codeArray: [] deviceName: null,
ggxh: null,
batchNo: null,
serialNo: null,
productionDate: null,
expireDate: null,
manufactory: null,
measname: null,
zczbhhzbapzbh: null,
addType: 2,
supName: null,
manager: null,
remark: null
}; };
this.codeArray = [];
}, },
deleteCodeArray(index, row) { deleteDevice(id) {
for (let i = 0; i < this.codeArray.length; i++) { this.$confirm('此操作将从部门设备列表中删除此设备, 是否继续?', '提示', {
if (this.codeArray[i] === row) { confirmButtonText: '确定',
this.codeArray.splice(i, 1); cancelButtonText: '取消',
return; type: 'warning'
} }).then(() => {
} let params = {
id: id
};
deleteDeptDevice(params).then((res) => {
if (res.code === 20000) {
this.$message.success("删除成功");
this.getList();
} else {
this.$message.error(res.message);
}
})
}).catch((error) => {
this.$message.error(error.message);
});
}, },
addCode(event) { editDialog(row) {
if (event != null) { this.formName = 'edit';
event.target.select(); this.deviceDialogVisible = true;
} this.formData = {
this.$refs.inputRef.select(); id: row.id,
if (isBlank(this.formData.invCode)) { deptCode: row.deptCode,
this.$message.error('当前仓库不能为空'); invCode: row.invCode,
return; originCode: row.originCode,
} code: row.code,
deviceName: row.deviceName,
if (isBlank(this.formData.invSpaceCode)) { ggxh: row.ggxh,
this.$message.error('当前货位不能为空'); batchNo: row.batchNo,
return; serialNo: row.serialNo,
productionDate: row.productionDate,
expireDate: row.expireDate,
manufactory: row.manufactory,
measname: row.measname,
zczbhhzbapzbh: row.zczbhhzbapzbh,
addType: row.addType,
supName: row.supName,
manager: row.manager,
remark: row.remark
} }
this.formData.code = this.formData.code.trim();
if (this.$isBlank(this.formData.code)) return;
let tQuery = Object.assign(JSON.parse(JSON.stringify(this.formData)));
this.checkCode(tQuery);
this.$refs.inputRef.select();
}, },
getInputFocus(event) { closeDialog() {
event.currentTarget.select(); this.deviceDialogVisible = false;
}, this.getList();
enterKey(event) {
this.checkSuccess = true;
this.addCode(event);
this.$refs.inputRef.focus();
this.$refs.inputRef.select();
}, },
checkCode(tQuery) { inspectSet(code) {
// this.inspectSetVisible = true;
let flag = false; this.deviceCode = code;
this.codeArray.forEach(item => {
if (item.code === this.formData.code) {
this.$message.error("重复条码!");
flag = true;
return;
}
});
if (flag) {
return;
}
//
checkCodeSpace(tQuery).then((res) => {
if (res.code === 20000) {
this.codeArray.push({code: this.formData.code});
} else if (res.code === 8) {
this.loading = false;
this.$message.error(res.message);
} else if (res.code === 7) {
this.$confirm(res.message, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.codeArray.push({code: this.formData.code});
}).catch(() => {
this.loading = false;
});
}
});
}, },
saveData() { closeInspectSetDialog() {
if (isBlank(this.formData.invCode) || isBlank(this.formData.invSpaceCode)) { this.inspectSetVisible = false;
this.$message.warning("请选择仓库和货位信息");
return;
}
if (this.codeArray.length === 0) {
this.$message.warning("请扫描需要摆放的货物");
return;
}
this.formData.codeArray = [];
this.codeArray.forEach(item => {
this.formData.codeArray.push(item.code);
});
bindInvSpace(this.formData).then((res) => {
if (res.code === 20000) {
this.$message.success("绑定成功");
this.placeDialogVisible = false;
this.getList();
} else {
this.$message.error("绑定失败");
}
})
}, },
}, },
mounted() { mounted() {
@ -369,9 +461,13 @@ export default {
event.stopPropagation(); event.stopPropagation();
}; };
}, },
components: {
deptDeviceModifyDialog,
inspectSetModifyDialog
},
created() { created() {
this.getDeptList(); this.getDeptList();
}, },
}; };
</script> </script>

@ -0,0 +1,250 @@
<template>
<el-card style="margin: 5px;margin-top: -20px">
<el-form :model="formData" ref="dataForm" label-width="100px" style="margin-bottom: -15px">
<el-button-group style="display: flex;margin: 0px 0 10px 80%; height: 35px">
<el-button
type="primary"
@click.native="submit()"
>保存
</el-button>
</el-button-group>
<el-row>
<el-col :span="10">
<el-form-item class="query-form-item" label="部门:">
<el-select v-model="formData.deptCode"
placeholder="请选择部门"
clearable="true"
@change="deptChange"
style="width: 90%"
>
<el-option
v-for="item in deptList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item class="query-form-item" label="仓库:">
<el-select v-model="formData.invCode"
placeholder="请选择仓库"
clearable="true"
style="width: 90%"
>
<el-option
v-for="item in invList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="原始编码:">
<el-input v-model="formData.originCode" placeholder="请输入编码" style="width: 90%" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="物资编码:">
<el-input v-model="formData.code" placeholder="请输入编码" style="width: 90%" clearable disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="设备名称:">
<el-input v-model="formData.deviceName" placeholder="请输入设备名称" style="width: 90%"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="规格型号:">
<el-input v-model="formData.ggxh" placeholder="请输入规格型号" style="width: 90%" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="批次号:">
<el-input v-model="formData.batchNo" placeholder="请输入批次号" style="width: 90%" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="序列号:">
<el-input v-model="formData.serialNo" placeholder="请输入序列号" style="width: 90%" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="生产日期:">
<el-input v-model="formData.productionDate" placeholder="请输入生产日期" style="width: 90%"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="失效日期:">
<el-input v-model="formData.expireDate" placeholder="请输入失效日期" style="width: 90%"
clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="生产厂家:">
<el-input v-model="formData.manufactory" placeholder="请输入生产厂家" style="width: 90%"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="计量单位:">
<el-input v-model="formData.measname" placeholder="请输入计量单位" style="width: 90%" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="注册证号:">
<el-input v-model="formData.zczbhhzbapzbh" placeholder="请输入注册备案凭证号" style="width: 90%"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="供应商:">
<el-input v-model="formData.supName" placeholder="请输入供应商" style="width: 90%" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="负责人:">
<el-select v-model="formData.manager"
placeholder="请选择负责人"
clearable="true"
style="width: 90%"
>
<el-option v-for="item in userList"
:key="item.employeeName"
:label="item.employeeName"
:value="item.userId">
<span>{{ item.employeeName }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="18">
<el-form-item label="备注:">
<el-input v-model="formData.remark" type="textarea" style="width: 100%" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
</template>
<script>
import {addDeptDevice, saveDeptDevice, updateDeptDevice} from "@/api/inventory/deptDevice";
import {isBlank} from "@/utils/strUtil";
import {getDeptListByUser} from "@/api/auth/authDept";
import {getInvListByUser} from "@/api/system/invWarehouse";
import {listDeptUser} from "@/api/system/deptUser";
export default {
props: {
formData: {
type: Object,
required: true
},
closeDialog: {
type: Function,
required: true
}
},
name: "deptDeviceModifyDialog",
data() {
return {
deptList: [],
invList: [],
userList: []
};
},
methods: {
deptChange() {
this.formData.invCode = null;
this.invList = [];
this.getInvList();
this.getDeptUserList();
},
getDeptList() {
getDeptListByUser().then((res) => {
this.deptList = res.data || [];
this.getInvList();
this.getDeptUserList();
});
},
getInvList() {
let params = {deptCode: this.formData.deptCode};
getInvListByUser(params)
.then((response) => {
this.invList = response.data || [];
this.getList();
})
.catch(() => {
});
},
getDeptUserList() {
this.userList = [];
let params = {deptId: null};
this.deptList.forEach((item) => {
if (item.code === this.formData.fromDeptCode) {
params.deptId = item.id;
}
});
listDeptUser(params).then((res) => {
this.userList = res.data.list || [];
})
},
submit() {
let formName = isBlank(this.formData.id) ? "add" : "edit";
saveDeptDevice(this.formData, formName).then((res) => {
if (res.code === 20000) {
this.$message.success("添加成功");
this.closeDialog();
} else {
this.$message.error(res.message);
}
}).catch((error) => {
this.$message.error(error.message);
});
},
},
created() {
this.getDeptList();
},
}
</script>
<style scoped>
</style>

@ -0,0 +1,138 @@
<template>
<el-card style="margin: 5px;margin-top: -20px">
<el-form :model="formData" ref="dataForm" label-width="100px" style="margin-bottom: -15px">
<el-button-group style="display: flex;margin: 0px 0 10px 80%; height: 35px">
<el-button
type="primary"
@click.native="submit()"
>保存
</el-button>
</el-button-group>
<el-row>
<el-col :span="10">
<el-form-item label="部门名称:">
<el-input v-model="formData.deptName" placeholder="请输入部门名称" style="width: 90%"
clearable disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="仓库名称:">
<el-input v-model="formData.invName" placeholder="请输入仓库名称" style="width: 90%" clearable
disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="设备名称:">
<el-input v-model="formData.deviceName" placeholder="请输入编码" style="width: 90%" clearable
disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="物资编码:">
<el-input v-model="formData.code" placeholder="请输入物资编码" style="width: 90%" clearable
disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="时间频率:">
<el-input v-model="formData.frequency" placeholder="请输入时间频率" style="width: 90%" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="时间频率单位:">
<el-select v-model="formData.frequencyUnit"
placeholder="请选择时间单位"
clearable="true"
style="width: 90%"
>
<el-option label="年" :value="1"></el-option>
<el-option label="月" :value="2"></el-option>
<el-option label="日" :value="3"></el-option>
<el-option label="小时" :value="4"></el-option>
<el-option label="分钟" :value="5"></el-option>
<el-option label="秒" :value="6"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="18">
<el-form-item label="备注:">
<el-input v-model="formData.remark" type="textarea" style="width: 100%" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
</template>
<script>
import {findInspectSet, saveDeviceInspect} from "@/api/inventory/deviceInspectSet";
import {isBlank} from "@/utils/strUtil";
export default {
props: {
code: {
type: String,
required: true
},
closeDialog: {
type: Function,
required: true
}
},
name: "deptDeviceModifyDialog",
data() {
return {
formData: {
id: null,
code: null,
frequency: null,
frequencyUnit: null,
status: 1,
remark: null,
deptName: null,
invName: null,
deviceName: null
},
};
},
methods: {
submit() {
let type = isBlank(this.formData.id) ? "add" : "edit";
saveDeviceInspect(this.formData, type).then((res) => {
if (res.code === 20000) {
this.$message.success("操作成功");
this.closeDialog();
} else {
this.$message.error(res.message);
}
}).catch((error) => {
this.$message.error(error.message);
})
},
findSetInfo() {
let params = {code: this.code};
findInspectSet(params).then((res) => {
this.formData = res.data;
})
},
},
created() {
this.findSetInfo();
},
}
</script>
<style scoped>
</style>
Loading…
Cancel
Save