From d1958c0d72946b04b7949eee1a28c06430a73874 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期四, 13 六月 2024 10:59:23 +0800
Subject: [PATCH] bug修改

---
 src/views/safetyReview/userManage/institutionUsers/index.vue |  268 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 222 insertions(+), 46 deletions(-)

diff --git a/src/views/safetyReview/userManage/institutionUsers/index.vue b/src/views/safetyReview/userManage/institutionUsers/index.vue
index ca1f829..15b4c5f 100644
--- a/src/views/safetyReview/userManage/institutionUsers/index.vue
+++ b/src/views/safetyReview/userManage/institutionUsers/index.vue
@@ -1,34 +1,80 @@
 <template>
     <div class="app-container">
+        <div style="margin-bottom: 10px">
+          <el-form :inline="true" style="display: flex;align-items: flex-start;flex-wrap: wrap;" >
+            <el-form-item label="机构名称:" >
+              <el-input v-model="data.queryParams.agencyName" placeholder="请输入机构名称"></el-input>
+            </el-form-item>
+            <el-form-item label="注册审批状态:" >
+              <el-select
+                  v-model="data.queryParams.state"
+                  class="w100"
+                  style="max-width: 180px"
+                  clearable
+                  size="default"
+              >
+                <el-option v-for="item in data.stateList" :key="item.label" :label="item.value" :value="item.label"></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item >
+              <el-button
+                  type="primary"
+                  plain
+                  @click="query"
+              >查询</el-button>
+              <el-button
+                  type="primary"
+                  plain
+                  @click="reset"
+              >重置</el-button>
+              <el-button
+                  type="primary"
+                  plain
+                  icon="Plus"
+                  @click="openDialog('add',{})"
+              >新增</el-button>
+            </el-form-item>
+          </el-form>
+
+        </div>
         <!-- 表格数据 -->
         <el-table v-loading="loading" :data="dataList" :border="true">
-            <el-table-column label="用户ID" prop="userID" align="center"  />
-            <el-table-column label="机构名称" prop="name" align="center" />
-            <el-table-column label="信用代码" prop="code" align="center"  />
-            <el-table-column label="用户名" prop="username" align="center"  />
-            <el-table-column label="注册手机号" prop="phone" align="center"  />
-            <el-table-column label="注册审批" prop="examine" align="center" >
-                <template #default="scope">
-                    <span v-if="scope.row.examine === 1">待审批</span>
-                    <span v-if="scope.row.examine === 2">未通过</span>
-                    <span v-if="scope.row.examine === 3">已通过</span>
-                </template>
-            </el-table-column>
-            <el-table-column label="状态" prop="status" align="center" >
-                <template #default="scope">
-                    <span v-if="scope.row.status === 1">可用</span>
-                    <span v-if="scope.row.status === 2">不可用</span>
-                </template>
-            </el-table-column>
-            <el-table-column label="操作" align="center" class-name="small-padding fixed-width"  width="300px">
-                <template #default="scope">
-                    <el-button link type="primary"  @click="openDialog('review',scope.row)" >查看</el-button>
-                    <el-button link type="primary"  @click="openDialog('edit',scope.row)" v-hasPermi="['system:role:edit']">编辑</el-button>
-                    <el-button link type="danger" v-if="!(scope.row.status === 1 && scope.row.examine === 3)" @click="handleDelete(scope.row)" v-hasPermi="['system:role:remove']">删除</el-button>
-                    <el-button link type="primary" v-if="scope.row.examine === 3 && scope.row.status === 1"  @click="stop(scope.row)" >停用</el-button>
-                    <el-button link type="primary" v-if="scope.row.examine !== 3 && scope.row.status === 2"  @click="pass(scope.row)" >审批通过</el-button>
-                </template>
-            </el-table-column>
+          <el-table-column label="用户ID" prop="id" align="center"/>
+          <el-table-column label="机构名称" prop="agency.name" align="center"/>
+          <el-table-column label="信用代码" prop="agency.creditCode" align="center"/>
+          <el-table-column label="用户名" prop="username" align="center" />
+          <el-table-column label="注册手机号" prop="phone" align="center"/>
+          <el-table-column label="注册审批" prop="state" align="center">
+            <template #default="scope">
+              <el-tag :type=" scope.row.state == 0 ? 'info' : scope.row.state == 1 ? '' : scope.row.state == 2 ?'success': scope.row.state == 3 || scope.row.state == 4 ?'danger':''">
+                {{scope.row.state == 0?'暂存':scope.row.state == 1 ? '审核中':scope.row.state == 2 ? '审批通过':scope.row.state == 3? '审批驳回':'已作废' }}
+              </el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column label="状态" prop="status" align="center">
+            <template #default="scope">
+              <el-switch
+                  v-if="scope.row.state == 2"
+                  v-model="scope.row.status"
+                  :active-value="0"
+                  :inactive-value="1"
+                  inline-prompt
+                  active-text="正常"
+                  inactive-text="停用"
+                  @change="switchStatus($event,scope.row)"
+              />
+              <span v-else>--</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="操作" align="center" width="250" class-name="small-padding fixed-width" >
+              <template #default="scope">
+                <el-button link type="primary" @click="openDialog('view',scope.row)">查看</el-button>
+                <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
+                <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
+                <el-button link type="primary" v-if="isSuper && scope.row.state ==1 " @click="openApprove(scope.row)">审批</el-button>
+                <el-button link type="primary" @click="openPwd('pwd',scope.row)">修改密码</el-button>
+              </template>
+          </el-table-column>
         </el-table>
 
         <pagination
@@ -38,42 +84,156 @@
             v-model:limit="queryParams.pageSize"
             @pagination="getList"
         />
+        <supervise-dialog ref="superRef" @getList=getList></supervise-dialog>
+        <register ref="regRef" @getList=getList />
+        <review-dialog ref="reviewRef" @getList=getList></review-dialog>
+        <el-dialog v-model="appDialog" title="审批用户" width="30%" center align-center>
+          <el-radio-group v-model="appoveForm.state" style="width: 100%">
+            <el-radio :label="2" size="large" border>通过</el-radio>
+            <el-radio :label="3" size="large" border>驳回</el-radio>
+          </el-radio-group>
+          <template #footer>
+            <span class="dialog-footer">
+              <el-button @click="appDialog = false">取消</el-button>
+              <el-button type="primary" @click="confirmApproval">确认</el-button>
+            </span>
+          </template>
+        </el-dialog>
     </div>
 </template>
 
 <script setup>
-import {getCurrentInstance, reactive, ref, toRefs} from "vue";
-import {ElMessageBox} from "element-plus";
+import {getCurrentInstance, nextTick, onMounted, onUnmounted, reactive, ref, toRefs} from "vue";
+import {ElMessage, ElMessageBox} from "element-plus";
+import superviseDialog from "../superviseUsers/components/superviseDialog.vue"
+import { Register } from "@/layout/components";
+import {delMonitor, getAgencyList, changeApprove, changeStatus} from "../../../../api/sysUsers"
+import Cookies from "js-cookie";
+import reviewDialog from "../../institution/components/viewInstitution.vue"
+
 const { proxy } = getCurrentInstance();
 const loading = ref(false);
 const superRef = ref();
+const regRef = ref(null)
+const reviewRef = ref();
 const data = reactive({
     queryParams: {
         pageNum: 1,
         pageSize: 10,
+        agencyName: '',
+        state: null
     },
     total: 0,
-    dataList: []
-
-
+    dataList: [],
+    isSuper: false,
+    appDialog: false,
+    appoveForm: {
+      id: null,
+      state: null
+    },
+  stateList: [
+    {
+      label: 1,
+      value: '审核中'
+    },
+    {
+      label: 2,
+      value: '审批通过'
+    },
+    {
+      label: 3,
+      value: '审批驳回'
+    },
+  ]
 });
 
-const { queryParams, total, dataList } = toRefs(data);
+const { queryParams, total, dataList, isSuper, appDialog, appoveForm } = toRefs(data);
 
-const getList = () => {
-    loading.value = true;
-    console.log("获取数据")
-    loading.value = false;
+onMounted(()=>{
+
+  const userInfo = JSON.parse(Cookies.get('userInfo'))
+  if(userInfo.identity == 0){data.isSuper = true}
+    nextTick(() => {
+        getList()
+    })
+})
+
+onUnmounted(()=>{
+
+})
+
+const getList = async () => {
+    loading.value = true
+  console.log('data.queryParams',data.queryParams)
+    const res = await getAgencyList(data.queryParams)
+    if(res.code == 200){
+      data.dataList = res.data.list
+      data.total = res.data.total
+    }else{
+      ElMessage.warning(res.message)
+    }
+    loading.value = false
 }
 
-const openDialog = (type, value) => {
-    superRef.value.openDialog(type, value);
+const openPwd = (type, value) => {
+  superRef.value.openDialog(type, value);
 }
 
-/** 重置新增的表单以及其他数据  */
-function reset() {
-    proxy.resetForm("roleRef");
+const openDialog = (type, value)=>{
+    if(type === 'view') {
+        reviewRef.value.openDialog(value,type)
+    }else {
+        regRef.value.openDialog(type, value);
+    }
 }
+
+const openApprove =(val)=>{
+  data.appoveForm = {
+    id: null,
+    state: null
+  }
+  data.appoveForm.id = val.id
+  data.appDialog = true
+}
+
+const confirmApproval = async () =>{
+  if(data.appoveForm.state !== null){
+    const res = await changeApprove(data.appoveForm)
+    if(res.code == 200){
+      ElMessage.success('审批成功')
+      await getList()
+      data.appDialog = false
+    }else{
+      ElMessage.warning(res.message)
+    }
+  }
+}
+
+const switchStatus = (e,val) => {
+  ElMessageBox.confirm(
+      '确定修改该机构当前状态?',
+      '提示',
+      {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+      .then( async() => {
+        const res = await changeStatus({id: val.id,status: e})
+        if(res.code == 200){
+          ElMessage.success('状态修改成功')
+          await getList()
+        }else{
+          ElMessage.warning(res.message)
+        }
+      })
+      .catch(() => {
+        getList()
+      })
+
+}
+
+
 const handleDelete = (val) => {
     ElMessageBox.confirm(
         '确定删除此条数据?',
@@ -84,13 +244,29 @@
             type: 'warning',
         })
         .then( async() => {
-
+            const res = await delMonitor(val.id)
+            if(res.code == 200){
+              ElMessage.success('数据删除成功')
+              getList()
+            }else{
+              ElMessage.warning(res.message)
+            }
         })
 }
-const stop = (val) => {
 
+const query = () => {
+  data.queryParams.pageNum = 1;
+  data.queryParams.pageSize = 10;
+  getList();
 }
-const pass= (val) => {
-
+/** 重置新增的表单以及其他数据  */
+const reset = () => {
+  data.queryParams = {
+    pageNum: 1,
+    pageSize: 10,
+    agencyName: '',
+    state: null
+  }
+  getList();
 }
 </script>

--
Gitblit v1.9.2