Procházet zdrojové kódy

项目里程碑功能优化

songxy před 1 rokem
rodič
revize
07cdd29aef

+ 13 - 8
client/src/views/OaSystem/projectCenter/projectDetail/components/xmxx/ProjectMileStone.vue

@@ -31,13 +31,15 @@ const addProjectMilestone = async (item) => {
     name: '',
     planFinishTime: '',
     actualFinishTime: '',
+    process: '',
     projectId: props.projectId
   }
   copyObject(sendData, item)
   const result = await request.post({ url, data: sendData }, '/business')
   if (result) {
+    item['id'] = result
     message.success('项目里程碑新增成功!')
-    refetch()
+    item['is_edit'] = false
   }
 }
 //编辑项目里程碑
@@ -54,9 +56,7 @@ const updateProjectMilestone = async (item) => {
 //删除项目里程碑
 const deleteProjectMilestone = async (id: string) => {
   const url = `/project-milestone?id=${id}`
-  const result = await request.delete({ url }, '/business')
-  console.log('result-----------------')
-  console.log(result)
+  request.delete({ url }, '/business')
 }
 watch(
   () => props.projectId,
@@ -92,6 +92,7 @@ const pMileStoneAddHandle = () => {
     name: '',
     planFinishTime: '',
     actualFinishTime: '',
+    process: '100',
     is_edit: true
   })
 }
@@ -112,13 +113,15 @@ const confirmHandle = (id: string, index: number) => {
       <el-table :data="projectMilestoneList" border style="width: 100%" header-align="center">
         <el-table-column label="里程碑名称">
           <template #default="scope">
-            <el-input :disabled="!scope.row.is_edit" v-model="scope.row.name" />
+            <span v-if="!scope.row.is_edit">{{ scope.row.name }}</span>
+            <el-input v-else v-model="scope.row.name" />
           </template>
         </el-table-column>
         <el-table-column prop="planFinishTime" label="计划完成时间" width="260">
           <template #default="scope">
+            <span v-if="!scope.row.is_edit">{{ scope.row.planFinishTime }}</span>
             <el-date-picker
-              :disabled="!scope.row.is_edit"
+              v-else
               style="width: 100%"
               v-model="scope.row.planFinishTime"
               value-format="YYYY-MM-DD"
@@ -128,8 +131,9 @@ const confirmHandle = (id: string, index: number) => {
 
         <el-table-column label="实际完成时间" prop="actualFinishTime" width="260">
           <template #default="scope">
+            <span v-if="!scope.row.is_edit">{{ scope.row.actualFinishTime }}</span>
             <el-date-picker
-              :disabled="!scope.row.is_edit"
+              v-else
               style="width: 100%"
               v-model="scope.row.actualFinishTime"
               value-format="YYYY-MM-DD"
@@ -138,7 +142,8 @@ const confirmHandle = (id: string, index: number) => {
         </el-table-column>
         <el-table-column label="项目进度" width="200">
           <template #default="scope">
-            <el-input :disabled="!scope.row.is_edit" v-model="scope.row.name" />
+            <span v-if="!scope.row.is_edit">{{ scope.row.process }}%</span>
+            <el-input v-else v-model="scope.row.process" />
           </template>
         </el-table-column>
         >

+ 14 - 33
client_h5/src/App.vue

@@ -1,37 +1,19 @@
 <script setup lang="ts">
 import { getAuthCode } from 'dingtalk-jsapi'; 
-import { getUrlParams } from "@/utils/common";
 import reqest from "@/utils/request";
 
-const socialAuthRedirect = (type: number, redirectUri: string) => {
-    return reqest.get('/system/auth/social-auth-redirect?type=' + type + '&redirectUri=' + redirectUri)
+const initUserInfoHandler = async () => {
+    const code: string = await getDDAuthCode() as string
+    console.log("code--------")
+    console.log(code)
+    return;
+    const userIdResult = await getUserIdByDD({
+        code
+    })
+    console.log("userIdResult--------")
+    console.log(userIdResult)
 }
-const initUserInfoHandler = async (type: number) => {
-    const redirectUri:string ='http://10.10.10.7:48080/admin-api/system/auth/social-login?type=' + type
-    const res = await socialAuthRedirect(type, encodeURIComponent(redirectUri))
-    if (res && res.data) {
-        const map = getUrlParams(res.data);
-        const state: string = map?.get("state") as string
-        console.log("state--------------")
-        console.log(state)
-        const code: string = await getDDAuthCode() as string
-        console.log("code--------")
-        console.log(code)
-        const userIdResult = await getUserIdByDD({
-            type,
-            code,
-            state
-        })
-        console.log("userIdResult----------------")
-        console.log(userIdResult)
-        if (userIdResult && userIdResult.data) { 
-            const userInfo = await getUserInfoById(userIdResult.data)
-            console.log("userInfo----------------")
-            console.log(userInfo) 
-        }
-    }
-}
-initUserInfoHandler(20)
+initUserInfoHandler()
 function getDDAuthCode() {
     return new Promise((resolve, reject) => {
         getAuthCode({
@@ -54,15 +36,14 @@ function getDDAuthCode() {
     });
 }
 interface UserIdParam {
-    type: number
     code: string
-    state: string
 }
 const getUserIdByDD = async (data: Required<UserIdParam>) => {
-  return reqest.post('/system/auth/social-login', data)
+  return reqest.post(`/app-api/system/auth/login-ding?code=${data.code}`, null)
 }
+//@ts-ignore
 const getUserInfoById = async (idStr: Required<string>) => {
-  return reqest.get('/system/user/get', {
+  return reqest.get('/admin-api/system/user/get', {
       params: {id: idStr}
   })
 }

+ 1 - 1
client_h5/src/utils/request.ts

@@ -2,7 +2,7 @@ import axios from 'axios';
  
  
 const defaultConfig = {
-  baseURL:'http://10.10.10.7:48080/admin-api/'
+  baseURL:'http://10.10.10.7:48080/'
 };
  
 const instance = axios.create(Object.assign({}, defaultConfig));