ZaiZai 1 年之前
父節點
當前提交
820fd0f378
共有 3 個文件被更改,包括 33 次插入20 次删除
  1. 22 11
      src/components/hc-tasks-user/index.vue
  2. 3 1
      src/components/hc-tasks-user/modules/user-modal.vue
  3. 8 8
      src/views/tasks/flow.vue

+ 22 - 11
src/components/hc-tasks-user/index.vue

@@ -14,7 +14,7 @@
 
 <script setup>
 import { ref, watch } from 'vue'
-import { getArrValue, getObjValue } from 'js-fast-way'
+import { deepClone, getArrValue, getObjValue } from 'js-fast-way'
 import HcUserModal from './modules/user-modal.vue'
 
 //参数
@@ -24,6 +24,10 @@ const props = defineProps({
         default: '',
     },
     data: {
+        type: Array,
+        default: () => ([]),
+    },
+    datas: {
         type: Object,
         default: () => ({}),
     },
@@ -32,20 +36,15 @@ const props = defineProps({
 //事件
 const emit = defineEmits(['change'])
 
-//双向绑定
-const datas = defineModel('modelValue', {
-    default: () => ([]),
-})
-
 //监听基础数据
-const dataInfo = ref(props.data)
-watch(() => props.data, (data) => {
+const dataInfo = ref(props.datas)
+watch(() => props.datas, (data) => {
     dataInfo.value = getObjValue(data)
 }, { deep: true, immediate: true })
 
 //监听用户数据
-const fixedData = ref([])
-watch(() => datas.value, (data) => {
+const fixedData = ref(props.data)
+watch(() => props.data, (data) => {
     fixedData.value = getArrValue(data)
 }, { deep: true, immediate: true })
 
@@ -57,7 +56,19 @@ const userShowModal = () => {
 
 //选择完成
 const fixedUserFinish = (data) => {
-    console.log(data)
+    isUserModalShow.value = false
+    const res = getArrValue(data)
+    fixedData.value = res
+    const arr = deepClone(res)
+    for (let i = 0; i < arr.length; i++) {
+        const { userList } = arr[i]
+        let newUserId = []
+        for (let j = 0; j < userList.length; j++) {
+            newUserId.push(userList[j].userId)
+        }
+        arr[i].userIds = newUserId.join(',')
+    }
+    emit('change', arr)
 }
 </script>
 

+ 3 - 1
src/components/hc-tasks-user/modules/user-modal.vue

@@ -341,7 +341,7 @@ const singleSaveClick = () => {
 //确定选择
 const confirmLoading = ref(false)
 const confirmClick = async () => {
-    const list = fixedData.value
+    const list = deepClone(fixedData.value)
     if (list.length <= 0) {
         window.$message.warning('请先创建人物流程和选择任务人')
         return
@@ -349,6 +349,8 @@ const confirmClick = async () => {
     //验证数组
     let isRes = true
     for (let i = 0; i < list.length; i++) {
+        delete list[i].isDataAdd
+        delete list[i].isDataSave
         const { name, userList } = list[i]
         if (userList.length <= 0) {
             isRes = false

+ 8 - 8
src/views/tasks/flow.vue

@@ -33,7 +33,7 @@
                     <el-input v-model="flowFormData.fixedName" placeholder="请输入流程名称" />
                 </el-form-item>
                 <el-form-item label="选择任务人" prop="fixedBranchList">
-                    <hc-tasks-user v-model="flowFormData.fixedBranchList" :data="fixedData" ui="w-full" />
+                    <hc-tasks-user :data="flowFormData.fixedBranchList" :datas="fixedData" ui="w-full" @change="flowFormChange" />
                 </el-form-item>
             </el-form>
             <template #footer>
@@ -194,6 +194,11 @@ const formFlowRules = {
     },
 }
 
+//流程数据
+const flowFormChange = (data) => {
+    flowFormData.value.fixedBranchList = getArrValue(data)
+}
+
 //提交保存
 const sevaLoading = ref(false)
 const saveFormClick = async () => {
@@ -208,7 +213,7 @@ const saveFormClick = async () => {
     form.fixedBranchList = fixedBranchList
     if (!form.id && !form.fixedFlowId) {
         sevaLoading.value = true
-        const { error, code, msg } = await tasksFlowApi.saveFixedFlow({
+        const { error, code } = await tasksFlowApi.saveFixedFlow({
             ...form,
             projectId: projectId.value,
             contractId: contractId.value,
@@ -219,14 +224,12 @@ const saveFormClick = async () => {
             showEditModal.value = false
             window?.$message?.success('保存成功')
             getTableData().then()
-        } else {
-            window?.$message?.error(msg)
         }
     } else {
         sevaLoading.value = true
         form.fixedFlowId = changeId.value
         delete form.id
-        const { error, code, msg } = await tasksFlowApi.updateFixedFlowData({
+        const { error, code } = await tasksFlowApi.updateFixedFlowData({
             ...form,
             projectId: projectId.value,
             contractId: contractId.value,
@@ -237,9 +240,6 @@ const saveFormClick = async () => {
             showEditModal.value = false
             window?.$message?.success('保存成功')
             getTableData().then()
-        } else {
-            window?.$message?.error(msg)
-            // getFlowDetail()
         }
     }
 }