duy 1 rok pred
rodič
commit
bafcb77577

+ 47 - 33
src/global/components/hc-tasks-user/index.vue

@@ -2,28 +2,36 @@
     <div :class="ui" class="hc-tasks-user">
         <div class="tasks-user-box">
             <div class="tag-user-list" @click="showModalClick">
-                <template v-for="(item,index) in UserDataList" :key="index">
+                <template v-for="(item, index) in UserDataList" :key="index">
                     <el-tag>{{ setCheckboxUserName(item) }}</el-tag>
-                    <HcIcon v-if="(UserDataList.length - 1) > index" name="arrow-right" ui="arrow-icon-tag"/>
+                    <HcIcon v-if="(UserDataList.length - 1) > index" name="arrow-right" ui="arrow-icon-tag" />
                 </template>
-                <div v-if="UserDataList.length <= 0" class="tasks-placeholder"> 点击这里选择任务人</div>
+                <div v-if="UserDataList.length <= 0" class="tasks-placeholder">
+                    点击这里选择任务人
+                </div>
             </div>
         </div>
 
-        <!--选择任务人-->
-        <el-dialog v-model="showModal" class="hc-modal-border hc-modal-nop" destroy-on-close draggable title="选择任务人"
-                   width="62rem">
+        <!-- 选择任务人 -->
+        <el-dialog
+            v-model="showModal" class="hc-modal-border hc-modal-nop" destroy-on-close draggable title="选择任务人"
+            width="62rem"
+        >
             <div class="hc-tasks-user-modal-content-box">
                 <div class="tree-box">
                     <el-scrollbar>
-                        <ElTree :data="ElTreeData" :default-expanded-keys="[0]" :props="ElTreeProps" accordion
-                                class="hc-tree-node-box" highlight-current node-key="roleId" @node-click="ElTreeNodeClick"/>
+                        <ElTree
+                            :data="ElTreeData" :default-expanded-keys="[0]" :props="ElTreeProps" accordion
+                            class="hc-tree-node-box" highlight-current node-key="roleId" @node-click="ElTreeNodeClick"
+                        />
                     </el-scrollbar>
                 </div>
                 <div class="user-box">
                     <div class="y-user-list-box">
                         <div class="title-box">
-                            <div class="title">可选择</div>
+                            <div class="title">
+                                可选择
+                            </div>
                         </div>
                         <div class="user-list">
                             <el-scrollbar>
@@ -31,8 +39,11 @@
                                     <template v-for="item in signUserList">
                                         <div class="user-item checkbox-li">
                                             <el-checkbox
-                                                :label="`${item['certificateUserName']}-${item['certificateUserId']}`">
-                                                <div class="item-user-name">{{ item['certificateUserName'] }}</div>
+                                                :label="`${item.certificateUserName}-${item.certificateUserId}`"
+                                            >
+                                                <div class="item-user-name">
+                                                    {{ item.certificateUserName }}
+                                                </div>
                                             </el-checkbox>
                                         </div>
                                     </template>
@@ -42,12 +53,15 @@
                     </div>
                     <div class="s-user-list-box">
                         <div class="title-box">
-                            <div class="title">已选择({{ checkboxUserList.length }})</div>
+                            <div class="title">
+                                已选择({{ checkboxUserList.length }})
+                            </div>
                         </div>
                         <div class="user-list">
                             <el-scrollbar>
-                                <template v-for="(item,index) in checkboxUserList" :key="index">
-                                    <el-tag closable @close="delCheckboxUser(index)">{{ setCheckboxUserName(item) }}
+                                <template v-for="(item, index) in checkboxUserList" :key="index">
+                                    <el-tag closable @close="delCheckboxUser(index)">
+                                        {{ setCheckboxUserName(item) }}
                                     </el-tag>
                                 </template>
                             </el-scrollbar>
@@ -58,11 +72,11 @@
             <template #footer>
                 <div class="dialog-footer">
                     <el-button size="large" @click="showModal = false">
-                        <HcIcon name="close"/>
+                        <HcIcon name="close" />
                         <span>取消</span>
                     </el-button>
                     <el-button :loading="sureSignUserLoading" hc-btn type="primary" @click="sureSignUserClick">
-                        <HcIcon name="check"/>
+                        <HcIcon name="check" />
                         <span>确定</span>
                     </el-button>
                 </div>
@@ -72,31 +86,33 @@
 </template>
 
 <script setup>
-import {ref, watch, onMounted} from "vue";
-import tasksFlowApi from '~api/tasks/flow';
-import {getArrValue, deepClone} from "js-fast-way"
+import { onMounted, ref, watch } from 'vue'
+import tasksFlowApi from '~api/tasks/flow'
+import { deepClone, getArrValue } from 'js-fast-way'
 
 //参数
 const props = defineProps({
     ui: {
         type: String,
-        default: ''
+        default: '',
     },
     //选中的用户数组
     users: {
         type: String,
-        default: ''
+        default: '',
     },
     projectId: {
         type: [String, Number],
-        default: ''
+        default: '',
     },
     contractId: {
         type: [String, Number],
-        default: ''
-    }
+        default: '',
+    },
 })
 
+//事件
+const emit = defineEmits(['change'])
 //变量
 const showModal = ref(false)
 const sequenceModal = ref(false)
@@ -106,12 +122,12 @@ const projectId = ref(props.projectId)
 const contractId = ref(props.contractId)
 
 //树数据
-const ElTreeProps = {children: 'childRoleList', label: 'roleName'}
+const ElTreeProps = { children: 'childRoleList', label: 'roleName' }
 const ElTreeData = ref([{
     roleName: '全部人员',
     roleId: 0,
     childRoleList: [],
-    signPfxFileList: []
+    signPfxFileList: [],
 }])
 
 //监听
@@ -151,8 +167,8 @@ const showModalClick = () => {
 //获取系统所有角色划分
 const signUserList = ref([])
 const queryAllRoleList = async () => {
-    const {error, code, data} = await tasksFlowApi.queryAllRoleList({
-        contractId: contractId.value
+    const { error, code, data } = await tasksFlowApi.queryAllRoleList({
+        contractId: contractId.value,
     })
     //处理数据
     if (!error && code === 200) {
@@ -193,16 +209,13 @@ const setCheckboxUserName = (item) => {
 
 //删除已选择的用户
 const delCheckboxUser = (index) => {
-    checkboxUserList.value.splice(index, 1);
+    checkboxUserList.value.splice(index, 1)
 }
 
-//事件
-const emit = defineEmits(['change'])
-
 //确认选择
 const sureSignUserLoading = ref(false)
 const sureSignUserClick = () => {
-    let newUser = [], newUserId = [], users = '';
+    let newUser = [], newUserId = [], users = ''
     const dataList = deepClone(checkboxUserList.value)
     UserDataList.value = dataList
     if (dataList.length > 0) {
@@ -223,6 +236,7 @@ const sureSignUserClick = () => {
         sureSignUserLoading.value = false
         emit('change', newUser, newUserId, users)
     } else {
+        emit('change', newUser, newUserId, users)
         window.$message?.warning('请先选择任务人员,或点击取消')
     }
 }

+ 1 - 0
src/views/base/region.vue

@@ -230,6 +230,7 @@ const formRef = ref(null)
 const formModel = ref({})
 const formRules = {
     name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
+    allUser: [{ required: true, message: '请选择用户', trigger: 'blur' }],
 }
 const allUserName = ref('')
 const tasksUserChange = (user) => {