基础数据-镀种分类-新增排序/权限

dev-scheduling
ysn 1 month ago
parent e0edacabdd
commit c50f106dd8
  1. 272
      src/views/processManagement/platingAssort.vue

@ -17,16 +17,24 @@
@size-change="sizeChange" @size-change="sizeChange"
@refresh-change="refreshChange" @refresh-change="refreshChange"
@on-load="onLoad" @on-load="onLoad"
@sort-change="sortChange"
:permission="permissionList"
> >
<template #menu-left> </template> <template #menu-left> </template>
<template #menu-right="{ size }"> </template> <template #menu-right="{ size }"> </template>
<template #menu="scope"> <template #menu="scope">
<el-button type="primary" link @click="setCrew(scope.row)">设置人员</el-button> <el-button
type="primary"
link
v-if="permission.platingAssort_setPerson"
@click="setCrew(scope.row)"
>设置人员</el-button
>
</template> </template>
<template #bsWorkType.wtName="scope"> <template #bsWorkType.wtName="scope">
<span> <span>
{{ scope.row.bsWorkType ? scope.row.bsWorkType.wtName : "-" }} {{ scope.row.bsWorkType ? scope.row.bsWorkType.wtName : '-' }}
</span> </span>
</template> </template>
<template #name="{ row }"> <template #name="{ row }">
@ -39,10 +47,16 @@
</div> </div>
</template> </template>
</avue-crud> </avue-crud>
<el-dialog class="setAssortCrewBox" title="设置人员" append-to-body v-model="crewDialog" width="60%"> <el-dialog
class="setAssortCrewBox"
title="设置人员"
append-to-body
v-model="crewDialog"
width="60%"
>
<tree-transfer <tree-transfer
class="trans_ware" class="trans_ware"
style="margin-top: 10px;" style="margin-top: 10px"
ref="transferRef" ref="transferRef"
:titleList="['未选择', '已选择']" :titleList="['未选择', '已选择']"
v-model:fromData="noChooseUser" v-model:fromData="noChooseUser"
@ -57,10 +71,10 @@
rootPid="0" rootPid="0"
/> />
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button @click="crewDialog = false"> </el-button> <el-button @click="crewDialog = false"> </el-button>
<el-button type="primary" @click="submitPeople"> </el-button> <el-button type="primary" @click="submitPeople"> </el-button>
</span> </span>
</template> </template>
</el-dialog> </el-dialog>
<!-- 设置人员弹框 <!-- 设置人员弹框
@ -74,25 +88,32 @@
</basic-container> </basic-container>
</template> </template>
<script> <script>
import treeTransfer from 'tree-transfer-vue3' // import treeTransfer from 'tree-transfer-vue3'; //
import { mapGetters } from "vuex"; import { mapGetters } from 'vuex';
import {getList,saveClassify,updateClassify,deleteClassify,getSelectUser,saveUser} from "@/api/basicData/platingAssort" import {
import setPersonnel from "@/components/dialogCom/setPersonnel.vue"; getList,
saveClassify,
updateClassify,
deleteClassify,
getSelectUser,
saveUser,
} from '@/api/basicData/platingAssort';
import setPersonnel from '@/components/dialogCom/setPersonnel.vue';
export default { export default {
components: { components: {
setPersonnel, setPersonnel,
treeTransfer treeTransfer,
}, },
data() { data() {
return { return {
bcId: null, bcId: null,
setCrewOpen: false, setCrewOpen: false,
crewDialog:false, crewDialog: false,
form: {}, form: {},
query: {}, query: {},
loading: true, loading: true,
selectionList: [], selectionList: [],
parentId: "", parentId: '',
page: { page: {
pageSize: 10, pageSize: 10,
currentPage: 1, currentPage: 1,
@ -101,12 +122,12 @@ export default {
option: { option: {
columnSort: true, columnSort: true,
tip: false, tip: false,
height: "auto", height: 'auto',
calcHeight: 32, calcHeight: 32,
simplePage: false, simplePage: false,
searchShow: true, searchShow: true,
searchMenuSpan: 18, searchMenuSpan: 18,
dialogWidth: "30%", dialogWidth: '30%',
border: true, border: true,
selection: false, selection: false,
viewBtn: true, viewBtn: true,
@ -114,92 +135,92 @@ export default {
dialogClickModal: false, dialogClickModal: false,
excelBtn: true, excelBtn: true,
viewBtn: false, viewBtn: false,
addBtnIcon: " ", addBtnIcon: ' ',
viewBtnIcon: " ", viewBtnIcon: ' ',
delBtnIcon: " ", delBtnIcon: ' ',
editBtnIcon: " ", editBtnIcon: ' ',
editBtnText: "修改", editBtnText: '修改',
refreshBtn: true, refreshBtn: true,
searchShowBtn: false, searchShowBtn: false,
gridBtn: false, gridBtn: false,
searchIndex: 3, searchIndex: 3,
searchIcon: true, searchIcon: true,
searchLabelPosition: "left", searchLabelPosition: 'left',
searchLabelPosition: "left", searchLabelPosition: 'left',
searchGutter: 24, searchGutter: 24,
searchSpan: 6, searchSpan: 6,
menuAlign: "center", menuAlign: 'center',
gridBtn: false, gridBtn: false,
searchMenuPosition: "right", searchMenuPosition: 'right',
align: "center", align: 'center',
index: true, index: true,
column: [ column: [
{ {
label: "编码", label: '编码',
prop: "code", prop: 'code',
search: false, search: false,
sortable: true, sortable: true,
overHidden: true, overHidden: true,
span:24, span: 24,
rules: [ rules: [
{ {
required: true, required: true,
message: "请输入编码", message: '请输入编码',
trigger: "blur", trigger: 'blur',
}, },
], ],
}, },
{ {
label: "分类名称", label: '分类名称',
prop: "name", prop: 'name',
search: true, search: true,
sortable: true, sortable: true,
overHidden: true, overHidden: true,
span:24, span: 24,
rules: [ rules: [
{ {
required: true, required: true,
message: "请输入分类名称", message: '请输入分类名称',
trigger: "blur", trigger: 'blur',
}, },
], ],
}, },
{ {
label: "分类备注", label: '分类备注',
prop: "memo", prop: 'memo',
sortable: true, sortable: true,
search: false, search: false,
span:24, span: 24,
rules: [ rules: [
{ {
required: false, required: false,
message: "请选择分类备注", message: '请选择分类备注',
trigger: "click", trigger: 'click',
}, },
], ],
}, },
], ],
}, },
data: [], data: [],
checkId:'', checkId: '',
}; };
}, },
computed: { computed: {
...mapGetters(["userInfo", "permission"]), ...mapGetters(['userInfo', 'permission']),
permissionList() { permissionList() {
return { return {
addBtn: this.validData(this.permission.menu_add, false), addBtn: this.validData(this.permission.platingAssort_add, false),
viewBtn: this.validData(this.permission.menu_view, false), viewBtn: this.validData(this.permission.platingAssort_view, false),
delBtn: this.validData(this.permission.menu_delete, false), delBtn: this.validData(this.permission.platingAssort_del, false),
editBtn: this.validData(this.permission.menu_edit, false), editBtn: this.validData(this.permission.platingAssort_edit, false),
}; };
}, },
ids() { ids() {
let ids = []; let ids = [];
this.selectionList.forEach((ele) => { this.selectionList.forEach(ele => {
ids.push(ele.id); ids.push(ele.id);
}); });
return ids.join(","); return ids.join(',');
}, },
}, },
methods: { methods: {
@ -210,7 +231,7 @@ export default {
const newItem = { const newItem = {
...item, ...item,
parentId // parentId parentId, // parentId
// pid // pid
}; };
@ -224,14 +245,14 @@ export default {
}, },
// //
setCrew(row) { setCrew(row) {
this.checkId = row.id this.checkId = row.id;
getSelectUser({ getSelectUser({
clazzId:row.id clazzId: row.id,
}).then(res =>{ }).then(res => {
this.chooseUser = this.processTree(res.data.data.clazzSelects) this.chooseUser = this.processTree(res.data.data.clazzSelects);
this.noChooseUser = this.processTree(res.data.data.clazzUnSelects) this.noChooseUser = this.processTree(res.data.data.clazzUnSelects);
this.crewDialog = true; this.crewDialog = true;
}) });
}, },
getLeafIds(nodes) { getLeafIds(nodes) {
const leafIds = []; const leafIds = [];
@ -256,19 +277,19 @@ export default {
traverse(nodes); traverse(nodes);
return leafIds; return leafIds;
}, },
submitPeople(){ submitPeople() {
let userArr = this.getLeafIds(this.chooseUser).map(item => item.replace('user-',"")) let userArr = this.getLeafIds(this.chooseUser).map(item => item.replace('user-', ''));
let params = { let params = {
id:this.checkId, id: this.checkId,
userIds:userArr userIds: userArr,
} };
saveUser(params).then(res =>{ saveUser(params).then(res => {
if(res.data.code === 200){ if (res.data.code === 200) {
this.$message.success('人员设置成功') this.$message.success('人员设置成功');
this.crewDialog = false this.crewDialog = false;
this.onLoad() this.onLoad();
} }
}) });
}, },
// //
setCrewOpeSancel(isRefresh) { setCrewOpeSancel(isRefresh) {
@ -285,55 +306,59 @@ export default {
}, },
handleAdd(row) { handleAdd(row) {
this.parentId = row.id; this.parentId = row.id;
const column = this.findObject(this.option.column, "parentId"); const column = this.findObject(this.option.column, 'parentId');
column.value = row.id; column.value = row.id;
column.addDisabled = true; column.addDisabled = true;
this.$refs.crud.rowAdd(); this.$refs.crud.rowAdd();
}, },
// //
rowSave(row, done, loading) { rowSave(row, done, loading) {
console.log('row-------------------',row) console.log('row-------------------', row);
saveClassify(row).then(res =>{ saveClassify(row)
if(res.data.code == 200){ .then(res => {
this.$message.success('新增成功!'); if (res.data.code == 200) {
this.onLoad(); this.$message.success('新增成功!');
done() this.onLoad();
} done();
}).catch(err =>{ }
done() })
}) .catch(err => {
done();
});
}, },
// //
rowUpdate(row, index, done, loading) { rowUpdate(row, index, done, loading) {
updateClassify(row).then(res =>{ updateClassify(row)
if(res.data.code == 200){ .then(res => {
this.$message.success('修改成功!'); if (res.data.code == 200) {
this.onLoad(); this.$message.success('修改成功!');
done() this.onLoad();
}else{ done();
this.$message.error('修改失败!'); } else {
} this.$message.error('修改失败!');
}).catch(err =>{ }
done() })
}) .catch(err => {
done();
});
}, },
rowDel(row, index, done) { rowDel(row, index, done) {
this.$confirm("确定将选择数据删除?", { this.$confirm('确定将选择数据删除?', {
confirmButtonText: "确定", confirmButtonText: '确定',
cancelButtonText: "取消", cancelButtonText: '取消',
type: "warning", type: 'warning',
}).then(() => { }).then(() => {
deleteClassify({ deleteClassify({
ids:row.id ids: row.id,
}).then(res =>{ }).then(res => {
if(res.data.code == 200){ if (res.data.code == 200) {
this.$message.success('删除成功!'); this.$message.success('删除成功!');
this.onLoad(); this.onLoad();
}else{ } else {
this.$message.error('删除失败!'); this.$message.error('删除失败!');
} }
}) });
}) });
}, },
// //
searchReset() { searchReset() {
@ -344,7 +369,7 @@ export default {
// //
searchChange(params, done) { searchChange(params, done) {
this.query = params; this.query = params;
this.parentId = ""; this.parentId = '';
this.page.currentPage = 1; this.page.currentPage = 1;
this.onLoad(this.page, params); this.onLoad(this.page, params);
done(); done();
@ -377,9 +402,9 @@ export default {
}, },
// beforeClose // beforeClose
beforeClose(done) { beforeClose(done) {
this.parentId = ""; this.parentId = '';
const column = this.findObject(this.option.column, "parentId"); const column = this.findObject(this.option.column, 'parentId');
column.value = ""; column.value = '';
column.addDisabled = false; column.addDisabled = false;
done(); done();
}, },
@ -395,20 +420,31 @@ export default {
refreshChange() { refreshChange() {
this.onLoad(this.page, this.query); this.onLoad(this.page, this.query);
}, },
//
sortChange({ prop, order }) {
this.query.descs = undefined;
this.query.ascs = undefined;
let orderByFieldKey = order === 'descending' ? 'descs' : 'ascs';
this.query[orderByFieldKey] = !prop
? undefined
: prop.replace(/([a-z])([A-Z0-9])/g, '$1_$2').toUpperCase();
// //
this.onLoad(this.page, this.query);
},
// //
onLoad(page, params = {}) { onLoad(page, params = {}) {
this.loading = true; this.loading = true;
getList({ getList({
descs:'CODE', descs: 'CODE',
current:this.page.currentPage, current: this.page.currentPage,
size:this.page.pageSize, size: this.page.pageSize,
...this.query ...this.query,
}).then(res =>{ }).then(res => {
this.data = res.data.data.records this.data = res.data.data.records;
this.page.total = res.data.data.total this.page.total = res.data.data.total;
this.loading = false this.loading = false;
}) });
// getLazyList(this.parentId, Object.assign(params, this.query)).then(res => { // getLazyList(this.parentId, Object.assign(params, this.query)).then(res => {
// this.data = res.data.data; // this.data = res.data.data;
@ -494,11 +530,11 @@ export default {
</script> </script>
<style lang="scss"> <style lang="scss">
.setAssortCrewBox{ .setAssortCrewBox {
.tree-transfer-vue3{ .tree-transfer-vue3 {
height: 450px !important; height: 450px !important;
.el-tree{ .el-tree {
height: 335px !important; height: 335px !important;
} }
} }

Loading…
Cancel
Save