Browse Source

公司部门设置功能优化

ljb 9 months ago
parent
commit
126846d1c3

+ 10 - 0
src/api/basicResource/compDeptList.js

@@ -26,3 +26,13 @@ export const update = (row) => {
     data: row
   })
 }
+
+export const remove = (ids) => {
+  return request({
+    url: '/api/kd-scientific/remove',
+    method: 'delete',
+    params: {
+      ids
+    }
+  })
+}

+ 5 - 3
src/option/basicResource/compDeptList.js

@@ -7,13 +7,13 @@ export default {
   index: true,
   searchLabelWidth: 140,
   labelWidth: 110,
-  menuWidth: 140,
-  delBtn: false,
+  menuWidth: 300,
   refreshBtn: false,
   columnBtn: false,
-  editBtn: false,
   gridBtn: false,
   addBtn: false,
+  editBtn: false,
+  delBtn: false,
   dialogClickModal: false,
   dialogWidth: 500,
   dialogType: "drawer",
@@ -25,6 +25,8 @@ export default {
       label: '二级单位',
       prop: 'secondUnitName',
       span: 24,
+      display: false,
+      disabled: false,
       hide: true,
     },
     {

+ 47 - 4
src/views/basic-resource/comp-basic-info/components/comp-dept-list.vue

@@ -10,12 +10,29 @@
     <template slot="menu" slot-scope="{ row, size, type }">
       <el-button
         v-if="!row.parentId"
+        icon="el-icon-plus"
         :size="size"
         :type="type"
         @click="handleAddChild(row)"
       >
         新增部门/科室/项目部
       </el-button>
+      <el-button
+        icon="el-icon-edit"
+        :size="size"
+        :type="type"
+        @click="handleEditBtn(row)"
+      >
+        编辑
+      </el-button>
+      <el-button
+        icon="el-icon-delete"
+        :size="size"
+        :type="type"
+        @click="rowDel(row)"
+      >
+        删除
+      </el-button>
     </template>
   </avue-crud>
 </template>
@@ -78,7 +95,6 @@ export default window.$crudCommon(
         this.api[this.option.list || "getList"]({
           yearAndMonth: this.yearAndMonth,
         }).then(({ data }) => {
-          console.log(this.buildTree(data.data));
           this.data = this.buildTree(data.data);
           this.loading = false;
         });
@@ -86,20 +102,47 @@ export default window.$crudCommon(
       handleAddParent() {
         const column = this.findObject(this.option.column, "secondUnitName");
         const deptColumn = this.findObject(this.option.column, "deptName");
-        column.value = '';
+
+        column.display = true;
         column.disabled = false;
         deptColumn.display = false;
+
         this.$refs.crud.rowAdd();
       },
       handleAddChild(row) {
         const column = this.findObject(this.option.column, "secondUnitName");
         const deptColumn = this.findObject(this.option.column, "deptName");
         deptColumn.display = true;
-        column.value = row.name;
+        column.display = true;
         column.disabled = true;
-        this.form.parentId = row.id;
+        this.form = {
+          parentId: row.id,
+          secondUnitName: row.name
+        };
         this.$refs.crud.rowAdd();
       },
+      handleEditBtn(row) {
+        const column = this.findObject(this.option.column, "secondUnitName");
+        const deptColumn = this.findObject(this.option.column, "deptName");
+        column.display = false;
+        deptColumn.display = false;
+        this.form = { ...row };
+        if (row.parentId) {
+          deptColumn.display = true;
+          this.form.deptName = row.name;
+        } else {
+          column.display = true;
+          this.form.secondUnitName = row.name;
+        }
+
+        this.$refs.crud.rowEdit(this.form);
+      },
+      getFormData() {
+        const newForm = { ...this.form, name: this.form.parentId ? this.form.deptName : this.form.secondUnitName, yearAndMonth: this.yearAndMonth };
+        delete newForm.secondUnitName;
+        delete newForm.deptName;
+        return newForm;
+      },
     },
   },
   {