|
@@ -6,8 +6,11 @@ import {
|
|
|
getAllSubReportCatalog,
|
|
|
getSubReport,
|
|
|
getReportDependence,
|
|
|
- sendConfirm
|
|
|
+ sendConfirm,
|
|
|
+ returnReport
|
|
|
} from '@/api/qualityMonthlyReport/edit'
|
|
|
+import { getAvaliableInfo } from '@/api/qualityMonthlyReport/index'
|
|
|
+
|
|
|
import {
|
|
|
reportDataBack,
|
|
|
setReportData,
|
|
@@ -22,7 +25,7 @@ export default {
|
|
|
/* 月报编辑 */
|
|
|
namespaced: true,
|
|
|
state: {
|
|
|
- pageDate: null,
|
|
|
+ pageDate: null, // 页面的完整数据
|
|
|
tabsList: [
|
|
|
'上月问题跟进',
|
|
|
'本月重点问题',
|
|
@@ -31,25 +34,29 @@ export default {
|
|
|
'硬件详情',
|
|
|
'本月优秀&持续改进'
|
|
|
],
|
|
|
- tabsActive: '',
|
|
|
+ tabsActive: '', // 最上层tabs焦点
|
|
|
tabPageData: null, // 单个标签页数据
|
|
|
- treeActive: '',
|
|
|
- treeData: [],
|
|
|
reportData: [], // 所有标签页数据
|
|
|
- editKeys: [],
|
|
|
+ editKeys: [], // 存放需要编辑的区域的 domKey(唯一)
|
|
|
subTabsActive: [], // 当前页签中所有已切换的数据
|
|
|
domKeys: [], // 记录所有元素区域的唯一标识
|
|
|
- offsetList: [],
|
|
|
selectEnum: [], // 部门数据
|
|
|
userNames: [], // 人员数据
|
|
|
subTitle: '新建月报',
|
|
|
+ /**
|
|
|
+ * 100 月报发起人
|
|
|
+ * 50 确认人
|
|
|
+ * 30 用户
|
|
|
+ * 0 管理员
|
|
|
+ */
|
|
|
+ roleCode: 50, // 默认为用户
|
|
|
pageType: 'edit' // edit:(月报编辑和新建); readAll:(查看月报详情)
|
|
|
},
|
|
|
mutations: {
|
|
|
// 页面基础数据赋值
|
|
|
INIT_PAGE_DATA(state, params) {
|
|
|
const { pageType } = state
|
|
|
- if (pageType === 'read') return
|
|
|
+ if (pageType === 'read' || pageType === 'edit') return
|
|
|
if (pageType === 'readAll') {
|
|
|
// 设置tabs数据
|
|
|
state.tabsList = state.tabsList.map((elm) => ({
|
|
@@ -219,25 +226,6 @@ export default {
|
|
|
CREATE_TREE_DATA(state) {},
|
|
|
// 菜单添加子项setInit
|
|
|
ADD_MENU_CHILDREN(state, params) {},
|
|
|
- // 获取子页面所有距离顶部的集合基础信息
|
|
|
- GET_ALL_OFFSETTOP(state) {
|
|
|
- const getOffsetTop = (id) => {
|
|
|
- const dom = document.getElementById(id)
|
|
|
- if (!dom) return 0.9527
|
|
|
- return dom.getBoundingClientRect().top
|
|
|
- }
|
|
|
- const list = []
|
|
|
- state.domKeys.forEach((elm) => {
|
|
|
- const top = getOffsetTop(elm)
|
|
|
- if (top > 0 && top !== 0.9527) {
|
|
|
- list.push({
|
|
|
- domKey: elm,
|
|
|
- top: getOffsetTop(elm)
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- state.offsetList = [...list]
|
|
|
- },
|
|
|
// 删除某一条数据
|
|
|
DELETE_ITEM(state, domKey) {
|
|
|
const tabPageData = [...state.tabPageData.children]
|
|
@@ -318,7 +306,6 @@ export default {
|
|
|
state.editKeys = []
|
|
|
state.subTabsActive = [] // 当前页签中所有已切换的数据
|
|
|
state.domKeys = [] // 记录所有元素区域的唯一标识
|
|
|
- state.offsetList = []
|
|
|
state.selectEnum = [] // 部门数据
|
|
|
state.userNames = {} // 人员数据
|
|
|
state.pageType = 'edit'
|
|
@@ -418,6 +405,10 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
run(state.tabPageData.children)
|
|
|
+ },
|
|
|
+ // 获取用户月报操作区域权限
|
|
|
+ GET_USER_PERMISSION(state, roleCode) {
|
|
|
+ state.roleCode = roleCode
|
|
|
}
|
|
|
},
|
|
|
actions: {
|
|
@@ -427,7 +418,11 @@ export default {
|
|
|
{ id, subReportId, subActive }
|
|
|
) {
|
|
|
const { pageType } = state
|
|
|
- if (pageType === 'readAll' || pageType === 'read') {
|
|
|
+ if (
|
|
|
+ pageType === 'readAll' ||
|
|
|
+ pageType === 'read' ||
|
|
|
+ pageType === 'edit'
|
|
|
+ ) {
|
|
|
commit('INIT_PAGE_DATA')
|
|
|
dispatch('getSubReportData', {
|
|
|
id,
|
|
@@ -458,7 +453,7 @@ export default {
|
|
|
let params = {}
|
|
|
const method =
|
|
|
pageType === 'readAll' ? getAllSubReportCatalog : getSubReport
|
|
|
- if (pageType === 'read') {
|
|
|
+ if (pageType === 'read' || pageType === 'edit') {
|
|
|
params = {
|
|
|
subReportId
|
|
|
}
|
|
@@ -472,7 +467,7 @@ export default {
|
|
|
const res = await method(params)
|
|
|
if (res.code === 200) {
|
|
|
// 单个月报与完整月报数据梳理
|
|
|
- if (pageType === 'read') {
|
|
|
+ if (pageType === 'read' || pageType === 'edit') {
|
|
|
commit('SET_SUB_TITLE', res.data.reportName)
|
|
|
}
|
|
|
commit('SET_TAB_PAGE_DATA', {
|
|
@@ -483,7 +478,7 @@ export default {
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
- // 月报提交
|
|
|
+ // 月报更新
|
|
|
async upDateReport({ commit, state }, cb) {
|
|
|
const params = _.cloneDeep(state.pageDate)
|
|
|
const tabPageData = _.cloneDeep(state.tabPageData)
|
|
@@ -514,6 +509,7 @@ export default {
|
|
|
commit('SET_SELECT_ENUM', res.data.deptArch.children)
|
|
|
}
|
|
|
},
|
|
|
+ // 删除月报
|
|
|
async deleteReport({ commit, state, context }, { key, cb }) {
|
|
|
const res = await delMonthlyReport(state.pageDate.id)
|
|
|
if (res.code === 200) {
|
|
@@ -521,6 +517,7 @@ export default {
|
|
|
cb()
|
|
|
}
|
|
|
},
|
|
|
+ // 月报发送
|
|
|
async sendReport({ commit, state, context }, { cb }) {
|
|
|
const res = await sendConfirm({
|
|
|
id: state.pageDate.id
|
|
@@ -529,6 +526,20 @@ export default {
|
|
|
message.success('发送成功!')
|
|
|
cb()
|
|
|
}
|
|
|
+ },
|
|
|
+ // 月报回退
|
|
|
+ async returnReport({ commit, state, context }, { data, cb }) {
|
|
|
+ const res = await returnReport(data)
|
|
|
+ if (res.code === 200) {
|
|
|
+ cb()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 获取用户月报操作区域权限
|
|
|
+ async getUserPermission({ commit }) {
|
|
|
+ const res = await getAvaliableInfo()
|
|
|
+ if (res.code === 200) {
|
|
|
+ commit('GET_USER_PERMISSION', res.data.roleCode)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|