Compare commits

..

No commits in common. '8f20e04701a20d57faf9eec462aac7f53c2405d1' and '5098a5cf0162f60752abd7495f7a3eb31a3f29d1' have entirely different histories.

  1. 3
      .env.base
  2. 5
      src/api/home/salary.js
  3. 2
      src/views/Basic/Dept/DeptForm.vue
  4. 31
      src/views/Home/Salary/index.vue
  5. 3
      src/views/OKR/Management/Components/AllTarget.vue
  6. 74
      src/views/OKR/Management/Components/DialogOkr.vue
  7. 22
      src/views/OKR/Management/Components/DialogOkrInfo.vue
  8. 2
      src/views/OKR/Management/Components/MyDuty.vue
  9. 2
      src/views/OKR/Management/Components/MySon.vue
  10. 19
      src/views/OKR/Management/Components/OkrTable.vue

@ -6,9 +6,8 @@ VITE_DEV=true
# 请求路径
# VITE_BASE_URL='http://localhost:48080'
# VITE_BASE_URL='http://47.98.161.246:48080'
VITE_BASE_URL='http://47.98.161.246:48080'
# VITE_BASE_URL='http://114.55.169.15:48080'
VITE_BASE_URL='http://114.215.207.150:48080'
# 上传路径
VITE_UPLOAD_URL='http://47.98.161.246:48080/admin-api/system/file/upload'

@ -54,8 +54,3 @@ export const getLinkHistorySalary = async () => {
export const getCommissionDetail = async (params) => {
return await request.get({ url: '/admin-api/oa/user-salary-grant/detail', params })
}
// 发送工资条通知
export const sendSalaryNotice = (data) => {
return request.post({ url: '/admin-api/oa/user-salary-grant/pushUserSalaryGrantDetail', data })
}

@ -197,7 +197,7 @@ const resetForm = () => {
/** 获得部门树 */
const getTree = async () => {
deptTree.value = []
const data = await DeptApi.getSimpleDeptList({ allFlag: true })
const data = await DeptApi.getSimpleDeptList({ allFlag: false })
let dept: Tree = { id: 0, name: '顶级部门', children: [] }
dept.children = handleTree(data)
deptTree.value.push(dept)

@ -308,24 +308,9 @@
<span v-if="row.status == 0">封存</span>
<span v-else-if="row.status == 1">已封存</span>
</el-button>
<el-button
type="primary"
v-if="row.grantId"
style="padding: 0"
text
@click="handleDetail(row)"
>
<el-button type="primary" v-if="row.grantId" text @click="handleDetail(row)">
提成明细
</el-button>
<el-button
type="primary"
text
v-hasPermi="['home:salary:send']"
style="padding: 0"
@click="handelSendNotic(row)"
>
发送工资条
</el-button>
</template>
</el-table-column>
</el-table>
@ -483,20 +468,6 @@ async function handleDetail(row) {
console.log(error)
}
}
function handelSendNotic(row) {
const name = row.grantId ? row.name : row.period
const params = row.grantId ? { grantId: row.grantId } : { period: row.period }
message.confirm('确认要发送"' + name + '"工资条吗?').then(async () => {
try {
await SalaryApi.sendSalaryNotice(params)
message.success('发送成功!')
} catch (error) {
message.error(error)
console.log(error)
}
})
}
</script>
<style lang="scss" scoped>

@ -1,5 +1,5 @@
<template>
<div class="flex flex-col w-full h-full p-4 bg-white rounded-lg shadow-md overflow-hidden">
<div>
<div class="flex items-center justify-between">
<el-row>
<el-tree-select
@ -31,6 +31,7 @@
>
</el-row>
</div>
<OkrTable ref="okrTableRef" :canEdit="isCurrentLeafNode" />
<DialogOkr ref="dialogOkr" @edit="handleEditOkr" />
<DialogOkrInfo ref="dialogOkrInfo" @success="handleSearchPeroid" />

@ -99,7 +99,7 @@
</div>
<div class="dialog-okr-side pl-10px">
<el-tabs v-model="sideIndex" style="flex: 1; height: 100%">
<el-tab-pane label="子节点" name="subNode" key=" ">
<el-tab-pane label="子节点" name="subNode">
<div class="overflow-y-auto" style="height: calc(100% - 50px)">
<div
v-for="item in childNodeList"
@ -143,43 +143,42 @@
</div>
</div>
</el-tab-pane>
<el-tab-pane label="评论" name="conclusion" key="conclusion">
<el-tab-pane label="评论" name="conclusion">
<div class="relative overflow-y-auto" style="height: calc(100% - 50px)">
<div v-if="addNewComment">
<div class="flex justify-between items-center">
<el-select
v-model="form.commentType"
filterable
size="small"
style="width: 120px"
@change="getCommentTemplate"
>
<el-option
v-for="it in commentTypeOptions"
:label="it.label"
:value="it.id"
:key="it.id"
/>
</el-select>
<div>
<el-button size="small" @click="addNewComment = false"> 取消 </el-button>
<el-button type="primary" size="small" @click="handleSaveComment">
发布
</el-button>
</div>
</div>
<div class="mt-10px" v-if="addNewComment">
<Editor
v-model:modelValue="form.commentValue"
height="300px"
:toolbarConfig="toolbarConfig"
<div class="flex justify-between items-center">
<el-select
v-if="addNewComment"
v-model="form.commentType"
filterable
size="small"
style="width: 120px"
@change="getCommentTemplate"
>
<el-option
v-for="it in commentTypeOptions"
:label="it.label"
:value="it.id"
:key="it.id"
/>
</el-select>
<div v-if="addNewComment">
<el-button size="small" @click="addNewComment = false"> 取消 </el-button>
<el-button type="primary" size="small" @click="handleSaveComment">
发布
</el-button>
</div>
<el-button v-else type="primary" size="small" @click="handleInsertComment">
新增评论
</el-button>
</div>
<div class="mt-10px" v-if="addNewComment">
<Editor
v-model:modelValue="form.commentValue"
height="300px"
:toolbarConfig="toolbarConfig"
/>
</div>
<el-button v-else type="primary" size="small" @click="handleInsertComment">
新增评论
</el-button>
<div
v-for="(it, index) in commentList"
:key="it.commentId"
@ -297,7 +296,7 @@
</div>
</div>
</el-tab-pane>
<el-tab-pane label="进度历史" name="history" key="history">
<el-tab-pane label="进度历史" name="history">
<div class="overflow-y-auto pl-15px" style="height: calc(100% - 50px)">
<el-timeline class="ml-10px">
<el-timeline-item
@ -650,9 +649,8 @@ function handleSendCommnet(idx) {
}
}
.content-wrap {
display: flex;
flex-direction: column;
height: calc(100% - 15px);
overflow-y: auto;
max-height: calc(100% - 70px);
}
}
.dialog-okr-side {

@ -120,20 +120,10 @@
class="flex items-center w-full"
v-for="(item, i) in objectList"
:key="item.objectiveId"
style="padding-bottom: 5px"
>
<div class="flex-1 w-100px">
<div class="flex items-center">
<el-tooltip content="点击可折叠/展开目标" placement="top" effect="dark">
<el-tag
type="success"
class="mr-10px"
@click="item.hideChild = !item.hideChild"
>
O{{ i + 1 }}
</el-tag>
</el-tooltip>
<el-tag type="success" class="mr-10px">O{{ i + 1 }}</el-tag>
<el-input
v-model="item.objectiveName"
placeholder="目标名称"
@ -145,7 +135,6 @@
placeholder="选择执行人,可多选"
multiple
clearable
collapse-tags
filterable
style="width: 240px; margin-left: 10px"
>
@ -172,7 +161,7 @@
<el-button type="danger" text @click="removeObj(i)">删除目标</el-button>
</div>
</div>
<div v-if="!item.hideChild" style="background: #f0f3fa; padding-bottom: 10px">
<div style="background: #f0f3fa; padding-bottom: 15px">
<div
class="ml-50px"
v-for="(kr, index) in item.keyResults"
@ -203,7 +192,7 @@
</div>
<div class="mt-5px flex items-center">
<el-tree-select
v-model="kr.source"
v-model="kr.sourceId"
:data="sourceOptions"
:props="defaultProps"
check-strictly
@ -213,10 +202,10 @@
node-key="sourceId"
placeholder="请选择渠道"
/>
<!-- <el-radio-group v-model="kr.resultType" class="ml-10px">
<el-radio-group v-model="kr.resultType" class="ml-10px">
<el-radio-button :value="1">目标值</el-radio-button>
<el-radio-button :value="2">/</el-radio-button>
</el-radio-group> -->
</el-radio-group>
<el-input
v-if="kr.resultType == 1"
@ -532,7 +521,6 @@ async function handleSave() {
const valid = await formRef.value.validate()
if (!valid) return
form.value.executor = form.value.executor || []
if (form.value.executor.length > 1) {
message
.confirm('是否按照当前节点所选的多个执行人自动新增对应的员工节点?', {

@ -1,5 +1,5 @@
<template>
<div class="h-full flex flex-col">
<div>
<div class="flex items-center justify-between">
<el-row>
<el-tree-select

@ -1,5 +1,5 @@
<template>
<div class="h-full flex flex-col">
<div>
<div class="flex items-center justify-between">
<el-row>
<el-tree-select

@ -1,12 +1,11 @@
<template>
<div class="flex-1 h-200px overflow-hidden">
<div>
<el-table
ref="tableRef"
:data="okrList"
default-expand-all
row-key="id"
size="large"
height="100%"
@row-click="handleRowClick"
@expand-change="handleExpand"
>
@ -20,18 +19,11 @@
height: getHeight(row, $index)
}"
></span>
<span v-if="row.type == '目标'">
<el-tag type="success" size="small">目标</el-tag>
{{ row.name }}
</span>
<span v-if="row.type == '目标'">目标{{ row.name }}</span>
<template v-else>
<span class="line2"></span>
<span>
<el-tag type="primary" size="small">关键成果</el-tag>
<span class="font-bold text-black" v-if="row.sourceName">
{{ row.sourceName }}
</span>
<span>{{ row.name }}</span>
关键成果{{ row.channelName }} {{ row.name }}
<span v-if="row.resultType == 1"> {{ row.targetValue }}</span>
</span>
<div class="flex items-center mt-10px ml-50px">
@ -102,14 +94,13 @@ function prepareData(list) {
nodeId: child.nodeId,
isSys: child.isSys,
processId: child.id,
name: child.keyResultShowName,
name: child.keyResultName,
progress: child.progress,
executorName: child.executorName,
type: '关键成果',
resultType: child.resultType,
targetValue: child.targetValue,
currentValue: Number(child.currentValue),
sourceName: child.sourceName
currentValue: Number(child.currentValue)
}
helpList.value.push(kr)
return kr

Loading…
Cancel
Save