Bladeren bron

通知看板

damon227 3 weken geleden
bovenliggende
commit
37c9c788f6
1 gewijzigde bestanden met toevoegingen van 201 en 0 verwijderingen
  1. 201 0
      src/views/modules/home/workboard.vue

+ 201 - 0
src/views/modules/home/workboard.vue

@@ -0,0 +1,201 @@
+<template>
+  <div >
+    
+    <div >
+      <div>
+        <el-row>
+          <el-col :span="12"
+            ><el-button @click="handleUser">选择用户</el-button></el-col
+          >
+          <el-col :span="12"
+            >
+            <!-- <span>当前时间:</span><span>2025-05-12</span> -->
+            </el-col
+          >
+          <el-button @click="fullScreen" class="full-screen-btn">全屏</el-button>
+        </el-row>
+      </div>
+      <div class="mod-home" id="customer-content">
+        <el-table :data="list">
+          <el-table-column
+            label="姓名"
+            prop="userName"
+            header-align="center"
+            align="center"
+          ></el-table-column>
+          <el-table-column
+            label="待审批"
+            prop="pendingApprovalNum"
+            header-align="center"
+            align="center"
+          ></el-table-column>
+          <el-table-column
+            label="待处理工单"
+            prop="pendingTaskNum"
+            header-align="center"
+            align="center"
+          ></el-table-column>
+          <el-table-column
+            label="等待工单"
+            prop="toBeginTaskNum"
+            header-align="center"
+            align="center"
+          ></el-table-column>
+          <el-table-column
+            label="预警工单"
+            prop="warningTaskNum"
+            header-align="center"
+            align="center"
+          ></el-table-column>
+        </el-table>
+      </div>
+    </div>
+    <!-- 选择用户弹框 -->
+    <el-dialog
+      title="选择用户"
+      :visible.sync="chooseUserVisible"
+      :close-on-click-modal="false"
+    >
+      <div>
+        <el-form>
+          <el-form-item label="选择用户" prop="">
+            <el-select v-model="selectedUsers" placeholder="请选择" multiple>
+              <el-option
+                v-for="item in userOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-form>
+        <span slot="footer" class="">
+          <el-button type="primary" @click="userSubmit()">提交</el-button>
+        </span>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'workboard',
+  data () {
+    return {
+      chooseUserVisible: false,
+      userOptions: [],
+      oldSelectedUsers: [],
+      selectedUsers: [],
+      list: []
+    }
+  },
+  created () {
+    this.getList()
+  },
+  methods: {
+    // 选择用户
+    handleUser () {
+      this.getSelectedUsers()
+
+      this.chooseUserVisible = true
+      this.$http({
+        url: this.$http.adornUrl(`/user-service/user/queryWithSelectedItems`),
+        method: 'get',
+        data: { current: 1, size: 50 }
+      }).then(({ data }) => {
+        if (data && data.code === '200') {
+          let users = data.data.pageUsers.records
+          if (users != null && users.length > 0) {
+            users.map((t) => {
+              this.userOptions.push({ label: t.name, value: t.userId })
+            })
+          }
+        }
+      })
+    },
+    // 提交用户
+    userSubmit () {
+      // let addUserIds = []
+      // let delUserIds = []
+      // // 计算新增用户
+
+      // for (let id of this.selectedUsers) {
+      //   if (this.oldSelectedUsers.indexOf(id) === -1) {
+      //     addUserIds.push(id)
+      //   }
+      // }
+
+      // // 计算删除用户
+      // for (let id2 of this.oldSelectedUsers) {
+      //   if (this.selectedUsers.indexOf(id2) === -1) {
+      //     delUserIds.push(id2)
+      //   }
+      // }
+
+      this.$http({
+        url: this.$http.adornUrl(`/biz-service/workBoard/selected/user/save`),
+        method: 'post',
+        data: { addUserIds: this.selectedUsers }
+      }).then(({ data }) => {
+        if (data && data.code === '200') {
+          this.$message({
+            type: 'success',
+            message: '提交成功!'
+          })
+          this.chooseUserVisible = false
+          this.getList()
+        }
+      })
+    },
+    getList () {
+      this.$http({
+        url: this.$http.adornUrl(`/biz-service/workBoard/list`),
+        method: 'get',
+        params: this.$http.adornParams({
+          current: 1,
+          size: 20
+        })
+      }).then(({ data }) => {
+        if (data && data.code === '200') {
+          this.list = data.data.records
+        }
+      })
+    },
+    getSelectedUsers () {
+      this.$http({
+        url: this.$http.adornUrl(`/biz-service/workBoard/selected/user/list`),
+        method: 'get',
+        data: {}
+      }).then(({ data }) => {
+        if (data && data.code === '200') {
+          this.selectedUsers = this.oldSelectedUsers = data.data
+        }
+      })
+    },
+    // 全屏显示
+    fullScreen () {
+      const element = document.getElementById('customer-content')
+      element.requestFullscreen()
+    }
+  }
+}
+</script>
+
+<style scoped>
+.mod-home {
+  /* line-height: 1.5; */
+  height: 100%;
+  position: relative;
+  background-color: #FFFFFF;
+}
+
+.full-screen-btn {
+  position: absolute;
+  top: 0;
+  right: 0;
+  z-index: 9;
+  padding: 0 0;
+  border-radius: 0;
+}
+</style>