物资管理整体框架
This commit is contained in:
parent
ff383c5754
commit
7f53d4a40d
|
|
@ -0,0 +1,57 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
//机具类型管理列表信息
|
||||||
|
export function getListAccessory(query) {
|
||||||
|
return request({
|
||||||
|
url: '/material/ma_part_type/list',
|
||||||
|
method: 'get',
|
||||||
|
params: query,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//机具类型管理列表信息
|
||||||
|
export function getListTree(query) {
|
||||||
|
return request({
|
||||||
|
url: '/material/ma_part_type/getPartTree',
|
||||||
|
method: 'get',
|
||||||
|
params: query,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//查看机具类型管理列表详细信息
|
||||||
|
export function getAccessoryDetail(id) {
|
||||||
|
return request({
|
||||||
|
url: '/material/ma_part_type/'+ id,
|
||||||
|
method: 'get',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 仓库管理--删除
|
||||||
|
export function delAccessory(id) {
|
||||||
|
return request({
|
||||||
|
url: '/material/ma_part_type/' + id,
|
||||||
|
method: 'delete',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 仓库管理--修改
|
||||||
|
export function editAccessory(data) {
|
||||||
|
return request({
|
||||||
|
url: '/material/ma_part_type',
|
||||||
|
method: 'put',
|
||||||
|
data: data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 仓库管理--新增
|
||||||
|
export function addAccessory(data) {
|
||||||
|
return request({
|
||||||
|
url: '/material/ma_part_type',
|
||||||
|
method: 'post',
|
||||||
|
data: data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
//组织人员树类型管理
|
||||||
|
export function getMatConfigList(query) {
|
||||||
|
return request({
|
||||||
|
url: '/material/ma_type_config/getDeptUserTree',
|
||||||
|
method: 'get',
|
||||||
|
params: query,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//组织人员树类型管理列表
|
||||||
|
export function getListByMatConfig(query) {
|
||||||
|
return request({
|
||||||
|
url: '/material/ma_type_config/getMaTypeConfigList',
|
||||||
|
method: 'get',
|
||||||
|
params: query,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 物资类型管理--新增
|
||||||
|
export function bindRepair(data) {
|
||||||
|
return request({
|
||||||
|
url: '/material/ma_type_config/updateMaTypeBindInfo',
|
||||||
|
method: 'post',
|
||||||
|
data: data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,445 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
|
<el-form-item prop="keyWord">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.keyWord"
|
||||||
|
placeholder="请输入关键词"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
maxlength="20"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
icon="el-icon-plus"
|
||||||
|
size="mini"
|
||||||
|
@click="handleAdd"
|
||||||
|
v-hasPermi="['machinery:type:add']"
|
||||||
|
>新增</el-button
|
||||||
|
>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
@click="handleExport"
|
||||||
|
>导出
|
||||||
|
</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar
|
||||||
|
:showSearch.sync="showSearch"
|
||||||
|
@queryTable="getList"
|
||||||
|
></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
<el-table
|
||||||
|
v-loading="loading"
|
||||||
|
:data="typeList"
|
||||||
|
ref="multipleTable"
|
||||||
|
row-key="id"
|
||||||
|
default-expand-all
|
||||||
|
:tree-props="{ children: 'children' }"
|
||||||
|
border
|
||||||
|
>
|
||||||
|
<el-table-column label="序号" align="center" width="80" type="index">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{
|
||||||
|
(queryParams.pageNum - 1) * queryParams.pageSize +
|
||||||
|
scope.$index +
|
||||||
|
1
|
||||||
|
}}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="名称"
|
||||||
|
align="center"
|
||||||
|
prop="label"
|
||||||
|
show-overflow-tooltip
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="计量单位"
|
||||||
|
align="center"
|
||||||
|
prop="unitName"
|
||||||
|
show-overflow-tooltip
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="购置价格(元)"
|
||||||
|
align="center"
|
||||||
|
prop="buyPrice"
|
||||||
|
show-overflow-tooltip
|
||||||
|
width="100"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="数量"
|
||||||
|
align="center"
|
||||||
|
prop="storageNum"
|
||||||
|
show-overflow-tooltip
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="备注信息"
|
||||||
|
align="center"
|
||||||
|
prop="remark"
|
||||||
|
show-overflow-tooltip
|
||||||
|
/>
|
||||||
|
|
||||||
|
<el-table-column label="操作" align="center" width="300">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-edit"
|
||||||
|
@click="handleUpdate(scope.row)"
|
||||||
|
v-hasPermi="['machinery:type:edit']"
|
||||||
|
v-if="scope.row.level==3 || scope.row.level==2"
|
||||||
|
>
|
||||||
|
修改
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="warning"
|
||||||
|
icon="el-icon-delete-solid"
|
||||||
|
@click="handleDelete(scope.row)"
|
||||||
|
v-hasPermi="['machinery:type:edit']"
|
||||||
|
v-if="scope.row.level==3 || scope.row.level==2"
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</el-button>
|
||||||
|
<!-- <el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-delete"
|
||||||
|
@click="handleDelete(scope.row)"
|
||||||
|
v-hasPermi="['machinery:type:del']"
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</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="showHouse" width="600px" append-to-body>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px" >
|
||||||
|
<el-row :gutter="24">
|
||||||
|
<el-col :span="20">
|
||||||
|
<el-form-item label="所属上级" prop="parentId">
|
||||||
|
<treeselect
|
||||||
|
v-model="form.parentId"
|
||||||
|
:options="treeList"
|
||||||
|
:normalizer="normalizer"
|
||||||
|
:show-count="true"
|
||||||
|
:searchable="false"
|
||||||
|
:disable-branch-nodes="false"
|
||||||
|
placeholder="选择上级菜单"
|
||||||
|
@select="onSelect"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="24">
|
||||||
|
<el-col :span="20">
|
||||||
|
<el-form-item label="名称" prop="label">
|
||||||
|
<el-input v-model="form.paName" placeholder="请输入名称" maxlength="20">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="24">
|
||||||
|
<el-col :span="20">
|
||||||
|
<el-form-item label="计量单位" prop="unitName">
|
||||||
|
<el-input v-model="form.unitName" placeholder="请输入计量单位" maxlength="20">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="24">
|
||||||
|
<el-col :span="20">
|
||||||
|
<el-form-item label="购置价格(元)" prop="buyPrice">
|
||||||
|
<el-input v-model="form.buyPrice" placeholder="请输入购置价格" maxlength="20" type="number">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="24">
|
||||||
|
<el-col :span="20">
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input
|
||||||
|
type="textarea"
|
||||||
|
:rows="5"
|
||||||
|
placeholder="请输入备注"
|
||||||
|
v-model="form.remark"
|
||||||
|
maxlength="50"
|
||||||
|
show-word-limit
|
||||||
|
>
|
||||||
|
</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>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { getListAccessory,getListTree,getAccessoryDetail,addAccessory,editAccessory,delAccessory, } from "@/api/ma/partType";
|
||||||
|
import Treeselect from "@riophae/vue-treeselect";
|
||||||
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||||
|
import IconSelect from "@/components/IconSelect";
|
||||||
|
|
||||||
|
import { downloadFile } from '@/utils/download'
|
||||||
|
export default {
|
||||||
|
name: "partType",
|
||||||
|
components: { Treeselect },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: false,
|
||||||
|
|
||||||
|
loadingTwo: false,
|
||||||
|
|
||||||
|
|
||||||
|
// 是否显示项目部Id
|
||||||
|
showName: false,
|
||||||
|
|
||||||
|
// 是否显示施工预警信息
|
||||||
|
showWarn: false,
|
||||||
|
|
||||||
|
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
|
||||||
|
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
showHouse: false,
|
||||||
|
|
||||||
|
//列表数据
|
||||||
|
typeList: undefined,
|
||||||
|
|
||||||
|
treeList:[],
|
||||||
|
flagTemp:1,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
totalTwo : 0,
|
||||||
|
// 施工记录表格数据
|
||||||
|
houseList: [],
|
||||||
|
maxLength:100,//已选列表上限,防止数据过多请求报错
|
||||||
|
keeperDataRange:[],
|
||||||
|
// 班组人员表格数据
|
||||||
|
teamList: [],
|
||||||
|
teamTempList: [],
|
||||||
|
// 弹出层标题
|
||||||
|
title: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
open: false,
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
keyWord:undefined
|
||||||
|
},
|
||||||
|
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
// 表单校验
|
||||||
|
rules: {
|
||||||
|
paName: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: '名称不能为空',
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 查询岗位列表 */
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
getListAccessory(this.queryParams).then(response => {
|
||||||
|
this.typeList = response.data;
|
||||||
|
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 新增按钮操作 */
|
||||||
|
handleAdd() {
|
||||||
|
this.flagTemp=1;
|
||||||
|
this.reset()
|
||||||
|
this.getTreeselect();
|
||||||
|
this.form.id = 0;
|
||||||
|
this.showHouse = true
|
||||||
|
this.title = '新增'
|
||||||
|
},
|
||||||
|
|
||||||
|
getTreeselect(){
|
||||||
|
getListTree().then(response=>{
|
||||||
|
this.treeList = response.data;
|
||||||
|
const menu = { id: 0, label: '配件类型', children: this.treeList };
|
||||||
|
this.treeList=[],
|
||||||
|
this.treeList.push(menu)
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 转换菜单数据结构 */
|
||||||
|
normalizer(node) {
|
||||||
|
if (node.children && !node.children.length) {
|
||||||
|
delete node.children;
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
id: node.id,
|
||||||
|
label: node.label,
|
||||||
|
children: node.children
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
handleUpdate(row){
|
||||||
|
this.flagTemp=2;
|
||||||
|
this.reset()
|
||||||
|
this.getTreeselect();
|
||||||
|
const id = row.id
|
||||||
|
getAccessoryDetail(id).then((response) => {
|
||||||
|
this.form = response.data;
|
||||||
|
this.showHouse = true
|
||||||
|
this.title = '修改'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.queryParams.keyWord=null;
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
|
||||||
|
//** 提交按钮 */
|
||||||
|
submitForm() {
|
||||||
|
this.$refs["form"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
console.log(this.form)
|
||||||
|
if (this.flagTemp==2) {
|
||||||
|
console.log('修改')
|
||||||
|
editAccessory(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
this.showHouse = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
} else if(this.flagTemp==1){
|
||||||
|
console.log('新增')
|
||||||
|
console.log('this.form')
|
||||||
|
addAccessory(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("新增成功");
|
||||||
|
this.showHouse = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
// 取消按钮
|
||||||
|
cancel() {
|
||||||
|
this.showHouse = false;
|
||||||
|
this.reset();
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 删除按钮操作 */
|
||||||
|
handleDelete(row) {
|
||||||
|
const id = row.id
|
||||||
|
this.$modal
|
||||||
|
.confirm('是否确认删除数据项?')
|
||||||
|
.then(function () {
|
||||||
|
return delAccessory(id)
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$modal.msgSuccess('删除成功')
|
||||||
|
this.getList()
|
||||||
|
})
|
||||||
|
.catch(() => {})
|
||||||
|
},
|
||||||
|
|
||||||
|
handleExport() {
|
||||||
|
this.download('/material/ma_part_type/export', {
|
||||||
|
...this.queryParams
|
||||||
|
}, `仓库管理_${new Date().getTime()}.xlsx`)
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
|
||||||
|
onSelect(e) {
|
||||||
|
console.log('eeeee',e)
|
||||||
|
this.form.id = e.id;
|
||||||
|
this.form.level = e.level
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.uploadImg {
|
||||||
|
padding-top: 20px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
.deviceCode {
|
||||||
|
margin-top: 10px;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
::v-deep.el-table .fixed-width .el-button--mini {
|
||||||
|
width: 60px !important;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
//隐藏图片上传框的css
|
||||||
|
::v-deep.disabled {
|
||||||
|
.el-upload--picture-card {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,891 @@
|
||||||
|
<template>
|
||||||
|
<!-- 类型管理 -->
|
||||||
|
<div class="app-container" id="toolsType">
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<!--树数据-->
|
||||||
|
<el-col :span="5" :xs="24">
|
||||||
|
<div class="head-container">
|
||||||
|
<el-input
|
||||||
|
v-model="typeName"
|
||||||
|
placeholder="请输入类型名称"
|
||||||
|
clearable
|
||||||
|
maxlength="50"
|
||||||
|
size="small"
|
||||||
|
prefix-icon="el-icon-search"
|
||||||
|
style="margin-bottom: 20px"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="head-container" style>
|
||||||
|
<el-tree
|
||||||
|
style="height: 700px; overflow: scroll"
|
||||||
|
:data="treeOptions"
|
||||||
|
:props="defaultProps"
|
||||||
|
:expand-on-click-node="false"
|
||||||
|
:filter-node-method="filterNode"
|
||||||
|
ref="tree"
|
||||||
|
node-key="id"
|
||||||
|
default-expand-all
|
||||||
|
highlight-current
|
||||||
|
@node-click="handleNodeClick"
|
||||||
|
>
|
||||||
|
</el-tree>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<!--用户数据-->
|
||||||
|
<el-col :span="19" :xs="24">
|
||||||
|
<el-form
|
||||||
|
:model="queryParams"
|
||||||
|
ref="queryForm"
|
||||||
|
size="small"
|
||||||
|
:inline="true"
|
||||||
|
v-show="showSearch"
|
||||||
|
label-width="68px"
|
||||||
|
>
|
||||||
|
<el-form-item label="关键字" prop="typeName">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.typeName"
|
||||||
|
placeholder="请输入关键字"
|
||||||
|
clearable
|
||||||
|
style="width: 240px"
|
||||||
|
@keyup.enter.native="handleQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-search"
|
||||||
|
size="mini"
|
||||||
|
@click="handleQuery"
|
||||||
|
>查询</el-button
|
||||||
|
>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
|
||||||
|
>重置</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
icon="el-icon-plus"
|
||||||
|
size="mini"
|
||||||
|
@click="handleBind"
|
||||||
|
v-hasPermi="['machinery:type:add']"
|
||||||
|
>绑定</el-button
|
||||||
|
>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-minus"
|
||||||
|
size="mini"
|
||||||
|
@click="handleNoBind"
|
||||||
|
v-hasPermi="['machinery:type:add']"
|
||||||
|
>解绑</el-button
|
||||||
|
>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button
|
||||||
|
type="warning"
|
||||||
|
plain
|
||||||
|
icon="el-icon-download"
|
||||||
|
size="mini"
|
||||||
|
@click="handleExport"
|
||||||
|
>导出
|
||||||
|
</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar
|
||||||
|
:showSearch.sync="showSearch"
|
||||||
|
@queryTable="getList"
|
||||||
|
></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-table
|
||||||
|
v-loading="loading"
|
||||||
|
:data="typeList"
|
||||||
|
ref="multipleTable"
|
||||||
|
row-key="typeId"
|
||||||
|
default-expand-all
|
||||||
|
:tree-props="{ children: 'children' }"
|
||||||
|
border
|
||||||
|
@selection-change="handleSelectionChange"
|
||||||
|
@select="handleSelect"
|
||||||
|
@select-all="handleSelectAll"
|
||||||
|
>
|
||||||
|
<el-table-column
|
||||||
|
type="selection"
|
||||||
|
width="55"
|
||||||
|
align="center"
|
||||||
|
:reserve-selection="true"
|
||||||
|
/>
|
||||||
|
<el-table-column label="序号" align="center" width="80" type="index">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{
|
||||||
|
(queryParams.pageNum - 1) * queryParams.pageSize +
|
||||||
|
scope.$index +
|
||||||
|
1
|
||||||
|
}}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="仓库信息"
|
||||||
|
align="center"
|
||||||
|
prop="parentOneLevelName"
|
||||||
|
show-overflow-tooltip
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="施工类型"
|
||||||
|
align="center"
|
||||||
|
prop="parentFourLevelName"
|
||||||
|
show-overflow-tooltip
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="物资类型"
|
||||||
|
align="center"
|
||||||
|
prop="parentThreeLevelName"
|
||||||
|
show-overflow-tooltip
|
||||||
|
width="100"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="物资名称"
|
||||||
|
align="center"
|
||||||
|
prop="parentTwoLevelName"
|
||||||
|
show-overflow-tooltip
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="规格型号"
|
||||||
|
align="center"
|
||||||
|
prop="parentThreeLevelName"
|
||||||
|
show-overflow-tooltip
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="库管员"
|
||||||
|
align="center"
|
||||||
|
prop="keeperUserName"
|
||||||
|
show-overflow-tooltip
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div v-if="scope.row.keeperUserName == null" style="color: red">
|
||||||
|
{{ "请绑定" }}
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
{{ scope.row.keeperUserName }}
|
||||||
|
</div>
|
||||||
|
<!-- <div v-else style="color: red;"></div> -->
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="维修员"
|
||||||
|
align="center"
|
||||||
|
prop="repairUserName"
|
||||||
|
show-overflow-tooltip
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div v-if="scope.row.repairUserName == null" style="color: red">
|
||||||
|
{{ "请绑定" }}
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
{{ scope.row.repairUserName }}
|
||||||
|
</div>
|
||||||
|
<!-- <div v-else style="color: red;"></div> -->
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" align="center" width="300">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="warning"
|
||||||
|
icon="el-icon-user-solid"
|
||||||
|
@click="handleUpdateKeep(scope.row)"
|
||||||
|
v-hasPermi="['machinery:type:config']"
|
||||||
|
>
|
||||||
|
库管解绑
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
type="warning"
|
||||||
|
icon="el-icon-user-solid"
|
||||||
|
@click="handleUpdate(scope.row)"
|
||||||
|
v-hasPermi="['machinery:type:edit']"
|
||||||
|
>
|
||||||
|
维修解绑
|
||||||
|
</el-button>
|
||||||
|
<!-- <el-button
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-delete"
|
||||||
|
@click="handleDelete(scope.row)"
|
||||||
|
v-hasPermi="['machinery:type:del']"
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</el-button> -->
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import Treeselect from "@riophae/vue-treeselect";
|
||||||
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||||
|
// import {
|
||||||
|
// getListByMaType,
|
||||||
|
// getMaTypeList,
|
||||||
|
// getMaType,
|
||||||
|
// addMaType,
|
||||||
|
// updateMaType,
|
||||||
|
// delMaType,
|
||||||
|
// } from '@/api/store/tools'
|
||||||
|
import { getUserByRoleList, getMaUserList } from "@/api/system/user";
|
||||||
|
import {
|
||||||
|
getProLists,
|
||||||
|
getMaTypeList,
|
||||||
|
getListByMaType,
|
||||||
|
getMaType,
|
||||||
|
queryKeeperDataApi,
|
||||||
|
queryKeeperProApi,
|
||||||
|
queryKeeperMatApi,
|
||||||
|
queryKeeperNameApi,
|
||||||
|
delMaType,
|
||||||
|
addMaType,
|
||||||
|
updateMaType,
|
||||||
|
} from "@/api/ma/base";
|
||||||
|
import {
|
||||||
|
getMatConfigList,
|
||||||
|
getListByMatConfig,
|
||||||
|
bindRepair,
|
||||||
|
} from "@/api/ma/typeConfig";
|
||||||
|
import { getInfo } from "@/api/login";
|
||||||
|
import { downloadFile } from "@/utils/download";
|
||||||
|
export default {
|
||||||
|
name: "typeConfig",
|
||||||
|
components: { Treeselect },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
totalTemp:0,
|
||||||
|
countTemp: 1,
|
||||||
|
totalAll:0,
|
||||||
|
// 库管员用户数据
|
||||||
|
keeperList: null,
|
||||||
|
keeperDataRange: [],
|
||||||
|
keeperProRange: [],
|
||||||
|
keeperMatRange: [],
|
||||||
|
keeperNameRange: [],
|
||||||
|
//维修员用户数据
|
||||||
|
repairUserList: null,
|
||||||
|
//资产类型数据
|
||||||
|
propList: null,
|
||||||
|
// 类型名称
|
||||||
|
typeName: undefined,
|
||||||
|
// 树选项
|
||||||
|
treeOptions: undefined,
|
||||||
|
//列表数据
|
||||||
|
typeList: undefined,
|
||||||
|
// 是否显示弹出层
|
||||||
|
open: false,
|
||||||
|
// 弹出层标题
|
||||||
|
title: "",
|
||||||
|
// 日期范围
|
||||||
|
dateRange: [],
|
||||||
|
// 岗位选项
|
||||||
|
postOptions: [],
|
||||||
|
// 角色选项
|
||||||
|
roleOptions: [],
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
chosenTypeId: "",
|
||||||
|
leasePrice: "",
|
||||||
|
|
||||||
|
fileList: [],
|
||||||
|
//上传地址
|
||||||
|
// uploadUrl:'http://192.168.0.14:21624/system',//线上服务器地址+system
|
||||||
|
// uploadUrl:'http://112.29.103.165:21624/system',//线上服务器地址+system
|
||||||
|
// uploadUrl:'http://192.168.5.12:9201',//本地测试
|
||||||
|
uploadUrl: process.env.VUE_APP_BASE_API + "/system", // 上传的图片服务器地址
|
||||||
|
defaultProps: {
|
||||||
|
children: "children",
|
||||||
|
label: "label",
|
||||||
|
},
|
||||||
|
userIdTemp: -1,
|
||||||
|
typeIdTemp: -1,
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
typeName: undefined,
|
||||||
|
level: 0,
|
||||||
|
// phonenumber: undefined,
|
||||||
|
// status: undefined,
|
||||||
|
// typeId: undefined
|
||||||
|
},
|
||||||
|
|
||||||
|
configOpen: false,
|
||||||
|
cform: {
|
||||||
|
price: "",
|
||||||
|
afterPrice: "",
|
||||||
|
useDate: "",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
// 根据名称筛选部门树
|
||||||
|
typeName(val) {
|
||||||
|
this.$refs.tree.filter(val);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
// this.getInfo()
|
||||||
|
this.getList();
|
||||||
|
this.getTreeData();
|
||||||
|
this.getKeeperDataList();
|
||||||
|
// this.getUserList()
|
||||||
|
// this.getPropData()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// getInfo() {
|
||||||
|
// getInfo().then((res) => {
|
||||||
|
// console.log(res, 'companyId----')
|
||||||
|
// this.companyId = res.user.companyId
|
||||||
|
// })
|
||||||
|
// },
|
||||||
|
keeperDataChange(e) {
|
||||||
|
this.keeperDataRange.forEach((item) => {
|
||||||
|
if (e === item.value) {
|
||||||
|
this.form.keeperDataPro = null;
|
||||||
|
this.form.keeperDataMat = null;
|
||||||
|
this.form.keeperDataName = null;
|
||||||
|
// 获取工程下拉选
|
||||||
|
let keeper = queryKeeperProApi({
|
||||||
|
houseId: e,
|
||||||
|
}).then((projRes) => {
|
||||||
|
this.keeperProRange = projRes.data.map((item) => {
|
||||||
|
return {
|
||||||
|
label: item.typeName,
|
||||||
|
value: item.typeId,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
keeperDataProChange(e) {
|
||||||
|
this.keeperProRange.forEach((item) => {
|
||||||
|
if (e === item.value) {
|
||||||
|
this.form.keeperDataMat = null;
|
||||||
|
this.form.keeperDataName = null;
|
||||||
|
// 获取工程下拉选
|
||||||
|
let keeper = queryKeeperMatApi({
|
||||||
|
typeId: e,
|
||||||
|
}).then((projRes) => {
|
||||||
|
this.keeperMatRange = projRes.data.map((item) => {
|
||||||
|
return {
|
||||||
|
label: item.typeName,
|
||||||
|
value: item.typeId,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
keeperDataMatChange(e) {
|
||||||
|
this.keeperMatRange.forEach((item) => {
|
||||||
|
if (e === item.value) {
|
||||||
|
this.form.keeperDataName = null;
|
||||||
|
// 获取工程下拉选
|
||||||
|
let keeper = queryKeeperNameApi({
|
||||||
|
typeId: e,
|
||||||
|
}).then((projRes) => {
|
||||||
|
this.keeperNameRange = projRes.data.map((item) => {
|
||||||
|
return {
|
||||||
|
label: item.typeName,
|
||||||
|
value: item.typeId,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 查询物资类型 */
|
||||||
|
async getKeeperDataList(data) {
|
||||||
|
let keepdataRes = await queryKeeperDataApi({
|
||||||
|
// typeId:data.keeperData
|
||||||
|
});
|
||||||
|
this.keeperDataRange = keepdataRes.data.map((item) => {
|
||||||
|
return {
|
||||||
|
label: item.houseName,
|
||||||
|
value: item.houseId,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
this.form.keeperData = this.keeperDataRange.value;
|
||||||
|
},
|
||||||
|
|
||||||
|
async getKeeperDataListTemp(data) {
|
||||||
|
let keepdataRes = await queryKeeperDataApi({
|
||||||
|
// typeId:data.keeperData
|
||||||
|
});
|
||||||
|
this.keeperDataRange = keepdataRes.data.map((item) => {
|
||||||
|
return {
|
||||||
|
label: item.houseName,
|
||||||
|
value: item.houseId,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
// this.form.keeperData = this.keeperDataRange.value
|
||||||
|
|
||||||
|
let keepproRes = await queryKeeperProApi({
|
||||||
|
houseId: data.keeperDataPro,
|
||||||
|
});
|
||||||
|
this.keeperProRange = keepproRes.data.map((item) => {
|
||||||
|
return {
|
||||||
|
label: item.typeName,
|
||||||
|
value: item.typeId,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
this.form.keeperDataPro = this.keeperProRange.value;
|
||||||
|
},
|
||||||
|
/** 查询新增页面-上级类型下拉树结构 */
|
||||||
|
getTreeData() {
|
||||||
|
getMatConfigList().then((response) => {
|
||||||
|
this.treeOptions = response.data;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 查询列表 */
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
getListByMatConfig(this.queryParams).then((response) => {
|
||||||
|
this.typeList = response.data;
|
||||||
|
response.data.forEach(item=>{
|
||||||
|
if(item.children.length!=0){
|
||||||
|
this.totalTemp=this.totalTemp+item.children.length
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.totalTemp = this.totalTemp + response.data.length
|
||||||
|
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 筛选节点 - 左侧树
|
||||||
|
filterNode(value, data) {
|
||||||
|
if (!value) return true;
|
||||||
|
return data.label.indexOf(value) !== -1;
|
||||||
|
},
|
||||||
|
// 节点单击事件 - 左侧树
|
||||||
|
handleNodeClick(data, node) {
|
||||||
|
// this.queryParams.level = data.level
|
||||||
|
this.handleQuery();
|
||||||
|
(this.userIdTemp = data.id), (this.queryParams.userId = data.id);
|
||||||
|
},
|
||||||
|
// 取消按钮
|
||||||
|
cancel() {
|
||||||
|
this.open = false;
|
||||||
|
this.reset();
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
photoUrl: "",
|
||||||
|
photoName: "",
|
||||||
|
documentUrl: "",
|
||||||
|
documentName: "",
|
||||||
|
parentId: "",
|
||||||
|
};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
// this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.dateRange = [];
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.queryParams.typeId = undefined;
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.queryParams.pageSize = 10;
|
||||||
|
this.queryParams.level = 0;
|
||||||
|
this.$refs.tree.setCurrentKey(null);
|
||||||
|
this.handleQuery();
|
||||||
|
},
|
||||||
|
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
this.ids = selection.map((item) =>item.typeId);
|
||||||
|
console.log('ids----',this.ids)
|
||||||
|
this.single = selection.length != 1;
|
||||||
|
this.multiple = !selection.length;
|
||||||
|
},
|
||||||
|
handleSelect(selection, row) {
|
||||||
|
this.toggleSelection(selection, row);
|
||||||
|
},
|
||||||
|
handleSelectAll(selection) {
|
||||||
|
// this.countTemp++;
|
||||||
|
console.log('selectionThree',selection)
|
||||||
|
if (this.countTemp == 1 && selection.length == this.typeList.length) {
|
||||||
|
this.typeList.forEach((row) => {
|
||||||
|
this.toggleSelection([row], row);
|
||||||
|
});
|
||||||
|
this.countTemp=2
|
||||||
|
} else if (
|
||||||
|
this.countTemp == 2 &&
|
||||||
|
selection.length == this.totalTemp - this.typeList.length
|
||||||
|
) {
|
||||||
|
this.typeList.forEach((row) => {
|
||||||
|
this.toggleSelectionFalse([row], row);
|
||||||
|
});
|
||||||
|
this.countTemp=1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// else if (
|
||||||
|
// this.countTemp != 1 &&
|
||||||
|
// this.countTemp != 2 &&
|
||||||
|
// selection.length == this.totalTemp
|
||||||
|
// ) {
|
||||||
|
// this.typeList.forEach((row) => {
|
||||||
|
// this.toggleSelection([row], row);
|
||||||
|
// });
|
||||||
|
// } else if (
|
||||||
|
// this.countTemp != 1 &&
|
||||||
|
// this.countTemp != 2 &&
|
||||||
|
// selection.length == this.totalTemp - this.typeList.length
|
||||||
|
// ) {
|
||||||
|
// this.typeList.forEach((row) => {
|
||||||
|
// this.toggleSelectionFalse([row], row);
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
toggleSelection(selection, row) {
|
||||||
|
if (row.children && row.children.length) {
|
||||||
|
row.children.forEach((child) => {
|
||||||
|
this.$refs.multipleTable.toggleRowSelection(
|
||||||
|
child,
|
||||||
|
selection.includes(row)
|
||||||
|
);
|
||||||
|
this.toggleSelection(selection, child);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
toggleSelectionFalse(selection, row) {
|
||||||
|
if (row.children && row.children.length) {
|
||||||
|
row.children.forEach((child) => {
|
||||||
|
this.$refs.multipleTable.toggleRowSelection(
|
||||||
|
child,
|
||||||
|
!selection.includes(row)
|
||||||
|
);
|
||||||
|
this.toggleSelectionFalse(selection, child);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/** 绑定按钮操作 */
|
||||||
|
handleBind() {
|
||||||
|
if (this.userIdTemp == -1) {
|
||||||
|
this.$alert("未勾选绑定人,无法绑定", "提示", {
|
||||||
|
type: "warning",
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// if (this.ids.length == 0) {
|
||||||
|
// this.$alert("未进行勾选,无法绑定", "提示", {
|
||||||
|
// type: "warning",
|
||||||
|
// confirmButtonText: "确定",
|
||||||
|
// });
|
||||||
|
// return;
|
||||||
|
// } else {
|
||||||
|
// const ids = this.ids.join(",");
|
||||||
|
// }
|
||||||
|
console.log(this.typeIdTemp);
|
||||||
|
bindRepair({
|
||||||
|
typeId: this.typeIdTemp,
|
||||||
|
userId: this.userIdTemp,
|
||||||
|
bindFlag: 1,
|
||||||
|
bindRoleType: 1,
|
||||||
|
}).then((response) => {
|
||||||
|
this.$modal.msgSuccess("绑定成功");
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 解绑按钮操作 */
|
||||||
|
handleNoBind() {
|
||||||
|
if (this.userIdTemp == -1) {
|
||||||
|
this.$alert("未勾选绑定人,无法绑定", "提示", {
|
||||||
|
type: "warning",
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (this.ids.length == 0) {
|
||||||
|
this.$alert("未进行勾选,无法解绑", "提示", {
|
||||||
|
type: "warning",
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/** 修改按钮操作 */
|
||||||
|
handleUpdate(row) {
|
||||||
|
const typeId = row.typeId;
|
||||||
|
const userId = row.repairUserId;
|
||||||
|
bindRepair({
|
||||||
|
typeId: typeId,
|
||||||
|
userId: userId,
|
||||||
|
bindFlag: 2,
|
||||||
|
bindRoleType: 2,
|
||||||
|
}).then((response) => {
|
||||||
|
this.$modal.msgSuccess("解绑成功");
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
handleUpdateKeep(row) {
|
||||||
|
const typeId = row.typeId;
|
||||||
|
const userId = row.keeperUserId;
|
||||||
|
console.log("typeId", typeId);
|
||||||
|
console.log("userId", userId);
|
||||||
|
bindRepair({
|
||||||
|
typeId: typeId,
|
||||||
|
userId: userId,
|
||||||
|
bindFlag: 2,
|
||||||
|
bindRoleType: 1,
|
||||||
|
}).then((response) => {
|
||||||
|
this.$modal.msgSuccess("解绑成功");
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 提交按钮 */
|
||||||
|
submitForm: function () {
|
||||||
|
console.log(this.form, "提交参数---");
|
||||||
|
this.$refs["form"].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.form.typeId != undefined) {
|
||||||
|
updateMaType(this.form).then((response) => {
|
||||||
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
this.getTreeData();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// this.form.companyId = this.companyId
|
||||||
|
addMaType(this.form).then((response) => {
|
||||||
|
this.$modal.msgSuccess("新增成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
this.getTreeData();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 删除按钮操作 */
|
||||||
|
handleDelete(row) {
|
||||||
|
const typeIds = row.typeId;
|
||||||
|
this.$modal
|
||||||
|
.confirm("是否确认删除数据项?")
|
||||||
|
.then(function () {
|
||||||
|
return delMaType(typeIds);
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$modal.msgSuccess("删除成功");
|
||||||
|
this.getList();
|
||||||
|
this.getTreeData();
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
// handleExport() {
|
||||||
|
// // this.download('system/user/export', {
|
||||||
|
// // ...this.queryParams
|
||||||
|
// // }, `user_${new Date().getTime()}.xlsx`)
|
||||||
|
// exportMaterial(this.queryParams).then(res => {
|
||||||
|
// downloadFile({ fileName: `物资类型信息_${new Date().getTime()}.xlsx`, fileData: res, fileType: 'application/vnd.ms-excel;charset=utf-8' })
|
||||||
|
// })
|
||||||
|
// },
|
||||||
|
/** 导出按钮操作 */
|
||||||
|
handleExport() {
|
||||||
|
this.download(
|
||||||
|
"/material/ma_type/export",
|
||||||
|
{
|
||||||
|
...this.queryParams,
|
||||||
|
},
|
||||||
|
`物资类型信息_${new Date().getTime()}.xlsx`
|
||||||
|
);
|
||||||
|
},
|
||||||
|
/* 树节点操作 */
|
||||||
|
treeChange(val) {
|
||||||
|
console.log(val, "树节点");
|
||||||
|
|
||||||
|
this.form.companyId = val.companyId;
|
||||||
|
},
|
||||||
|
|
||||||
|
/* 树节点增加 */
|
||||||
|
appendTreeNode(data) {
|
||||||
|
if (data.level === 3) {
|
||||||
|
this.reset();
|
||||||
|
Object.assign(this.form, data);
|
||||||
|
this.form.parentId = data.id;
|
||||||
|
this.open = true;
|
||||||
|
this.title = "新增";
|
||||||
|
} else {
|
||||||
|
Object.assign(this.addFormParams, data);
|
||||||
|
this.addFormParams.typeName = "";
|
||||||
|
this.addTitle = "新增";
|
||||||
|
this.addTitleVisible = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/* 树节点删除 */
|
||||||
|
removeTreeNode(data) {
|
||||||
|
// this.$message.success('删除--')
|
||||||
|
console.log(data, "删除时的数据源--");
|
||||||
|
this.$modal
|
||||||
|
.confirm("是否确认删除数据项?")
|
||||||
|
.then(function () {
|
||||||
|
return delMaType(data.id);
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$modal.msgSuccess("删除成功");
|
||||||
|
this.getTreeData();
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
},
|
||||||
|
/* 树节点修改 */
|
||||||
|
editTreeNode(data) {
|
||||||
|
console.log(data, "修改");
|
||||||
|
Object.assign(this.addFormParams, data);
|
||||||
|
this.addTitle = "修改";
|
||||||
|
this.addFormParams.typeName = data.label;
|
||||||
|
this.addTitleVisible = true;
|
||||||
|
},
|
||||||
|
/* 确定 */
|
||||||
|
onSubmit() {
|
||||||
|
const { id, typeName } = this.addFormParams;
|
||||||
|
const addParams = {
|
||||||
|
parentId: id,
|
||||||
|
typeName,
|
||||||
|
};
|
||||||
|
const editParams = {
|
||||||
|
typeId: id,
|
||||||
|
typeName,
|
||||||
|
};
|
||||||
|
|
||||||
|
this.$refs["addFormParamsRef"].validate(async (valid) => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.addTitle === "新增") {
|
||||||
|
const res = await addMaType(addParams);
|
||||||
|
if (res.code === 200) {
|
||||||
|
this.$message.success("新增成功!");
|
||||||
|
this.addTitleVisible = false;
|
||||||
|
this.getTreeData();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
const res = await updateMaType(editParams);
|
||||||
|
if (res.code === 200) {
|
||||||
|
this.$message.success("修改成功!");
|
||||||
|
this.addTitleVisible = false;
|
||||||
|
this.getTreeData();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/* 取消 */
|
||||||
|
onCancel() {
|
||||||
|
this.addTitleVisible = false;
|
||||||
|
},
|
||||||
|
getParentName(list, id) {
|
||||||
|
try {
|
||||||
|
list.forEach((e) => {
|
||||||
|
if (e.id == id) {
|
||||||
|
this.form.label = e.label;
|
||||||
|
throw new Error();
|
||||||
|
} else {
|
||||||
|
if (e.children && e.children.length > 0) {
|
||||||
|
this.getParentName(e.children, id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (error) {}
|
||||||
|
},
|
||||||
|
|
||||||
|
onMousemove(data) {
|
||||||
|
this.isMousemoveId = data.id;
|
||||||
|
},
|
||||||
|
onMouseleave() {
|
||||||
|
this.isMousemoveId = null;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
::v-deep.el-table .fixed-width .el-button--mini {
|
||||||
|
width: 60px !important;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .btn-items .el-button + .el-button {
|
||||||
|
margin-left: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-items {
|
||||||
|
margin-left: 4px;
|
||||||
|
|
||||||
|
.el-button--text {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .el-tree .el-tree-node__expand-icon.expanded {
|
||||||
|
-webkit-transform: rotate(0deg);
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .el-tree .el-icon-caret-right:before {
|
||||||
|
content: "\e783";
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep
|
||||||
|
.el-tree
|
||||||
|
.el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
|
||||||
|
content: "\e781";
|
||||||
|
font-size: 16px;
|
||||||
|
color: #1890ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .el-tree-node__content > .el-tree-node__expand-icon {
|
||||||
|
color: #1890ff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep .el-tree-node__expand-icon.is-leaf {
|
||||||
|
color: transparent !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
::v-deep
|
||||||
|
.el-tree--highlight-current
|
||||||
|
.el-tree-node.is-current
|
||||||
|
> .el-tree-node__content {
|
||||||
|
background-color: #8decf1;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Loading…
Reference in New Issue