|
@@ -12,35 +12,25 @@
|
|
|
</div>
|
|
|
|
|
|
<div class="part-box part-box-pad">
|
|
|
- <el-table :data="dataList" border>
|
|
|
- <el-table-column type="index" width="50" align="center">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="name" label="毕业要求"> </el-table-column>
|
|
|
- <el-table-column prop="nodeCount" label="子节点"> </el-table-column>
|
|
|
- <el-table-column class-name="action-column" label="操作" width="160px">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button
|
|
|
- class="btn-primary"
|
|
|
- type="text"
|
|
|
- @click="toEditNode(scope.row)"
|
|
|
+ <drag-table :data="dataList" :columns="columns" @sort-change="sortChange">
|
|
|
+ <template #action="{ row }">
|
|
|
+ <div class="action-column">
|
|
|
+ <el-button class="btn-primary" type="text" @click="toEditNode(row)"
|
|
|
>子节点</el-button
|
|
|
>
|
|
|
- <el-button
|
|
|
- class="btn-primary"
|
|
|
- type="text"
|
|
|
- @click="toEdit(scope.row)"
|
|
|
+ <el-button class="btn-primary" type="text" @click="toEdit(row)"
|
|
|
>编辑</el-button
|
|
|
>
|
|
|
<el-button
|
|
|
- :disabled="!!scope.row.code"
|
|
|
+ :disabled="!!row.code"
|
|
|
class="btn-danger"
|
|
|
type="text"
|
|
|
- @click="toDelete(scope.row)"
|
|
|
+ @click="toDelete(row)"
|
|
|
>删除</el-button
|
|
|
>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </drag-table>
|
|
|
</div>
|
|
|
|
|
|
<!-- ModifyRequirement -->
|
|
@@ -62,16 +52,19 @@
|
|
|
import {
|
|
|
professionalRequirementListPage,
|
|
|
professionalRequirementRemove,
|
|
|
+ professionalRequirementSort,
|
|
|
} from "../../api";
|
|
|
|
|
|
import ModifyRequirement from "./ModifyRequirement.vue";
|
|
|
import ModifyRequirementNode from "./ModifyRequirementNode.vue";
|
|
|
+import DragTable from "@/components/DragTable.vue";
|
|
|
|
|
|
export default {
|
|
|
name: "professional-requirement",
|
|
|
components: {
|
|
|
ModifyRequirement,
|
|
|
ModifyRequirementNode,
|
|
|
+ DragTable,
|
|
|
},
|
|
|
props: {
|
|
|
rowData: {
|
|
@@ -85,6 +78,26 @@ export default {
|
|
|
return {
|
|
|
dataList: [],
|
|
|
curRow: {},
|
|
|
+ columns: [
|
|
|
+ {
|
|
|
+ label: "序号",
|
|
|
+ prop: "$index",
|
|
|
+ width: 60,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "毕业要求",
|
|
|
+ prop: "name",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "子节点",
|
|
|
+ prop: "nodeCount",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "操作",
|
|
|
+ prop: "action",
|
|
|
+ width: 160,
|
|
|
+ },
|
|
|
+ ],
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
@@ -97,6 +110,16 @@ export default {
|
|
|
});
|
|
|
this.dataList = data || [];
|
|
|
},
|
|
|
+ async sortChange(data) {
|
|
|
+ const res = await professionalRequirementSort(
|
|
|
+ data.map((item) => {
|
|
|
+ return { id: item.id, sortNum: item.sortNum };
|
|
|
+ })
|
|
|
+ ).catch(() => {});
|
|
|
+ if (!res) {
|
|
|
+ await this.getList();
|
|
|
+ }
|
|
|
+ },
|
|
|
toAdd() {
|
|
|
this.curRow = { professionalId: this.rowData.id };
|
|
|
this.$refs.ModifyRequirement.open();
|