Commit 95048d47a9082d5ba3bcf2df94c82b78f2202be5

Authored by 郭娟
1 parent 5554c00a
Exists in master

fix:优化出入库以及项目填报的功能

frontend/front/src/api/service/current.js
... ... @@ -7,3 +7,10 @@ export function accountBalanceExport(date) {
7 7 responseType: 'arraybuffer',
8 8 })
9 9 }
  10 +export function currentAccountDetailsExport(date) {
  11 + return request({
  12 + url: `${context.portal}/wCurrent/v1/curAccBalDetExport?date=${date}`,
  13 + method: 'get',
  14 + responseType: 'arraybuffer',
  15 + })
  16 +}
... ...
frontend/front/src/api/service/finance.js
... ... @@ -8,4 +8,11 @@ export function transactionDetailsExport(date) {
8 8 responseType: 'arraybuffer',
9 9 })
10 10 }
  11 +export function currentAccountDetailsExport(date) {
  12 + return request({
  13 + url: `${context.portal}/wCurrent/v1/curAccBalDetExport?date=${date}`,
  14 + method: 'get',
  15 + responseType: 'arraybuffer',
  16 + })
  17 +}
11 18  
... ...
frontend/front/src/components/dialog/processingRecordDialog.vue
... ... @@ -2,11 +2,15 @@
2 2 <div>
3 3 <el-dialog title="处理记录" :visible.sync="dialogTableVisible" @close="handleClose">
4 4 <el-table :data="gridData">
5   - <el-table-column type="index" property="date" label="序号" width="150"></el-table-column>
6   - <el-table-column property="f_create_by" label="操作人" width="200"></el-table-column>
  5 + <el-table-column type="index" property="date" label="序号" width="80" align="center">
  6 + <template slot-scope="scope">
  7 + {{ gridData.length - scope.$index }}
  8 + </template>
  9 + </el-table-column>
  10 + <el-table-column property="f_create_by" label="操作人" width="120"></el-table-column>
7 11 <el-table-column property="f_create_time" label="操作时间" width="200"></el-table-column>
8   - <el-table-column property="f_event_type" label="事件类型" width="200"></el-table-column>
9   - <el-table-column property="fProgressStatus" label="进展情况"></el-table-column>
  12 + <el-table-column property="f_event_type" label="事件类型" width="200" :show-overflow-tooltip="true"></el-table-column>
  13 + <el-table-column property="f_progress_status" label="进展情况" :show-overflow-tooltip="true"></el-table-column>
10 14 </el-table>
11 15 <el-row>
12 16 <el-col :span="24" style="display: flex;justify-content: end;margin-top: 10px">
... ...
frontend/front/src/components/tableSlot/current/accountBalanceDl.vue
1 1 <template>
2   - <div>
3   - <el-button @click="onClick">正常账户可用余额导出</el-button>
  2 + <div style="display: inline-block;">
  3 + <el-button @click="onClick" size="mini">正常账户可用余额导出</el-button>
  4 +<!-- <el-button @click="onClick">活期账户余额明细导出</el-button>-->
4 5 <el-dialog title="正常账户可用余额导出" :visible.sync="dialogVisible" width="30%">
5 6 <el-form>
6 7 <el-form-item label="日期">
... ...
frontend/front/src/components/tableSlot/current/currentAccountDetail.vue 0 → 100644
... ... @@ -0,0 +1,68 @@
  1 +<template>
  2 + <div style="display: inline-block;">
  3 + <el-button @click="onClick" size="mini">活期账户余额明细导出</el-button>
  4 + <el-dialog title="活期账户余额明细导出" :visible.sync="dialogVisible" width="30%">
  5 + <el-form>
  6 + <el-form-item label="日期">
  7 + <el-date-picker v-model="date" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"
  8 + style="width: calc(100% - 80px);"></el-date-picker>
  9 + </el-form-item>
  10 + </el-form>
  11 + <span slot="footer">
  12 + <el-button @click="dialogVisible = false">取 消</el-button>
  13 + <el-button type="primary" @click="onSubmit">导 出</el-button>
  14 + </span>
  15 + </el-dialog>
  16 + </div>
  17 +</template>
  18 +<script>
  19 +
  20 +import { currentAccountDetailsExport } from '@/api/service/current'
  21 +
  22 +export default {
  23 + data() {
  24 + return {
  25 + dialogVisible: false,
  26 + date: null
  27 + };
  28 + },
  29 + created() {
  30 + let today = new Date();
  31 + today.setDate(today.getDate() - 1);
  32 + let year = today.getFullYear();
  33 + let month = ("0" + (today.getMonth() + 1)).slice(-2);
  34 + let day = ("0" + today.getDate()).slice(-2);
  35 + this.date = year + '-' + month + '-' + day;
  36 + },
  37 + methods: {
  38 + onClick() {
  39 + this.dialogVisible = true;
  40 + },
  41 + onSubmit() {
  42 + if (!this.date) {this.$message.error('请选择日期!');return false;}
  43 + currentAccountDetailsExport(this.date).then(_ref => {
  44 + let {data, headers} = _ref;
  45 + // 附件下载
  46 + const blob = new Blob([data]);
  47 + // 附件下载
  48 + const fileName = decodeURIComponent(headers['content-disposition'].split(';')[1].split('filename=')[1]);
  49 + saveAs(blob, fileName);
  50 + }).catch(err => {
  51 + this.$message.error(`模板下载失败:${err}`);
  52 + });
  53 + }
  54 + }
  55 +}
  56 +</script>
  57 +
  58 +<style scoped lang='scss'>
  59 +::v-deep {
  60 + .el-dialog__footer {
  61 + text-align: center !important;
  62 +
  63 + .el-button {
  64 + margin-left: 20px;
  65 + }
  66 + }
  67 +}
  68 +</style>
... ...
frontend/front/src/components/tableSlot/projectSubmission/exportRecord.vue
1 1 <template>
2   - <div>
  2 + <div style="display: inline-block;">
3 3 <el-button icon="el-icon-upload2" size="mini" @click="handleExport" :loading="loading">导出</el-button>
4 4 </div>
5 5 </template>
... ... @@ -29,12 +29,12 @@ export default {
29 29 fProjectName:this.searchForms.project_name?this.searchForms.project_name:'',
30 30 fProjectCategory:this.searchForms.project_category?this.searchForms.project_category:'',
31 31 fProjectState:this.searchForms.project_state?this.searchForms.project_state:'',
32   - createTime:this.searchForms.create_time?this.searchForms.create_time:'',
  32 + createTime:this.searchForms.create_time?this.parseTime(this.searchForms.create_time,"{y}-{m}-{d}"):'',
33 33 fProjectNature:this.searchForms.project_nature?this.searchForms.project_nature:'',
34 34 fBusinessScenarios:this.searchForms.business_scenarios?this.searchForms.business_scenarios:'',
35 35 fBusinessModel:this.searchForms.business_model?this.searchForms.business_model:'',
36 36 fProjectRating:this.searchForms.project_rating?this.searchForms.project_rating:'',
37   - updateTime:this.searchForms.update_time?this.searchForms.update_time:''
  37 + updateTime:this.searchForms.update_time?this.parseTime(this.searchForms.update_time,"{y}-{m}-{d}"):''
38 38 }
39 39 exportRecordData(params).then((res)=>{
40 40 console.log('打印res',res);
... ... @@ -46,7 +46,6 @@ export default {
46 46 saveAs(blob, fileName);
47 47 this.loading = false;
48 48 })
49   - console.log('打印this.rows',this.searchForms,this.selectRows)
50 49  
51 50 },
52 51 }
... ...
frontend/front/src/main.js
... ... @@ -12,6 +12,7 @@ import &#39;moment/locale/zh-cn&#39;
12 12 import '@/assets/iconfont/iconfont.css'
13 13 import htProcessForecast from '@/views/matter/processForecast/processForecastPage.vue'
14 14 import HtKanban from '@/components/layouts/HtKanban/index.vue'
  15 +import {parseTime} from '@/utils/common.js'
15 16 import './plugs/tableSlot'
16 17  
17 18 Vue.component('HtProcessForecast', htProcessForecast)
... ... @@ -20,7 +21,7 @@ Vue.component(&#39;HtKanban&#39;, HtKanban)
20 21 // const { mockXHR } = require('@/utils/static')
21 22 // mockXHR()
22 23 // }
23   -
  24 +Vue.prototype.parseTime = parseTime;
24 25 Vue.config.productionTip = false
25 26  
26 27 Object.defineProperty(Vue.prototype, '$http', {
... ...
frontend/front/src/utils/common.js 0 → 100644
... ... @@ -0,0 +1,40 @@
  1 +// 日期格式化
  2 +export function parseTime(time, pattern) {
  3 + if (arguments.length === 0 || !time) {
  4 + return null
  5 + }
  6 + const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
  7 + let date
  8 + if (typeof time === 'object') {
  9 + date = time
  10 + } else {
  11 + if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
  12 + time = parseInt(time)
  13 + } else if (typeof time === 'string') {
  14 + time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.[\d]{3}/gm), '');
  15 + }
  16 + if ((typeof time === 'number') && (time.toString().length === 10)) {
  17 + time = time * 1000
  18 + }
  19 + date = new Date(time)
  20 + }
  21 + const formatObj = {
  22 + y: date.getFullYear(),
  23 + m: date.getMonth() + 1,
  24 + d: date.getDate(),
  25 + h: date.getHours(),
  26 + i: date.getMinutes(),
  27 + s: date.getSeconds(),
  28 + a: date.getDay()
  29 + }
  30 + const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
  31 + let value = formatObj[key]
  32 + // Note: getDay() returns 0 on Sunday
  33 + if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] }
  34 + if (result.length > 0 && value < 10) {
  35 + value = '0' + value
  36 + }
  37 + return value || 0
  38 + })
  39 + return time_str
  40 +}
... ...