Merge branch 'master' of https://e.coding.net/ctcdevteam/ehs/ehs_web
This commit is contained in:
commit
b79a1ef671
|
@ -476,4 +476,32 @@ export default {
|
|||
},
|
||||
},
|
||||
},
|
||||
srule: {
|
||||
list: {
|
||||
name: "排班规则列表",
|
||||
req: async function (data) {
|
||||
return await http.get(
|
||||
`${config.API_URL}/mtm/srule/`,
|
||||
data
|
||||
);
|
||||
},
|
||||
},
|
||||
create: {
|
||||
name: "创建",
|
||||
req: async function (data) {
|
||||
return await http.post(
|
||||
`${config.API_URL}/mtm/srule/`,
|
||||
data
|
||||
);
|
||||
},
|
||||
},
|
||||
delete: {
|
||||
name: "删除",
|
||||
req: async function (id) {
|
||||
return await http.delete(
|
||||
`${config.API_URL}/mtm/srule/${id}/`
|
||||
);
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
@ -88,7 +88,7 @@ const props = defineProps({
|
|||
options: { type: Array, default: null },
|
||||
});
|
||||
|
||||
const emit = defineEmits(["update:modelValue", "update:obj", "update:label"]);
|
||||
const emit = defineEmits(["update:modelValue", "update:obj", "update:label", "change"]);
|
||||
|
||||
// 控制 popover 显示与隐藏的状态
|
||||
const showPopover = ref(false);
|
||||
|
|
|
@ -2899,6 +2899,15 @@ const routes = [
|
|||
hidden: true,
|
||||
},
|
||||
component: "enm_rm/logDetail",
|
||||
},
|
||||
{
|
||||
name: "srule",
|
||||
path: "/enm_base/srule",
|
||||
meta: {
|
||||
title: "排班规则",
|
||||
perms: ["srule"],
|
||||
},
|
||||
component: "mtm/srule",
|
||||
},
|
||||
],
|
||||
},
|
||||
|
|
|
@ -0,0 +1,103 @@
|
|||
<template>
|
||||
<el-container>
|
||||
<el-header>
|
||||
<div class="left-panel">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="table_add" v-auth="'srule.create'"></el-button>
|
||||
</div>
|
||||
</el-header>
|
||||
<el-main class="nopadding">
|
||||
<scTable ref="table" :apiObj="apiObj" row-key="id" hidePagination hideDo>
|
||||
<el-table-column label="#" type="index" width="50"></el-table-column>
|
||||
<el-table-column label="所属部门" prop="belong_dept_name" width="120"></el-table-column>
|
||||
<el-table-column label="循环列表" prop="rule_display"></el-table-column>
|
||||
<el-table-column label="操作" fixed="right" align="center" width="140">
|
||||
<template #default="scope">
|
||||
<el-popconfirm title="确定删除吗?" @confirm="table_del(scope.row, scope.$index)">
|
||||
<template #reference>
|
||||
<el-button link size="small" v-auth="'srule.delete'" type="danger">删除</el-button>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
</el-main>
|
||||
<el-dialog title="排班规则" v-model="dialogVisible" :size="1000">
|
||||
<el-form ref="dialogForm" :model="form">
|
||||
<el-form-item label="所属部门" required>
|
||||
<xtSelect v-model="form.belong_dept" :apiObj="apiObjP" @change="handlePChange">
|
||||
<el-table-column prop="name"></el-table-column>
|
||||
</xtSelect>
|
||||
</el-form-item>
|
||||
<div>
|
||||
<el-button v-for="item in teamButtons" :key="item.id" type="primary" @click="addTeam(item)">
|
||||
{{ item.name }}
|
||||
</el-button>
|
||||
</div>
|
||||
<div style="margin-top: 6px" v-if="form.rule_display.length > 0">
|
||||
<span v-for="(item, index) in form.rule_display" :key="index">
|
||||
{{ item }} ->
|
||||
</span>
|
||||
</div>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<el-button type="primary" @click="save">保存</el-button>
|
||||
</template>
|
||||
|
||||
|
||||
</el-dialog>
|
||||
</el-container>
|
||||
|
||||
</template>
|
||||
<script>
|
||||
const dForm = {
|
||||
belong_dept: null,
|
||||
rule: [],
|
||||
rule_display: []
|
||||
}
|
||||
export default {
|
||||
name: 'srule',
|
||||
data() {
|
||||
return {
|
||||
apiObjP: this.$API.system.dept.list,
|
||||
apiObj: this.$API.mtm.srule.list,
|
||||
dialogVisible: false,
|
||||
form: Object.assign({}, dForm),
|
||||
teamButtons: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
table_add() {
|
||||
this.form = Object.assign({}, dForm);
|
||||
this.dialogVisible = true;
|
||||
},
|
||||
handlePChange() {
|
||||
this.teamButtons = []
|
||||
this.form.rule = []
|
||||
this.form.rule_display = []
|
||||
if (this.form.belong_dept != null) {
|
||||
this.$API.mtm.team.list.req({ belong_dept: this.form.belong_dept, page: 0 }).then(res => {
|
||||
this.teamButtons = res;
|
||||
})
|
||||
}
|
||||
},
|
||||
addTeam(item) {
|
||||
this.form.rule.push(item.id);
|
||||
this.form.rule_display.push(item.name);
|
||||
},
|
||||
save() {
|
||||
this.$API.mtm.srule.create.req(this.form).then(res => {
|
||||
this.$refs.table.refresh();
|
||||
this.dialogVisible = false;
|
||||
that.$message.success("操作成功");
|
||||
})
|
||||
},
|
||||
table_del(row, index) {
|
||||
console.log(row)
|
||||
this.$API.mtm.srule.delete.req(row.id).then(res => {
|
||||
this.$refs.table.refresh();
|
||||
that.$message.success("操作成功");
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
|
@ -26,7 +26,7 @@ module.exports = defineConfig({
|
|||
},
|
||||
client: {
|
||||
overlay: {
|
||||
// runtimeErrors: false,
|
||||
runtimeErrors: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue