Commit a1003131 by zhaopanyu

zpy 8.10

parent c2f4f001
......@@ -34,7 +34,7 @@ export function editProduct(data) {
export function deleteProduct(id) {
return request({
url: "/productCategory/delete/" + id,
method: "delete",
method: "post",
});
}
//获取设备分类下拉框
......@@ -46,10 +46,10 @@ export function getProductCategory(query) {
});
}
//获取管理员
export function getAdmin(data) {
export function getAdmin(query) {
return request({
url: "/productCategory/getAdmin",
method: "get",
data,
params: query,
});
}
import request from "@/utils/request";
//查看设备报修列表
export function getProduct(query) {
return request({
url: "/equipmentRepair/list",
method: "get",
params: query,
});
}
//查看产品分类详细信息
export function queryProduct(id) {
return request({
url: "/equipmentRepair/" + id,
method: "get",
});
}
//新增产品分类
export function addProduct(data) {
return request({
url: "/equipmentRepair/add",
method: "post",
data,
});
}
//修改产品分类信息
export function editProduct(data) {
return request({
url: "/equipmentRepair/edit",
method: "put",
data: data,
});
}
//删除产品分类信息;
export function deleteProduct(id) {
return request({
url: "/equipmentRepair/delete/" + id,
method: "post",
});
}
//获取设备分类下拉框
export function getProductCategory(query) {
return request({
url: "/equipmentRepair/getEquipment",
method: "get",
params: query,
});
}
//获取管理员
export function getAdmin(query) {
return request({
url: "/productCategory/getAdmin",
method: "get",
params: query,
});
}
<template>
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="80px" @submit.native.prevent>
<el-form-item label="设备分类" prop="sbfl">
<el-select v-model="queryForm.sbfl" placeholder="请选择设备分类" clearable>
<el-option v-for="item in sbflOptions" :key="item.value" :label="item.label" :value="item.value" />
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" @submit.native.prevent label-width="78px">
<el-form-item label="设备分类" prop="id">
<el-select v-model="queryForm.id" placeholder="请选择设备分类" clearable>
<el-option v-for="item in sbflOptions" :key="item.id" :label="item.equipmentType" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="型号" prop="xh">
<el-input v-model="queryForm.xh" placeholder="请输入型号" clearable />
<el-form-item label="型号" prop="model">
<el-input v-model="queryForm.model" placeholder="请输入型号" clearable />
</el-form-item>
<el-form-item label="分类编码" prop="flbm">
<el-input v-model="queryForm.flbm" placeholder="请输入型号" clearable />
<el-form-item label="分类编码" prop="classificationCode">
<el-input v-model="queryForm.classificationCode" placeholder="请输入分类编码" clearable />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row class="mb8" :gutter="10">
<el-row class="mb8" :gutter="8">
<el-col :span="1.5">
<el-button size="mini" type="primary" icon="el-icon-plus" @click="handleAdd"
v-hasPermi="['system:assets:remove']">新增
<el-button size="mini" type="primary" icon="el-icon-plus" @click="handleAdd">新增
</el-button>
</el-col>
</el-row>
<!-- 表单数据 -->
<el-table :data="assetsList" v-loading="loading" row-key="id" :default-expand-all="isExpandAll"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
<el-table-column label="分类编码" header-align="center" prop="typeName"></el-table-column>
<el-table-column label="设备分类" align="center" prop="typeNum"></el-table-column>
<el-table-column label="型号" align="center" prop="typeOrder"></el-table-column>
<el-table-column label="管理员" align="center" prop="remark"></el-table-column>
<el-table-column label="分类编码" header-align="center" prop="classificationCode"></el-table-column>
<el-table-column label="设备分类" align="center" prop="equipmentType"></el-table-column>
<el-table-column label="型号" align="center" prop="model"></el-table-column>
<el-table-column label="管理员" align="center" prop="admin"></el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['system:assets:edit']">修改
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleLook(scope.row)"
v-hasPermi="['system:assets:edit']">查看
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">新增
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:assets:remove']">删除
<el-button size="mini" type="text" icon="el-icon-delete" v-if="scope.row.parentId != 0"
@click="handleDelete(scope.row)">删除
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 新增/修改弹出框 -->
<el-dialog width="50%" :visible.sync="open" :title="title" append-to-body>
<el-form ref="postForm" :model="postForm" :rules="rules" label-width="110px">
<el-row>
<el-col :span="12">
<el-form-item label="分类编码" prop="typeName">
<el-input v-model="postForm.typeName"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="设备分类" prop="typeNum">
<el-select v-model="postForm.typeNum" placeholder="请选择设备分类" clearable style="width: 100%;">
<el-option v-for="item in sbflOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form ref="postForm" :model="postForm" :rules="rules" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="型号" prop="typeOrder">
<el-select v-model="postForm.typeOrder" placeholder="请选择型号" clearable style="width: 100%;">
<el-option v-for="item in xhOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
<el-col :span="16" v-if="postForm.parentId !== 0">
<el-form-item label="父分类编码" prop="parentId">
<treeselect v-model="postForm.parentId" :options="assetsList" :normalizer="normalizer"
placeholder="选择分类编码" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="管理员" prop="licensePlate">
<el-input v-model="postForm.licensePlate" placeholder="请选择管理员" @focus="selectChange"
style="width: 100%"></el-input>
<el-col :span="16">
<el-form-item label="分类编码" prop="classificationCode">
<el-input v-model="postForm.classificationCode"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<!-- 查看弹出框 -->
<el-dialog width="800px" :visible.sync="openLook" :title="title" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-row>
<el-col :span="12">
<el-form-item label="分类编码" prop="typeName">
<el-input v-model="form.typeName"></el-input>
<el-col :span="16">
<el-form-item label="设备分类" prop="equipmentType">
<el-input v-model="postForm.equipmentType"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="设备分类" prop="typeNum">
<el-select v-model="form.typeNum" placeholder="请选择设备分类" clearable :style="{ width: '100%' }">
<el-option v-for="item in sbflOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
<el-col :span="16">
<el-form-item label="排序" prop="orderNum">
<el-input-number v-model="postForm.orderNum" controls-position="right" :min="0"
style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="型号" prop="typeOrder">
<el-select v-model="form.typeOrder" placeholder="请选择型号" clearable :style="{ width: '100%' }">
<el-option v-for="item in xhOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
<el-col :span="16">
<el-form-item label="型号" prop="model">
<el-input v-model="postForm.model"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="管理员" prop="licensePlate">
<el-input v-model="form.licensePlate" placeholder="管理员" @focus="selectChange"
:disabled="isDisabled" style="width: 100%"></el-input>
<el-col :span="16">
<el-form-item label="管理员" prop="admin">
<el-input v-model="selectedAdmin.admin" placeholder="请选择管理员" @focus="selectChange"
style="width: 100%"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel"> 取 消 </el-button>
</div>
</el-dialog>
<!-- 选择管理员弹出框 -->
<el-dialog :title="title" :visible.sync="workableVehicle" width="960px" append-to-body>
<el-dialog :title="title" :visible.sync="workableVehicle" width="500px" append-to-body>
<el-form :model="queryVehicleForm" inline @submit.native.prevent>
<el-form-item label="管理员">
<el-input v-model="queryVehicleForm.licensePlate" placeholder="请输入管理员"></el-input>
<el-form-item label="管理员" prop="admin">
<el-input v-model="queryVehicleForm.adminId" placeholder="请输入管理员"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" size="small" icon="el-icon-search" @click="handleQueryVehicle">搜索
......@@ -149,14 +109,12 @@
<el-table :data="vehicleList" max-height="350" ref="vehicleSelectTable" @row-click="rowClick"
@selection-change="selectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="管理员" align="center" prop="licensePlate">
<el-table-column label="管理员" align="center" prop="admin">
</el-table-column>
</el-table>
<ExPagination v-show="vehicleTotal > 0" :total="vehicleTotal" :page.sync="queryVehicleForm.pageNum"
:limit.sync="queryVehicleForm.pageSize" @pagination="getVehicleList"></ExPagination>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="selectVehicle" :disabled="!multi">确 定</el-button>
<el-button type="primary" @click="abolish" :disabled="!multi">确 定</el-button>
<el-button @click="abolish">取 消</el-button>
</div>
</el-dialog>
......@@ -166,55 +124,44 @@
</template>
<script>
import {
getVehicleList,
} from "@/api/smartSchool/personWork/vehicleApply";
import {
getClassList,
queryClass,
addClass,
editClass,
deleteClass
} from '@/api/smartSchool/logisticsManage/assetsClassification.js'
import {
getProduct,
queryProduct,
addProduct,
editProduct,
deleteProduct,
getProductCategory,//获取设备分类下拉框
getAdmin
} from '@/api/smartSchool/schoolProperty/classiFication.js'
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
components: { Treeselect },
name: "classiFication",
dicts: ["vehicle_type", "vehicle_state"],
data() {
return {
// 管理员列表总数
vehicleTotal: 0,
NaN: 0,
// 可选管理员列表
vehicleList: [],
// 管理员列表
queryVehicleForm: {
pageNum: 1,
pageSize: 10,
licensePlate: ''
admin: '',
adminId: '',
},
//父设备分类下拉框
deptOptions: [],
// 是否显示选择管理员弹出层
workableVehicle: false,
// 是否禁用输入框
isDisabled: false,
//型号下拉框
xhOptions: [
{ value: '选项1', label: '1' },
{ value: '选项2', label: '2' },
{ value: '选项3', label: '3' },
{ value: '选项4', label: '4' },
{ value: '选项5', label: '5' }
],
queryForm: {
typeName: '',// 资产分类名称
typeNum: '',// 编号
typeOrder: '',// 排序号
remark: '',// 备注
},
form: {
typeName: '',// 资产分类名称
typeNum: '',// 编号
typeOrder: '',// 排序号
remark: '',// 备注
id: '',
model: '',
classificationCode: "",
},
//设备分类下拉框
sbflOptions: [],
......@@ -223,13 +170,19 @@ export default {
// 列表
assetsList: [],
// 新增/修改表单
postForm: {},
postForm: {
classificationCode: '',
parentId: undefined,
equipmentType: '',
model: '',
adminId: '',
orderNum: '',
},
// 弹出层标题
title: '',
// 是否显示弹出层
open: false,
//查看弹出框
openLook: false,
// 多个禁用
multi: false,
// 展开
......@@ -238,50 +191,57 @@ export default {
refreshTable: true,
// 校验规则
rules: {
typeName: [{ required: true, message: '资产分类不能为空', trigger: 'blur' }],
// typeNum: [{ required: true, message: '资产编号不能为空', trigger: 'blur' }],
classificationCode: [{ required: true, message: '分类编码不能为空', trigger: 'blur' }],
equipmentType: [{ required: true, message: '设备分类不能为空', trigger: 'blur' }],
orderNum: [{ required: true, message: '显示排序不能为空', trigger: 'blur' }],
},
//管理员
selectedAdmin: {
admin: '',
adminId: '',
}
}
},
created() {
this.getList();
this.enuqLeader();
},
methods: {
//查询表单数据
getList() {
this.loading = true; // 加载效果
getClassList(this.queryForm).then(response => {
this.assetsList = this.handleTree(response.data, "id", 'pid', 'children');
this.loading = true;
getProduct(this.queryForm).then(response => {
this.assetsList = this.handleTree(response.rows, "id", 'parentId', 'children');
console.log('this.assetsList', this.assetsList);
this.loading = false;
})
},
// 选择管理员对话框选中数据
selectionChange(selection) {
this.selectedAdmin = selection[0];
console.log('this.selectedAdmin', this.selectedAdmin);
this.multi = selection.length === 1;
},
// 可选管理员取消按钮
abolish() {
this.workableVehicle = false;
this.$nextTick(() => {
this.$refs.postForm.validateField('licensePlate');
this.$refs.postForm.validateField('admin');
})
},
// 选择管理员
selectVehicle() {
// 这里面就来给表单赋值
this.postForm.vehicleId = this.selectedCar.id;
this.$set(this.postForm, 'licensePlate', this.selectedCar.licensePlate);
// this.postForm.licensePlate = this.selectedCar.licensePlate;
this.abolish();
},
// 列表查询管理员列表
getVehicleList() {
this.vehicleLoading = true;
console.log('this.queryVehicleForm', this.queryVehicleForm)
this.$set(this.queryVehicleForm, 'vehicleState', 0)
getVehicleList(this.queryVehicleForm).then(response => {
getAdmin(this.queryVehicleForm).then(response => {
this.vehicleLoading = false;
this.vehicleList = response.rows;
this.vehicleTotal = response.total;
this.vehicleList = response.data;
console.log('this.vehicleList', this.vehicleList);
this.NaN = response.NaN;
}).catch(err => {
this.vehicleLoading = false;
})
......@@ -297,11 +257,7 @@ export default {
this.$refs.vehicleSelectTable.clearSelection();
this.$refs.vehicleSelectTable.toggleRowSelection(row, true);
},
// 选择管理员对话框选中数据
selectionChange(selection) {
this.selectedCar = selection[0];
this.multi = selection.length === 1;
},
// 查询管理员列表
handleQueryVehicle() {
this.throttle(() => {
......@@ -313,8 +269,8 @@ export default {
resetQueryVehicle() {
this.queryVehicleForm = {
pageNum: 1,
pageSize: 10,
licensePlate: ''
pageSize: 8,
admin: ''
};
this.handleQueryVehicle();
},
......@@ -335,46 +291,62 @@ export default {
});
},
// 搜索
handleQuery() {
this.getList();
},
// 新增
handleAdd(row) {
this.reset();
this.selectedAdmin.admin = null;
this.queryVehicleForm.adminId = null;
this.open = true;
this.getList();
if (row != null && row.id) {
console.log(row, row.id);
this.postForm.pid = row.id;
console.log('row', row);
this.postForm.parentId = row.id;
} else {
this.postForm.pid = 0;
this.postForm.parentId = undefined;
}
this.open = true;
this.title = "新增设备分类";
this.title = "新增";
},
/** 转换数据结构 */
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children;
}
return {
id: node.id,
label: node.equipmentType,
children: node.children
};
},
//设备分类下拉框
enuqLeader() {
getProductCategory().then(((res) => {
if (res.code == 200) {
this.sbflOptions = res.data;
console.log('this.sbflOptions', this.sbflOptions);
}
}))
},
// 修改
handleUpdate(row) {
this.reset();
queryClass(row.id).then(response => {
queryProduct(row.id).then(response => {
this.postForm = response.data;
this.selectedAdmin.admin = response.data.admin;
this.open = true;
this.title = "修改资产信息";
});
},
// 查看
handleLook(row) {
this.reset();
queryClass(row.id).then(response => {
this.form = response.data;
this.openLook = true;
this.title = "查看资产信息";
this.isDisabled = true;
});
},
// 删除
handleDelete(row) {
this.$modal.confirm(`是否确认删除此数据?`).then(() => {
this.loading = true;
return deleteClass(row.id);
return deleteProduct(row.id);
}).then(() => {
this.getList();
this.loading = false;
......@@ -385,16 +357,19 @@ export default {
},
// 确定
submitForm() {
this.postForm.adminId = this.selectedAdmin.adminId;
console.log('this.postForm', this.postForm);
this.$refs["postForm"].validate(valid => {
if (valid) {
if (this.postForm.id != null) {
editClass(this.postForm).then(response => {
editProduct(this.postForm).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addClass(this.postForm).then(response => {
addProduct(this.postForm).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
......@@ -405,27 +380,32 @@ export default {
},
// 取消
cancel() {
this.open = false;
this.openLook = false;
this.reset();
this.open = false;
// this.openLook = false;
},
// 重置提交表单
reset() {
this.postForm = {
typeName: '',// 资产分类名称
typeNum: '',// 编号
typeOrder: '',// 排序号
remark: '',// 备注
classificationCode: '',
parentId: undefined,
equipmentType: '',
model: '',
admin: undefined,
adminId: undefined,
orderNum: '',
};
this.resetForm('postForm')
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
this.getList();
}
}
}
</script>
<style></style>
<style lang="scss" scoped></style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment