姜玉琦 2024-02-27 02:45:50 +08:00
commit 8f66f73e52
7 changed files with 104 additions and 26 deletions

View File

@ -54,6 +54,18 @@ public class BaseAssetsTypeController extends BaseController
return getDataTable(list);
}
/**
*
* @return
*/
@PreAuthorize("@ss.hasPermi('base:assetsType:list')")
@GetMapping("/listLevel2")
public AjaxResult listLevel2(){
List<BaseAssetsType> list = baseAssetsTypeService.selectBaseAssetsTypeLevel2();
return AjaxResult.success(list);
}
/**
*
*/

View File

@ -58,4 +58,10 @@ public interface BaseAssetsTypeMapper
* @return
*/
public int deleteBaseAssetsTypeByIds(Long[] ids);
/**
*
* @return
*/
List<BaseAssetsType> selectBaseAssetsTypeLevel2();
}

View File

@ -67,4 +67,10 @@ public interface IBaseAssetsTypeService
* @return
*/
public List<BaseAssetsType> findAllByCategory(String category);
/**
*
* @return
*/
List<BaseAssetsType> selectBaseAssetsTypeLevel2();
}

View File

@ -156,4 +156,13 @@ public class BaseAssetsTypeServiceImpl implements IBaseAssetsTypeService
}
return list;
}
/**
*
* @return
*/
@Override
public List<BaseAssetsType> selectBaseAssetsTypeLevel2() {
return baseAssetsTypeMapper.selectBaseAssetsTypeLevel2();
}
}

View File

@ -30,6 +30,9 @@
<if test="parentId == 0 ">
and parent_id is null
</if>
<if test="parentId == -1 ">
and parent_id is not null
</if>
<if test="parentId &gt; 0 ">
and parent_id = #{parentId}
</if>
@ -106,4 +109,8 @@
#{id}
</foreach>
</delete>
<select id="selectBaseAssetsTypeLevel2" resultMap="BaseAssetsTypeResult">
<include refid="selectBaseAssetsTypeVo"/>
where parent_id is null and is_del=0
</select>
</mapper>

View File

@ -43,6 +43,13 @@ export function delAssetsType(id) {
})
}
export function listLevel2(){
return request({
url: '/base/assetsType/listLevel2',
method: 'get'
})
}
// 根据分类查询物资
export function findAllByCategory(category) {
return request({

View File

@ -9,7 +9,7 @@
<el-form-item label="项目名称" prop="defaultDeptId">
<el-select v-model="queryParams.defaultDeptId" placeholder="请选择项目名称">
<el-option v-for="it in prjOpts" :key="it.deptId" :label="it.deptName" :value="it.deptId" />
<el-option v-for="it in prjOpts" :key="it.deptId" :label="it.deptName" :value="it.deptId" @change="doPrjChange"/>
</el-select>
</el-form-item>
@ -84,33 +84,30 @@
<!-- 添加或修改物资类型对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="父级分类" prop="parentId">
<el-input v-model="form.parentId" placeholder="请输入父级分类" />
<el-form-item label="公司名称">
<el-input v-model="form.compName" disabled/>
</el-form-item>
<el-form-item label="单位主键" prop="deptId">
<el-input v-model="form.deptId" placeholder="请输入单位主键" />
<el-form-item label="项目名称">
<el-input v-model="form.deptName" disabled/>
</el-form-item>
<el-form-item label="资产类型" prop="type">
<el-select v-model="form.type" placeholder="请选择资产类型">
<el-form-item label="一级分类" prop="type" >
<el-select v-model="form.type" placeholder="请选择资产类型" @change="doLvl1Change">
<el-option v-for="dict in dict.type.sys_process_category" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="二级分类" prop="parentId">
<el-select v-model="form.parentId" placeholder="请选择资产类型">
<el-option v-for="it in lvl2Opts" :key="it.id" :label="it.name"
:value="it.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="资产名称" prop="name">
<el-input v-model="form.name" placeholder="请输入资产名称" />
</el-form-item>
<el-form-item label="资产单位" prop="unit">
<el-input v-model="form.unit" placeholder="请输入资产单位" />
</el-form-item>
<el-form-item label="是否删除" prop="isDel">
<el-select v-model="form.isDel" placeholder="请选择是否删除">
<el-option v-for="dict in dict.type.sys_is_del" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -121,16 +118,18 @@
</template>
<script>
import { listAssetsType, getAssetsType, delAssetsType, addAssetsType, updateAssetsType } from "@/api/base/assetsType";
import { listAssetsType, getAssetsType, delAssetsType, addAssetsType, updateAssetsType,listLevel2 } from "@/api/base/assetsType";
import { listDept } from '@/api/system/dept'
export default {
name: "AssetsType",
dicts: ['sys_process_category', 'sys_is_del'],
data() {
return {
depOpts: [],
lvlDatas:[],
deptOpts: [],
compyOpts: [],
prjOpts: [],
lvl2Opts:[],
//
loading: true,
//
@ -151,9 +150,9 @@ export default {
open: false,
//
queryParams: {
parentId:-1,
pageNum: 1,
pageSize: 10,
parentId: null,
compyId: null,
defaultDeptId: null,
type: null,
@ -170,29 +169,48 @@ export default {
},
created() {
listDept().then(d => {
this.depOpts = d.data || [];
this.compyOpts = this.depOpts.filter(it => it.parentId == 100)
this.deptOpts = d.data || [];
this.compyOpts = this.deptOpts.filter(it => it.parentId == 100)
if (this.compyOpts.length > 0) {
this.queryParams.compyId = this.compyOpts[0].deptId;
this.prjOpts = this.depOpts.filter(it => it.parentId == this.queryParams.compyId);
this.form.compName=this.compyOpts[0].deptName;
this.prjOpts = this.deptOpts.filter(it => it.parentId == this.queryParams.compyId);
if (this.prjOpts.length > 0) {
this.queryParams.defaultDeptId = this.prjOpts[0].deptId;
this.form.deptName=this.prjOpts[0].deptName;
this.getList();
}
}
});
listLevel2().then(d=>{
this.lvlDatas=d.data;
})
},
methods: {
doLvl1Change(a){
this.lvl2Opts=this.lvlDatas.filter(d=>d.type==a);
if(this.lvl2Opts.length>0){
this.form.parentId=this.lvl2Opts[0].id;
}
},
doCompyChange(a) {
this.prjOpts = this.depOpts.filter(it => it.parentId == this.queryParams.compyId);
let tmps=this.compyOpts.filter(d=>d.deptId==a);
this.form.compName=tmps.length>0?tmps[0].deptName:"";
this.prjOpts = this.deptOpts.filter(it => it.parentId == this.queryParams.compyId);
if (this.prjOpts.length > 0) {
this.queryParams.defaultDeptId = this.prjOpts[0].deptId;
this.form.deptName=this.prjOpts[0].deptName;
}
this.handleQuery();
},
doPrjChange(a){
let tmps=this.prjOpts.filter(d=>d.deptId==a);
this.form.deptName=tmps.length>0?tmps[0].deptName:"";
},
/** 查询物资类型列表 */
getList() {
this.loading = true;
this.loading = true;
listAssetsType(this.queryParams).then(response => {
this.assetsTypeList = response.rows;
this.total = response.total;
@ -209,7 +227,7 @@ export default {
this.form = {
id: null,
parentId: null,
deptId: null,
deptId: this.queryParams.defaultDeptId,
type: null,
name: null,
unit: null,
@ -220,6 +238,19 @@ export default {
updateTime: null,
remark: null
};
let tmps=this.compyOpts.filter(d=>d.deptId==this.queryParams.compyId);
this.form.compName=tmps.length>0?tmps[0].deptName:"";
tmps=this.prjOpts.filter(d=>d.deptId==this.form.deptId);
this.form.deptName=tmps.length>0?tmps[0].deptName:"";
tmps=this.dict.type.sys_process_category
if(tmps.length>0){
this.form.type=tmps[0].value;
this.lvl2Opts=this.lvlDatas.filter(d=>d.type==this.form.type);
if(this.lvl2Opts.length>0){
this.form.parentId=this.lvl2Opts[0].id;
}
}
this.resetForm("form");
},
/** 搜索按钮操作 */