wsx пре 1 година
родитељ
комит
8dbd0edd3c

+ 7 - 0
src/api/project-manage/index.js

@@ -111,6 +111,13 @@ export async function getProjectCode(type){
   return Promise.reject(new Error(res.data.message));
   return Promise.reject(new Error(res.data.message));
 }
 }
 
 
+export async function getProjectCodeG(type){
+  const res = await request.get(`/main/codemanage/getCode/${type}`,);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
 
 
 
 
 
 

+ 30 - 10
src/views/project-manage/project-initiation/components/project-form.vue

@@ -97,7 +97,7 @@
               @change="teamChange"
               @change="teamChange"
             >
             >
               <el-option
               <el-option
-                v-for="item in teamList"
+                v-for="item in grouplist"
                 :key="item.id"
                 :key="item.id"
                 :label="item.name"
                 :label="item.name"
                 :value="item.id"
                 :value="item.id"
@@ -244,7 +244,10 @@
         </el-col>
         </el-col>
         <el-col :span="8">
         <el-col :span="8">
           <el-form-item label="联系人">
           <el-form-item label="联系人">
-            <el-input v-model="form.contactRelationUserName"  :disabled="dialogType == 'view'"></el-input>
+            <el-input
+              v-model="form.contactRelationUserName"
+              :disabled="dialogType == 'view'"
+            ></el-input>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
 
 
@@ -312,7 +315,13 @@
 </template>
 </template>
 
 
 <script>
 <script>
-  import { getProjectCode, projectsToTreeAPI } from '@/api/project-manage';
+  import {
+    getProjectCode,
+    projectsToTreeAPI,
+    getProjectCodeG
+  } from '@/api/project-manage';
+  import { projectsTeamPageAPI } from '@/api/project-manage/team';
+
   import PersonSelect from '@/components/CommomSelect/person-select.vue';
   import PersonSelect from '@/components/CommomSelect/person-select.vue';
   import customDialog from '../../components/custom-dialog.vue';
   import customDialog from '../../components/custom-dialog.vue';
   import fileUpload from '@/BIZComponents/addDoc/index.vue';
   import fileUpload from '@/BIZComponents/addDoc/index.vue';
@@ -334,6 +343,10 @@
       orderListDialog
       orderListDialog
     },
     },
     props: {
     props: {
+      code: {
+        type: String,
+        default: ''
+      },
       dialogType: {
       dialogType: {
         type: String,
         type: String,
         default: ''
         default: ''
@@ -386,6 +399,7 @@
     },
     },
     data() {
     data() {
       return {
       return {
+        ruleCode: '',
         cityData,
         cityData,
         typeOptions: [
         typeOptions: [
           {
           {
@@ -434,6 +448,7 @@
         },
         },
         typeTreeList: [],
         typeTreeList: [],
         projectList: [],
         projectList: [],
+        grouplist: [],
         customDialogFlag: false,
         customDialogFlag: false,
         contractDialogFlag: false,
         contractDialogFlag: false,
         rules: {
         rules: {
@@ -493,6 +508,11 @@
         treeType: '0'
         treeType: '0'
       });
       });
       this.typeTreeList = await getProduceTreeByCode('XM1');
       this.typeTreeList = await getProduceTreeByCode('XM1');
+      let res = await projectsTeamPageAPI({ pageNum: 1, size: 10 });
+      this.grouplist = res;
+      // console.log(res.list);
+
+      this.ruleCode = this.typeTreeList[0].ruleCode;
     },
     },
 
 
     methods: {
     methods: {
@@ -502,13 +522,13 @@
         const b = moment(this.form.planStartDate);
         const b = moment(this.form.planStartDate);
         this.form.cycle = a.diff(b, 'days') + 1 + ' 天'; // 1
         this.form.cycle = a.diff(b, 'days') + 1 + ' 天'; // 1
       },
       },
-      async changeType(val) {
-        this.form.code = await getProjectCode(val)
+      async changeType() {
+        this.form.code = await getProjectCodeG(this.ruleCode);
       },
       },
       async teamChange(val) {
       async teamChange(val) {
-        let find = this.teamList.find((e) => e.id == val) || {};
-        this.form.teamName = find.name;
-        this.$emit('teamChange', val);
+        // let find = this.teamList.find((e) => e.id == val) || {};
+        // this.form.teamName = find.name;
+        // this.$emit('teamChange', val);
       },
       },
       // 选择负责人部门
       // 选择负责人部门
       changeDeptInfo(id) {
       changeDeptInfo(id) {
@@ -534,7 +554,7 @@
       handleOrder() {
       handleOrder() {
         this.$refs.orderListRef.open();
         this.$refs.orderListRef.open();
       },
       },
- 
+
       clearInfo() {
       clearInfo() {
         this.form = Object.assign({}, this.form, {
         this.form = Object.assign({}, this.form, {
           contractName: '',
           contractName: '',
@@ -574,7 +594,7 @@
         }
         }
       },
       },
       //选择订单信息回调
       //选择订单信息回调
-      getOrderDialog(obj){
+      getOrderDialog(obj) {
         this.form.relationId = obj.id;
         this.form.relationId = obj.id;
         this.form.relationCode = obj.orderNo;
         this.form.relationCode = obj.orderNo;
         this.getCusInfo({ id: obj.partaId });
         this.getCusInfo({ id: obj.partaId });

+ 96 - 87
src/views/project-manage/team-manage/components/add-or-edit-dialog.vue

@@ -6,108 +6,117 @@
     :title="title"
     :title="title"
     :close-on-click-modal="false"
     :close-on-click-modal="false"
     width="50%"
     width="50%"
-    :before-close="cancel">
+    :before-close="cancel"
+  >
     <headerTitle title="基础信息"></headerTitle>
     <headerTitle title="基础信息"></headerTitle>
-    <team-form ref="teamForm" :dialog-type="dialogType" :dialogForm="dialogForm"></team-form>
+    <team-form
+      ref="teamForm"
+      :dialog-type="dialogType"
+      :dialogForm="dialogForm"
+    ></team-form>
     <headerTitle title="团队人员"></headerTitle>
     <headerTitle title="团队人员"></headerTitle>
-    <team-info-table ref="teamInfoTable" :dialog-type="dialogType"
-                     :dialogForm="dialogForm"></team-info-table>
+    <team-info-table
+      ref="teamInfoTable"
+      :dialog-type="dialogType"
+      :dialogForm="dialogForm"
+    ></team-info-table>
     <div slot="footer">
     <div slot="footer">
       <el-button type="primary" size="small" @click="submit">保 存</el-button>
       <el-button type="primary" size="small" @click="submit">保 存</el-button>
-      <el-button type="primary" size="small" @click="submit('sub')">提 交</el-button>
+      <el-button type="primary" size="small" @click="submit('sub')"
+        >提 交</el-button
+      >
       <el-button size="small" @click="cancel">关 闭</el-button>
       <el-button size="small" @click="cancel">关 闭</el-button>
     </div>
     </div>
-
-
   </ele-modal>
   </ele-modal>
 </template>
 </template>
 
 
-
 <script>
 <script>
-import teamForm from "./team-form.vue";
-import {
-  getProjectTeamCodeAPI,
-  projectsTeamGetByIdAPI,
-  projectsTeamSaveAPI,
-  projectsTeamUpdateAPI,
-  submit
-} from "@/api/project-manage/team";
-import teamInfoTable from "./team-Info-table.vue";
-import {listOrganizations} from "@/api/system/organization";
-import planForm from "@/views/project-manage/planManage/components/plan-form.vue";
-import {getTargetPlanCode} from "@/api/project-manage/plan";
+  import teamForm from './team-form.vue';
+  import {
+    getProjectTeamCodeAPI,
+    projectsTeamGetByIdAPI,
+    projectsTeamSaveAPI,
+    projectsTeamUpdateAPI,
+    submit
+  } from '@/api/project-manage/team';
+  import teamInfoTable from './team-Info-table.vue';
+  import { listOrganizations } from '@/api/system/organization';
+  import planForm from '@/views/project-manage/planManage/components/plan-form.vue';
+  import { getTargetPlanCode } from '@/api/project-manage/plan';
 
 
-export default {
-  name: "addOrEditDialog",
-  components: {
-    planForm,
-    teamForm,
-    teamInfoTable
-  },
-  props: {
-    addOrEditDialogFlag: {
-      type: Boolean,
-      default: false,
-    }
-  },
-  data() {
-    return {
-      title: '',
-      dialogType: '',
-      dialogForm: {},
-    }
-  },
-  created() {
-  },
-  methods: {
-    async init(row = {}, type) {
-      this.title = type === 'add' ? '新增' : '编辑';
-      this.dialogType = type;
-      if (type === 'add') {
-        this.dialogForm = {
-          code: await getProjectTeamCodeAPI()
-        };
-      } else {
-        this.dialogForm = await projectsTeamGetByIdAPI(row.id)
-
-      }
+  export default {
+    name: 'addOrEditDialog',
+    components: {
+      planForm,
+      teamForm,
+      teamInfoTable
     },
     },
-
-    async submit(type = '') {
-      let form = await this.$refs.teamForm.validForm();
-      form.teamUserList = await this.$refs.teamInfoTable.getTableValidate();
-      form.createTime = null
-      if (type === 'sub') {
-        form.planId = await getTargetPlanCode();
-      }
-      const API = this.dialogType === 'add' ? projectsTeamSaveAPI : projectsTeamUpdateAPI;
-      const id = await API(form)
-      this.$message.success('操作成功');
-      if (type === 'sub') {
-        this.processSubmit(id);
-        return
+    props: {
+      addOrEditDialogFlag: {
+        type: Boolean,
+        default: false
       }
       }
-      this.cancel()
-      this.$emit('reload');
     },
     },
-    //流程提交
-    processSubmit(id = '') {
-      submit({
-        teamId: id || this.dialogForm.id
-      }).then((res) => {
-        this.$message.success('提交成功');
-        this.cancel();
-        this.$emit('reload');
-      });
-    },
-    cancel() {
-      this.$emit('update:addOrEditDialogFlag', false);
+    data() {
+      return {
+        title: '',
+        dialogType: '',
+        dialogForm: {}
+      };
     },
     },
-  }
-}
-</script>
+    created() {},
+    methods: {
+      async init(row = {}, type) {
+        this.title = type === 'add' ? '新增' : '编辑';
+        this.dialogType = type;
+        if (type === 'add') {
+          this.dialogForm = {
+            code: await getProjectTeamCodeAPI()
+          };
+        } else {
+          this.dialogForm = await projectsTeamGetByIdAPI(row.id);
+          console.log(this.dialogForm);
+        }
+      },
 
 
+      async submit(type = '') {
+        let form = await this.$refs.teamForm.validForm();
+        form.teamUserList = await this.$refs.teamInfoTable.getTableValidate();
+        form.createTime = null;
+        if (type === 'sub') {
+          form.planId = await getTargetPlanCode();
+        }
+        const API =
+          this.dialogType === 'add'
+            ? projectsTeamSaveAPI
+            : projectsTeamUpdateAPI;
+        const id = await API(form);
+        this.$message.success('操作成功');
+        if (type === 'sub') {
+          this.processSubmit(id);
+          return;
+        }
+        this.cancel();
+        this.$emit('reload');
+      },
+      //流程提交
+      processSubmit(id = '') {
+        console.log(this.dialogForm.id);
+        console.log(id);
 
 
-<style scoped lang="scss">
+        submit({
+          teamId: id == {} ? id : this.dialogForm.id||id
+        }).then((res) => {
+          this.$message.success('提交成功');
+          this.cancel();
+          this.$emit('reload');
+        });
+      },
+      cancel() {
+        this.$emit('update:addOrEditDialogFlag', false);
+      }
+    }
+  };
+</script>
 
 
-</style>
+<style scoped lang="scss"></style>

+ 195 - 177
src/views/project-manage/team-manage/index.vue

@@ -1,7 +1,7 @@
 <template>
 <template>
   <div class="ele-body">
   <div class="ele-body">
     <el-card shadow="never">
     <el-card shadow="never">
-      <index-search @search="reload"/>
+      <index-search @search="reload" />
       <!-- 数据表格 -->
       <!-- 数据表格 -->
       <ele-pro-table
       <ele-pro-table
         ref="table"
         ref="table"
@@ -20,7 +20,8 @@
             type="primary"
             type="primary"
             icon="el-icon-plus"
             icon="el-icon-plus"
             class="ele-btn-icon"
             class="ele-btn-icon"
-            @click="openEdit('','add')">
+            @click="openEdit('', 'add')"
+          >
             新建
             新建
           </el-button>
           </el-button>
           <el-button
           <el-button
@@ -34,13 +35,14 @@
           </el-button>
           </el-button>
         </template>
         </template>
         <template v-slot:code="{ row }">
         <template v-slot:code="{ row }">
-          <el-button type="text" @click="openDetail(row)">{{ row.code }}</el-button>
+          <el-button type="text" @click="openDetail(row)">{{
+            row.code
+          }}</el-button>
         </template>
         </template>
 
 
-
         <!-- 操作列 -->
         <!-- 操作列 -->
         <template v-slot:action="{ row }">
         <template v-slot:action="{ row }">
-          <el-link
+          <!-- <el-link
             type="primary"
             type="primary"
             :underline="false"
             :underline="false"
             icon="el-icon-plus"
             icon="el-icon-plus"
@@ -48,21 +50,22 @@
             v-if="[0, 3].includes(row.processStatus)"
             v-if="[0, 3].includes(row.processStatus)"
           >
           >
             提交
             提交
-          </el-link>
+          </el-link> -->
           <el-link
           <el-link
             type="primary"
             type="primary"
             :underline="false"
             :underline="false"
             icon="el-icon-edit"
             icon="el-icon-edit"
-            v-if="[0].includes(row.processStatus)"
-            @click="openEdit(row,'edit')"
+            @click="openEdit(row, 'edit')"
           >
           >
+            <!-- v-if="[0,2].includes(row.processStatus)" -->
             修改
             修改
           </el-link>
           </el-link>
           <el-popconfirm
           <el-popconfirm
             class="ele-action"
             class="ele-action"
             title="确定要删除吗?"
             title="确定要删除吗?"
-            v-if="[0].includes(row.processStatus)"
-            @confirm="remove([row.id])">
+            @confirm="remove([row.id])"
+          >
+            <!-- v-if="[0].includes(row.processStatus)" -->
             <template v-slot:reference>
             <template v-slot:reference>
               <el-link type="danger" :underline="false" icon="el-icon-delete">
               <el-link type="danger" :underline="false" icon="el-icon-delete">
                 删除
                 删除
@@ -73,11 +76,23 @@
       </ele-pro-table>
       </ele-pro-table>
     </el-card>
     </el-card>
     <!-- 编辑弹窗 -->
     <!-- 编辑弹窗 -->
-    <add-or-edit-dialog v-if="addOrEditDialogFlag" @reload="reload" :addOrEditDialogFlag.sync="addOrEditDialogFlag"
-                        ref="addOrEditDialogRef"></add-or-edit-dialog>
-    <detail-dialog v-if="detailDialogFlag" :detailDialogFlag.sync="detailDialogFlag"
-                   ref="detailDialogRef"></detail-dialog>
-    <process-submit-dialog :processSubmitDialogFlag.sync="processSubmitDialogFlag" v-if="processSubmitDialogFlag" ref="processSubmitDialogRef" @reload="reload"></process-submit-dialog>
+    <add-or-edit-dialog
+      v-if="addOrEditDialogFlag"
+      @reload="reload"
+      :addOrEditDialogFlag.sync="addOrEditDialogFlag"
+      ref="addOrEditDialogRef"
+    ></add-or-edit-dialog>
+    <detail-dialog
+      v-if="detailDialogFlag"
+      :detailDialogFlag.sync="detailDialogFlag"
+      ref="detailDialogRef"
+    ></detail-dialog>
+    <process-submit-dialog
+      :processSubmitDialogFlag.sync="processSubmitDialogFlag"
+      v-if="processSubmitDialogFlag"
+      ref="processSubmitDialogRef"
+      @reload="reload"
+    ></process-submit-dialog>
     <!-- 多选删除弹窗 -->
     <!-- 多选删除弹窗 -->
     <pop-modal
     <pop-modal
       :visible.sync="delVisible"
       :visible.sync="delVisible"
@@ -88,174 +103,177 @@
 </template>
 </template>
 
 
 <script>
 <script>
+  import indexSearch from './components/index-search.vue';
+  import addOrEditDialog from './components/add-or-edit-dialog.vue';
+  import detailDialog from './components/detail-dialog.vue';
+  import popModal from '@/components/pop-modal';
+  import {
+    projectsTeamDeleteAPI,
+    projectsTeamPageAPI,
+    submit
+  } from '@/api/project-manage/team';
+  import { reviewStatusEnum } from '@/enum/dict';
+  import { mapGetters } from 'vuex';
+  import processSubmitDialog from '@/BIZComponents/processSubmitDialog/processSubmitDialog.vue';
 
 
-import indexSearch from "./components/index-search.vue";
-import addOrEditDialog from "./components/add-or-edit-dialog.vue";
-import detailDialog from "./components/detail-dialog.vue";
-import popModal from '@/components/pop-modal';
-import {projectsTeamDeleteAPI, projectsTeamPageAPI, submit} from "@/api/project-manage/team";
-import {reviewStatusEnum} from '@/enum/dict';
-import {mapGetters} from "vuex";
-import processSubmitDialog from "@/BIZComponents/processSubmitDialog/processSubmitDialog.vue";
-
-
-export default {
-  name: 'index',
-  components: {
-    processSubmitDialog,
-    addOrEditDialog,
-    detailDialog,
-    indexSearch,
-    popModal,
-  },
-  computed: {
-    ...mapGetters(['getDictValue']),
-
-    columns() {
-      return [
-        {
-          width: 45,
-          type: 'selection',
-          columnKey: 'selection',
-          align: 'center'
-        },
-        {
-          columnKey: 'index',
-          label: '序号',
-          type: 'index',
-          width: 55,
-          align: 'center',
-          showOverflowTooltip: true,
-          fixed: 'left'
-        },
-        {
-          prop: 'code',
-          label: '团队编码',
-          align: 'center',
-          showOverflowTooltip: true,
-          slot: 'code',
-          minWidth: 160
-        },
-        {
-          prop: 'name',
-          label: '团队名称',
-          align: 'center',
-          showOverflowTooltip: true,
-          minWidth: 100,
-          slot: 'type',
-        },
-        {
-          prop: 'remark',
-          label: '备注',
-          align: 'center',
-          showOverflowTooltip: true,
-          minWidth: 100,
-          slot: 'remark',
-        },
-        {
-          prop: 'processStatus',
-          label: '审核状态',
-          align: 'center',
-          showOverflowTooltip: true,
-          minWidth: 100,
-          formatter: (_row, _column, cellValue) => {
-            return reviewStatusEnum[_row.processStatus]?.label;
-          }
-        },
-        {
-          columnKey: 'action',
-          label: '操作',
-          width: 190,
-          align: 'center',
-          resizable: false,
-          slot: 'action',
-          showOverflowTooltip: true,
-          fixed: 'right'
-        },
-
-      ]
+  export default {
+    name: 'index',
+    components: {
+      processSubmitDialog,
+      addOrEditDialog,
+      detailDialog,
+      indexSearch,
+      popModal
     },
     },
-  },
-  data() {
-    return {
-      selection: [],
-      addOrEditDialogFlag: false,
-      detailDialogFlag: false,
-      delVisible: false,
-      processSubmitDialogFlag: false,
+    computed: {
+      ...mapGetters(['getDictValue']),
 
 
-    };
-  },
-  async created() {
-  },
-  methods: {
-    /* 表格数据源 */
-    async datasource({page, limit, where, parent}) {
-      return projectsTeamPageAPI({
-        pageNum: page,
-        size: limit,
-        ...where
-      });
-    },
-    /* 刷新表格 */
-    reload(where) {
-      this.$refs.table.reload({where, size: 1, pageNum: 10});
-    },
-    /* 显示编辑 */
-    openEdit(row = {}, type) {
-      this.addOrEditDialogFlag = true;
-      this.$nextTick(() => {
-        this.$refs.addOrEditDialogRef.init(row, type)
-      })
+      columns() {
+        return [
+          {
+            width: 45,
+            type: 'selection',
+            columnKey: 'selection',
+            align: 'center'
+          },
+          {
+            columnKey: 'index',
+            label: '序号',
+            type: 'index',
+            width: 55,
+            align: 'center',
+            showOverflowTooltip: true,
+            fixed: 'left'
+          },
+          {
+            prop: 'code',
+            label: '团队编码',
+            align: 'center',
+            showOverflowTooltip: true,
+            slot: 'code',
+            minWidth: 160
+          },
+          {
+            prop: 'name',
+            label: '团队名称',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 100,
+            slot: 'type'
+          },
+          {
+            prop: 'remark',
+            label: '备注',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 100,
+            slot: 'remark'
+          },
+          // {
+          //   prop: 'processStatus',
+          //   label: '审核状态',
+          //   align: 'center',
+          //   showOverflowTooltip: true,
+          //   minWidth: 100,
+          //   formatter: (_row, _column, cellValue) => {
+          //     return reviewStatusEnum[_row.processStatus]?.label;
+          //   }
+          // },
+          {
+            columnKey: 'action',
+            label: '操作',
+            width: 190,
+            align: 'center',
+            resizable: false,
+            slot: 'action',
+            showOverflowTooltip: true,
+            fixed: 'right'
+          }
+        ];
+      }
     },
     },
-    openDetail(row = {}) {
-      this.detailDialogFlag = true;
-      this.$nextTick(() => {
-        this.$refs.detailDialogRef.init(row)
-      })
+    data() {
+      return {
+        selection: [],
+        addOrEditDialogFlag: false,
+        detailDialogFlag: false,
+        delVisible: false,
+        processSubmitDialogFlag: false
+      };
     },
     },
+    async created() {},
+    methods: {
+      /* 表格数据源 */
+      async datasource({ page, limit, where, parent }) {
+        return projectsTeamPageAPI({
+          pageNum: page,
+          size: limit,
+          ...where
+        });
+      },
+      /* 刷新表格 */
+      reload(where) {
+        this.$refs.table.reload({ where, size: 1, pageNum: 10 });
+      },
+      /* 显示编辑 */
+      openEdit(row = {}, type) {
+        this.addOrEditDialogFlag = true;
+        this.$nextTick(() => {
+          this.$refs.addOrEditDialogRef.init(row, type);
+        });
+      },
+      openDetail(row = {}) {
+        this.detailDialogFlag = true;
+        this.$nextTick(() => {
+          this.$refs.detailDialogRef.init(row);
+        });
+      },
 
 
-
-    //流程提交
-    processSubmit(row) {
-      // this.processSubmitDialogFlag = true
-      // this.$nextTick(()=>{
-      //   row.businessKey = 'pro_team_approve'
-      //   this.$refs.processSubmitDialogRef.init(row)
-      // })
-      submit({
-        teamId: row.id
-      }).then((res) => {
-        this.$message.success('提交成功');
-        this.reload();
-      });
-    },
-    //批量删除
-    allDelBtn() {
-      if (this.selection.length === 0) return;
-      let flag = this.selection.some(item => [1, 2, 3].includes(item.processStatus))
-      if (flag) return this.$message.warning('抱歉已审核、审核中的数据不能删除,请检查')
-      this.delVisible = true;
-    },
-    //删除弹框确定
-    commitBtn() {
-      const dataId = this.selection.map((v) => v.id);
-      this.remove(dataId);
-    },
-    /* 删除 */
-    remove(ids) {
-      const loading = this.$loading({lock: true});
-      projectsTeamDeleteAPI(ids)
-        .then((res) => {
-          loading.close();
-          this.$message.success('删除成功');
+      //流程提交
+      processSubmit(row) {
+        // this.processSubmitDialogFlag = true
+        // this.$nextTick(()=>{
+        //   row.businessKey = 'pro_team_approve'
+        //   this.$refs.processSubmitDialogRef.init(row)
+        // })
+        submit({
+          teamId: row.id
+        }).then((res) => {
+          this.$message.success('提交成功');
           this.reload();
           this.reload();
-        })
-        .catch((e) => {
-          loading.close();
-          // this.$message.error(e.message);
         });
         });
-    },
-  }
-};
+      },
+      //批量删除
+      allDelBtn() {
+        if (this.selection.length === 0) return;
+        let flag = this.selection.some((item) =>
+          [1, 2, 3].includes(item.processStatus)
+        );
+        if (flag)
+          return this.$message.warning(
+            '抱歉已审核、审核中的数据不能删除,请检查'
+          );
+        this.delVisible = true;
+      },
+      //删除弹框确定
+      commitBtn() {
+        const dataId = this.selection.map((v) => v.id);
+        this.remove(dataId);
+      },
+      /* 删除 */
+      remove(ids) {
+        const loading = this.$loading({ lock: true });
+        projectsTeamDeleteAPI(ids)
+          .then((res) => {
+            loading.close();
+            this.$message.success('删除成功');
+            this.reload();
+          })
+          .catch((e) => {
+            loading.close();
+            // this.$message.error(e.message);
+          });
+      }
+    }
+  };
 </script>
 </script>