|
|
@@ -12,7 +12,7 @@
|
|
|
<span class="grey-6 ml-5">{{ i.name }}</span>
|
|
|
<span v-if='i.index !== 2' class='font-12 grey-6 ml-10'>万元</span>
|
|
|
</div>
|
|
|
- <div v-if="i.index !== 2" class='flex flex-align-end flex-justify-start mt-20'>
|
|
|
+ <div v-if="i.index !== 2" class='flex flex-align-end flex-justify-start mt-10'>
|
|
|
<span class="grey" style="margin-left: 3px">¥</span>
|
|
|
<span class="ml-5 font-24 "
|
|
|
:style='`color:` + i.color'>{{ info[i.prop] ? info[i.prop].toLocaleString() : '0' }}</span>
|
|
|
@@ -21,8 +21,8 @@
|
|
|
<Edit/>
|
|
|
</el-icon>
|
|
|
</div>
|
|
|
- <div v-else class='flex flex-justify-start flex-align-end flex-center mt-10'>
|
|
|
- <div class="progress-bar">
|
|
|
+ <div v-else class='flex flex-justify-start flex-center mt-10'>
|
|
|
+ <div class="progress-bar mt-10">
|
|
|
<div class="bar full-height" :style="`width: `+ info[i.prop]"></div>
|
|
|
</div>
|
|
|
<span class="ml-10 font-24 mt-10" :style='`color:` + i.color'>{{ info[i.prop] }}</span>
|
|
|
@@ -40,46 +40,56 @@
|
|
|
<script>
|
|
|
import basicTab from '@/components/basic-tab/index.vue'
|
|
|
import wave from '@/views/invest/components/wave.vue'
|
|
|
-import { useStore } from '@/store/user.js'
|
|
|
-import { ElMessageBox } from 'element-plus'
|
|
|
+import {useStore} from '@/store/user.js'
|
|
|
+import {ElMessageBox} from 'element-plus'
|
|
|
import index from '@/views/task/Index.vue'
|
|
|
|
|
|
export default {
|
|
|
name: 'years',
|
|
|
computed: {
|
|
|
- index () {
|
|
|
+ index() {
|
|
|
return index
|
|
|
}
|
|
|
},
|
|
|
- components: { basicTab, wave },
|
|
|
- setup () {
|
|
|
+ components: {basicTab, wave},
|
|
|
+ setup() {
|
|
|
const user = useStore()
|
|
|
- return { user }
|
|
|
+ return {user}
|
|
|
},
|
|
|
props: {
|
|
|
deptId: {
|
|
|
type: String,
|
|
|
default: ''
|
|
|
+ },
|
|
|
+ year: {
|
|
|
+ type: String,
|
|
|
+ default: ''
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
|
deptId: {
|
|
|
- handler (val) {
|
|
|
+ handler(val) {
|
|
|
+ this.load()
|
|
|
+ },
|
|
|
+ immediate: true
|
|
|
+ },
|
|
|
+ year: {
|
|
|
+ handler(val) {
|
|
|
this.load()
|
|
|
},
|
|
|
immediate: true
|
|
|
}
|
|
|
},
|
|
|
- data () {
|
|
|
+ data() {
|
|
|
return {
|
|
|
times: [],
|
|
|
info: {},
|
|
|
tabs: [
|
|
|
- { name: '总览', value: 0 },
|
|
|
- { name: '一季度', value: 1 },
|
|
|
- { name: '二季度', value: 2 },
|
|
|
- { name: '三季度', value: 3 },
|
|
|
- { name: '四季度', value: 4 }
|
|
|
+ {name: '总览', value: 0},
|
|
|
+ {name: '一季度', value: 1},
|
|
|
+ {name: '二季度', value: 2},
|
|
|
+ {name: '三季度', value: 3},
|
|
|
+ {name: '四季度', value: 4}
|
|
|
],
|
|
|
quarter: '',
|
|
|
dash: [
|
|
|
@@ -123,13 +133,15 @@ export default {
|
|
|
]
|
|
|
}
|
|
|
},
|
|
|
- created () {
|
|
|
+ created() {
|
|
|
this.init()
|
|
|
},
|
|
|
methods: {
|
|
|
- load () {
|
|
|
+ load() {
|
|
|
+ this.tabs[0].name = this.year + '年总览'
|
|
|
this.$api.invest.homeInvest({
|
|
|
deptId: this.deptId === null ? '' : this.deptId,
|
|
|
+ year: this.year === null ? '' : this.year,
|
|
|
quarter: this.quarter
|
|
|
}).then(res => {
|
|
|
if (res.code === 200) {
|
|
|
@@ -137,16 +149,16 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- init () {
|
|
|
+ init() {
|
|
|
const year = new Date().getFullYear()
|
|
|
this.tabs[0].name = year + '年总览'
|
|
|
},
|
|
|
- change (index) {
|
|
|
+ change(index) {
|
|
|
this.quarter = index.value === 0 ? '' : index.value
|
|
|
this.$emit('change', index)
|
|
|
this.load()
|
|
|
},
|
|
|
- edit (item) {
|
|
|
+ edit(item) {
|
|
|
ElMessageBox.prompt('当前责任目标为' + this.info[item.prop].toLocaleString() + '万元,请输入新的责任目标(数字,小数点)', '提示', {
|
|
|
confirmButtonText: '保存',
|
|
|
cancelButtonText: '取消',
|
|
|
@@ -154,37 +166,37 @@ export default {
|
|
|
/^([1-9]\d*|0)(\.\d+)?$/,
|
|
|
inputErrorMessage: '信息错误'
|
|
|
})
|
|
|
- .then(({ value }) => {
|
|
|
- let data = {}
|
|
|
- switch (this.quarter) {
|
|
|
- case 0: // 年度
|
|
|
- data = { number: value }
|
|
|
- break
|
|
|
- case 1: // 1季度
|
|
|
- data = { number: value, type: 1 }
|
|
|
- break
|
|
|
- case 2: // 2季度
|
|
|
- data = { number: value, type: 2 }
|
|
|
- break
|
|
|
- case 3: // 3季度
|
|
|
- data = { number: value, type: 3 }
|
|
|
- break
|
|
|
- case 4: // 4季度
|
|
|
- data = { number: value, type: 4 }
|
|
|
- break
|
|
|
- default:
|
|
|
- data = { number: value }
|
|
|
- break
|
|
|
- }
|
|
|
- this.$api.invest.savePlan(Object.assign({ deptId: this.deptId === null ? '' : this.deptId }, data)).then(res => {
|
|
|
- if (res.code === 200) {
|
|
|
- this.$message.success(res.msg)
|
|
|
- this.info[item.prop] = value
|
|
|
- } else {
|
|
|
- this.$message.error(res.msg)
|
|
|
+ .then(({value}) => {
|
|
|
+ let data = {}
|
|
|
+ switch (this.quarter) {
|
|
|
+ case 0: // 年度
|
|
|
+ data = {number: value}
|
|
|
+ break
|
|
|
+ case 1: // 1季度
|
|
|
+ data = {number: value, type: 1}
|
|
|
+ break
|
|
|
+ case 2: // 2季度
|
|
|
+ data = {number: value, type: 2}
|
|
|
+ break
|
|
|
+ case 3: // 3季度
|
|
|
+ data = {number: value, type: 3}
|
|
|
+ break
|
|
|
+ case 4: // 4季度
|
|
|
+ data = {number: value, type: 4}
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ data = {number: value}
|
|
|
+ break
|
|
|
}
|
|
|
+ this.$api.invest.savePlan(Object.assign({deptId: this.deptId === null ? '' : this.deptId}, data)).then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.$message.success(res.msg)
|
|
|
+ this.info[item.prop] = value
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
})
|
|
|
- })
|
|
|
}
|
|
|
}
|
|
|
}
|