diff --git a/package.json b/package.json index 05104da..9ade414 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "echarts": "^4.9.0", "element-resize-detector": "^1.2.4", "element-ui": "2.13.2", + "file-saver": "^2.0.5", "html2canvas": "^1.4.1", "js-cookie": "2.2.0", "less": "^3.13.1", @@ -34,7 +35,8 @@ "vue-router": "3.0.6", "vuex": "3.1.0", "vuex-persistedstate": "^4.1.0", - "wangeditor": "^4.7.12" + "wangeditor": "^4.7.12", + "xlsx": "^0.18.5" }, "devDependencies": { "@vue/cli-plugin-babel": "4.4.4", diff --git a/src/api/budget/budget.js b/src/api/budget/budget.js index 7dda48f..6b1a410 100644 --- a/src/api/budget/budget.js +++ b/src/api/budget/budget.js @@ -32,11 +32,12 @@ export function editorBudget(data){ }) } -export function detailBudget(params){ +export function detailBudget(params,noloading=false){ return request({ method:'get', url:"/api/admin/plan/show", - params + params, + noloading }) } diff --git a/src/api/budget/planTarget.js b/src/api/budget/planTarget.js index 33109f6..07992f6 100644 --- a/src/api/budget/planTarget.js +++ b/src/api/budget/planTarget.js @@ -1,10 +1,11 @@ import request from '@/utils/request' -export function index(params) { +export function index(params,noloading=false) { return request({ method: "get", url: "/api/admin/plan_target/index", - params + params, + noloading }) } diff --git a/src/store/modules/user.js b/src/store/modules/user.js index cf700fc..9848e9b 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -24,7 +24,8 @@ const getDefaultState = () => { min_allow_level: 2, department: {}, roles: [], - oaToken: '' + oaToken: '', + myroles: [], } } @@ -37,6 +38,9 @@ const mutations = { SET_TOKEN: (state, token) => { state.token = token }, + SET_MYROLES: (state, roles) => { + state.myroles = roles + }, SET_LEVEL: (state, level=2) => { state.min_allow_level = level }, @@ -131,6 +135,7 @@ const actions = { if (!response) { reject('身份验证失败请重新登录') } + commit('SET_MYROLES', response.roles) response["roles"] = ["admin"]; const { id, diff --git a/src/views/achievements/components/addSelfEvaluationForm.vue b/src/views/achievements/components/addSelfEvaluationForm.vue index 2b47f22..6604e14 100644 --- a/src/views/achievements/components/addSelfEvaluationForm.vue +++ b/src/views/achievements/components/addSelfEvaluationForm.vue @@ -1,6 +1,7 @@ + + + + diff --git a/src/views/achievements/components/examineConfirm.vue b/src/views/achievements/components/examineConfirm.vue new file mode 100644 index 0000000..8e6a38b --- /dev/null +++ b/src/views/achievements/components/examineConfirm.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/views/achievements/endExamine.vue b/src/views/achievements/endExamine.vue index 1f9066c..587e1f8 100644 --- a/src/views/achievements/endExamine.vue +++ b/src/views/achievements/endExamine.vue @@ -1,17 +1,277 @@ diff --git a/src/views/achievements/evaluate.vue b/src/views/achievements/evaluate.vue index 281139c..0204aeb 100644 --- a/src/views/achievements/evaluate.vue +++ b/src/views/achievements/evaluate.vue @@ -92,8 +92,12 @@ 自评表 - 年中 - 年末 + + 年中 + + + 年末 + @@ -145,7 +149,7 @@ - + @@ -169,7 +173,7 @@ export default { budgetTypes: [], select: { name: "", - year: new Date().getFullYear(), + year: new Date().getFullYear().toString(), keyword: "", page: 1, page_size: 10, @@ -181,8 +185,18 @@ export default { label: "项目名称", prop: "name", width: 200, + align: "left", sortable: false, fixed: "left", + customFn: row => { + return ( +

+ {row.year_middle_audit < 0 ? '【年中自评驳回】' : '' } + {row.year_end_audit < 0 ? '【年末自评驳回】' : '' } + {row.name} +

+ ) + } }, { label: "预算类型", @@ -233,6 +247,23 @@ export default { align: "left", sortable: false, }, + { + label: "自评意见", + width: 100, + prop: "plan_logs", + customFn: row => { + return ( + +
+ { + row.plan_logs.map((i,index) => (

{++index}. {i.reason}{this.$moment(i.created_at).format('YYYY-MM-DD HH:mm')}

)) + } +
+ 查看 +
+ ) + } + } ], list: [], }; diff --git a/src/views/achievements/middleExamine.vue b/src/views/achievements/middleExamine.vue index 0e0c261..836afa1 100644 --- a/src/views/achievements/middleExamine.vue +++ b/src/views/achievements/middleExamine.vue @@ -33,17 +33,13 @@ placeholder="请输入关键字" style="width: 180px" > + - - - @@ -54,11 +50,21 @@ label="操作" header-align="center" fixed="right" - width="210" + width="220" > - @@ -68,40 +74,203 @@ + + + diff --git a/src/views/budget/components/addPoint.vue b/src/views/budget/components/addPoint.vue index 386382f..8b45a89 100644 --- a/src/views/budget/components/addPoint.vue +++ b/src/views/budget/components/addPoint.vue @@ -127,6 +127,40 @@ export default { ) } }, + { + label: "评价方式", + width: 220, + prop: "evaluation_way", + customFn: row => { + + return ( +
+ + + { + this.$confirm('确认保存评价方式?','提示',{ + closeOnClickModal: false + }).then(_ => { + save(row).then(_ => { + this.$message({ + type: 'success', + message: '保存成功' + }) + this.getList() + }) + }) + } + }}>保存 +
+ ) + } + }, { label: "指标名称", prop: "target.name", @@ -413,11 +447,12 @@ export default { } }, - submitOne ({ id, score}) { + submitOne ({ id, score, evaluation_way}) { save({ target_id: id, plan_id: this.getPlanId(), - score + score, + evaluation_way }).then(_ => { this.getList(); }) @@ -431,7 +466,8 @@ export default { save({ target_id, plan_id: this.getPlanId(), - score: this.points.find(j => j.id === target_id)?.score + score: this.points.find(j => j.id === target_id)?.score, + evaluation_way: this.points.find(j => j.id === target_id)?.evaluation_way }) ); }); diff --git a/src/views/finance/evaluateConfirm.vue b/src/views/finance/evaluateConfirm.vue index 6338d39..bf09de1 100644 --- a/src/views/finance/evaluateConfirm.vue +++ b/src/views/finance/evaluateConfirm.vue @@ -9,6 +9,24 @@
+ 名称 + + 年份 + + + 关键字