Quellcode durchsuchen

任务详情审批修改

duy vor 2 Jahren
Ursprung
Commit
fe3790a5da
2 geänderte Dateien mit 61 neuen und 13 gelöschten Zeilen
  1. 39 5
      src/views/home/task/task-details.vue
  2. 22 8
      src/views/task/plan/components/TaskTable.vue

+ 39 - 5
src/views/home/task/task-details.vue

@@ -19,7 +19,7 @@
         </HcCardItem>
 
         <HcCardItem title="操作任务" class="mt-4" v-if="dataType === '任务审批'">
-            <el-form ref="formRef" :model="formModel" :rules="formRules" label-width="" :disabled="tabsKey !== 1">
+            <!-- <el-form ref="formRef" :model="formModel" :rules="formRules" label-width="" :disabled="tabsKey !== 1">
                 <el-form-item label="变更类别:" prop="type" size="large">
                     <el-radio-group v-model="formModel.type" size="large">
                         <el-radio label="1">已完成</el-radio>
@@ -27,7 +27,7 @@
                     </el-radio-group>
                 </el-form-item>
                 <el-form-item label="完成时间:" prop="finish_time" class="w-72" v-if="formModel.type === '1'">
-                    <el-date-picker class="block" v-model="formModel.finish_time" format="YYYY-MM-DD" type="date" value-format="YYYY-MM-DD"/>
+                    <el-date-picker class="block" v-model="otherInfo.completionTime" format="YYYY-MM-DD" type="date" value-format="YYYY-MM-DD"/>
                 </el-form-item>
                 <el-form-item label="转移时间:" prop="transfer" class="w-72" v-if="formModel.type === '2'">
                     <el-date-picker class="block" v-model="formModel.transfer" format="YYYY-MM-DD" type="date" value-format="YYYY-MM-DD"/>
@@ -38,6 +38,30 @@
                 <el-form-item label="转移原因:" prop="textContent" v-if="formModel.type === '2'">
                     <el-input v-model="formModel.textContent" :autosize="{ minRows: 3, maxRows: 5 }" placeholder="请输入文字说明" type="textarea"/>
                 </el-form-item>
+            </el-form> -->
+            <el-form ref="formRef" :model="otherInfo"  label-width="" disabled>
+                            <el-form-item label="变更类别:" prop="updateType" size="large">
+                                <el-radio-group v-model="otherInfo.updateType" size="large">
+                                    <el-radio label="1">已完成</el-radio>
+                                    <el-radio label="2" class="ml-8">任务转移</el-radio>
+                                </el-radio-group>
+                            </el-form-item>
+                            <el-form-item label="完成时间:" prop="completionTime" class="w-72" v-if="otherInfo.updateType === '1'">
+                                <el-date-picker class="block" v-model="otherInfo.completionTime" format="YYYY-MM-DD HH:mm:ss" type="date" value-format="YYYY-MM-DD HH:mm:ss"/>
+                            </el-form-item>
+                            <template v-if="otherInfo.updateType === '2'">
+                                <el-form-item label="转移时间:" prop="transfer" class="w-72">
+                                    <el-date-picker class="block" v-model="otherInfo.completionTime" format="YYYY-MM-DD HH:mm:ss" type="date" value-format="YYYY-MM-DD HH:mm:ss"/>
+                                </el-form-item>
+                                <el-form-item label="转移对象:" prop="type" size="large">
+                                    <el-select class="block" v-model="otherInfo.transferObject"  filterable allow-create default-first-option :reserve-keyword="false">
+                                        <el-option v-for="item in userList" :label="item.name" :value="item.id"/>
+                                    </el-select>
+                                </el-form-item>
+                                <el-form-item label="转移原因:" prop="textContent">
+                                    <el-input v-model="otherInfo.transferReason" :autosize="{ minRows: 3, maxRows: 5 }" placeholder="请输入文字说明" type="textarea"/>
+                                </el-form-item>
+                            </template>
             </el-form>
         </HcCardItem>
 
@@ -169,7 +193,7 @@ import invoiceRequest from './components/invoice-request.vue'
 import outsourcing from './components/outsourcing.vue'
 import costBudget from './components/cost-budget.vue'
 import {useAppStore} from "~src/store";
-import { getdepartmentList} from "~api/other";
+import { getdepartmentList,getuserList} from "~api/other";
 const useAppState = useAppStore();
 
 
@@ -186,13 +210,23 @@ onActivated(() => {
     tabsKey.value = useRoutes?.query?.tabsKey ?? ''
     console.log( tabsKey.value,' tabsKey.value');
     dataType.value = useRoutes?.query?.type ?? ''
-console.log(dataType.value,'dataType');
     dataId.value = useRoutes?.query?.id ?? ''
-
+    getUserDict()
     getTaskDatail()
 
 })
+//获取所有员工
+const userList=ref([])
+const getUserDict=async()=>{
+    const {error, code, data} = await getuserList({tenantId:useAppState.tenantId})
+    if (!error && code === 200) {
+        userList.value = getArrValue(data)
+
+    } else {
+        userList.value = []
 
+    }
+}
 const authTypeClick = () => {
     authType.value = !authType.value
 }

+ 22 - 8
src/views/task/plan/components/TaskTable.vue

@@ -69,11 +69,8 @@
                                     <el-date-picker class="block" v-model="formModel.completionTime" format="YYYY-MM-DD HH:mm:ss" type="date" value-format="YYYY-MM-DD HH:mm:ss"/>
                                 </el-form-item>
                                 <el-form-item label="转移对象:" prop="type" size="large">
-                                    <el-select class="block" v-model="formModel.transferObject" multiple filterable allow-create default-first-option :reserve-keyword="false">
-                                        <el-option label="张三" value="1"/>
-                                        <el-option label="李四" value="2"/>
-                                        <el-option label="王五" value="3"/>
-                                        <el-option label="王麻子" value="4"/>
+                                    <el-select class="block" v-model="formModel.transferObject"  filterable allow-create default-first-option :reserve-keyword="false">
+                                        <el-option v-for="item in userList" :label="item.name" :value="item.id"/>
                                     </el-select>
                                 </el-form-item>
                                 <el-form-item label="转移原因:" prop="textContent">
@@ -94,13 +91,15 @@ import {ref, nextTick, watch,onMounted,onActivated} from "vue";
 import {useRouter} from 'vue-router'
 import {getArrValue,getObjValue,formValidate,arrToId} from "js-fast-way"
 import planApi from '~api/task/plan.js';
-import { getdepartmentList} from "~api/other";
+import { getdepartmentList,getuserList} from "~api/other";
+import {useAppStore} from "~src/store";
+const useAppState = useAppStore();
 
 const router = useRouter()
 onActivated(()=>{
     getTableData()
     getDepartmentDict()
-   
+    getUserDict()
 })
 const department=ref([])
 //获取部门列表
@@ -114,6 +113,18 @@ const getDepartmentDict=async()=>{
 
     }
 }
+//获取所有员工
+const userList=ref([])
+const getUserDict=async()=>{
+    const {error, code, data} = await getuserList({tenantId:useAppState.tenantId})
+    if (!error && code === 200) {
+        userList.value = getArrValue(data)
+
+    } else {
+        userList.value = []
+
+    }
+}
 //参数
 const props = defineProps({
     tableKey: {
@@ -202,6 +213,7 @@ const changeStateModal = ref(false)
 const showChangeState = () => {
     changeStateLoading.value = false
     changeStateModal.value = true
+    formModel.value={}
     tableStateData.value=tableRows.value
 }
 
@@ -256,7 +268,9 @@ const saveChangeStateClick = async() => {
         if (!error && code === 200) {
             window.$message.success(msg)
             getTableData()
-        } 
+        } else{
+            window.$message.warning(msg)
+        }
     }
     changeStateLoading.value = false
     changeStateModal.value = false