|  | @@ -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>
 |