zhangyanpeng
2024-03-04 6a72e9e44dc7278e18d55ccd5637b81a1cb2f047
src/views/admin/FormsPanel.vue
@@ -18,15 +18,10 @@
          <div style="float: right">
            <el-button type="text" icon="el-icon-edit-outline" size="mini" @click="editFrom(item, groups)">编辑
            </el-button>
            <el-button type="text" :icon="item.isStop ? 'el-icon-check':'el-icon-close'" size="mini"
                       @click="stopFrom(item)">
              {{ item.isStop ? '启用' : '停用' }}
            </el-button>
            <el-button type="text" size="mini" @click="viewGroup(item,groups)">查看流程</el-button>
            <el-button type="text" icon="el-icon-delete" size="mini" @click="moveFrom(item)" v-if="item.isStop">删除
            </el-button>
            <el-popover placement="left" trigger="click" width="400" style="margin-left: 10px"
                        @show="moveSelect === null" v-else>
                        @show="moveSelect === null" >
              <el-radio-group v-model="moveSelect" size="mini">
                <el-radio :label="g.id" border v-for="g in groups" :key="g.id" v-show="g.id > 1"
                          :disabled="g.id === groups.id" style="margin: 10px;">{{ g.name }}
@@ -46,7 +41,7 @@
<script>
import draggable from "vuedraggable";
import {
  groupItemsSort, updateForm, getEntitySet
  groupItemsSort, getEntitySet
} from '@/api/design'
export default {
@@ -67,31 +62,20 @@
    getGroups() {
      let template = {"dataname": "sys_state_approve"}
      getEntitySet(template).then(rsp => {
        console.log("getEntitySet", rsp.data.data)
        this.groups = rsp.data.data.entityset
        console.log("this.groups", this.groups)
        //this.groups = rsp.data
      }).catch(err => this.$message.error('获取审批流程异常'))
    },
    newProcess(groupId) {
      this.$store.commit("setTemplate", this.getTemplateData());
      this.$store.commit("setIsEdit", false);
      this.$router.push("/admin/design?groupId=" + groupId);
    },
    groupSort() {
      this.groupsSort = false
      groupItemsSort(this.groups).then(rsp => {
        this.$message.success("排序成功")
        this.getGroups()
      }).catch(err => {
        this.getGroups()
        this.$message.error(err.response.data)
      })
      this.$message.success("排序成功")
    },
    viewGroup(item, group) {
      console.log("viewGroup",item)
      this.$router.push(
          {
            path: "/workspace/process/instance/tabs",
@@ -103,53 +87,12 @@
      );
    },
    updateForm(item, type) {
      updateForm({templateId: item.templateId, type: type}).then(rsp => {
        this.$message.success(rsp.data)
        this.getGroups()
      }).catch(err => this.$message.error(err.response.data))
    },
    getTemplateData(data, group) {
      return data
    },
    editFrom(item, group) {
      console.log("item",item)
      this.$router.push("/admin/design?code=" + item.id);
    },
    stopFrom(item) {
      console.log(item)
      let tip = '是否删除此流程?';
      this.$confirm(`<span style="font-weight: bold">${item.name}</span>` + tip, '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
        dangerouslyUseHTMLString: true,
      }).then(() => {
        this.updateForm(item, (item.isStop ? 'using' : 'stop'));
      })
    },
    moveFrom(item) {
      if (item.isStop) {
        this.$confirm(`您确定要删除表单 <span style="font-weight: bold">${item.name}</span>> 吗,删除后无法恢复,是否继续?`, '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning',
          dangerouslyUseHTMLString: true,
        }).then(() => {
          this.updateForm(item, 'delete');
        })
      } else {
        if (this.moveSelect === null || this.moveSelect === '') {
          this.$message.error('请选择分组')
          return;
        }
        updateForm({templateId: item.templateId, type: 'move', groupId: this.moveSelect}).then(rsp => {
          this.$message.success(rsp.data)
          this.getGroups()
          this.moveSelect = null
        }).catch(err => this.$message.error(err.response.data))
      }
    },
  }
}
</script>