Commit a1003131 by zhaopanyu

zpy 8.10

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