Browse Source

bug 修改1

old
jiangyy 4 years ago
parent
commit
c5a7f5f718
  1. 11
      src/api/index.js
  2. 139
      src/views/form/statistics/list.vue
  3. 28
      src/views/form/write/index.vue

11
src/api/index.js

@ -69,7 +69,7 @@ api.interceptors.response.use(
*/ */
let errCodes = [500, 405, 403] let errCodes = [500, 405, 403]
const res = response.data const res = response.data
if (res.code === 200) { if (res.code === 0) {
return Promise.resolve(res) return Promise.resolve(res)
} else if (errCodes.includes(res.code)) { } else if (errCodes.includes(res.code)) {
// 这里做错误提示,如果使用了 element ui 则可以使用 Message 进行提示 // 这里做错误提示,如果使用了 element ui 则可以使用 Message 进行提示
@ -112,8 +112,15 @@ api.interceptors.response.use(
result = await api.request(response.config) result = await api.request(response.config)
}) })
return Promise.resolve(result) return Promise.resolve(result)
}else {
Message({
message: res.msg || 'Error',
type: 'error',
duration: 5 * 1000
})
return Promise.reject(res)
} }
return Promise.resolve(res) // return Promise.resolve(res)
}, },
error => { error => {
Message({ Message({

139
src/views/form/statistics/list.vue

@ -1,103 +1,100 @@
<template> <template>
<div class="statistics-container"> <div class="statistics-container">
<div class="filter-table-view"> <div class="filter-table-view">
<el-form ref="filterForm" :inline="true"> <el-form ref="filterForm"
<el-form-item label="提交时间" prop="endDateTime"> :inline="true">
<el-date-picker <el-form-item label="提交时间"
v-model="queryConditions.beginDateTime" prop="endDateTime">
<el-date-picker v-model="queryConditions.beginDateTime"
placeholder="开始时间" placeholder="开始时间"
type="datetime" type="datetime"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" />
/>
<span> </span> <span> </span>
<el-date-picker <el-date-picker v-model="queryConditions.endDateTime"
v-model="queryConditions.endDateTime"
:default-time="'23:59:59'" :default-time="'23:59:59'"
placeholder="结束时间" placeholder="结束时间"
type="datetime" type="datetime"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" />
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="queryProjectResult">查询</el-button> <el-button type="primary"
<el-button type="primary" @click="conditionFilterHandle">条件</el-button> @click="queryProjectResult">查询</el-button>
<el-button type="success" @click="exportProjectResult">导出</el-button> <el-button type="primary"
<el-button type="success" @click="downloadProjectResultFile">下载附件</el-button> @click="conditionFilterHandle">条件</el-button>
<el-button type="success"
@click="exportProjectResult">导出</el-button>
<el-button type="success"
@click="downloadProjectResultFile">下载附件</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div class="result-table-view"> <div class="result-table-view">
<el-table <el-table :data="projectResultList"
:data="projectResultList"
header-cell-class-name="data-table-header" header-cell-class-name="data-table-header"
stripe stripe
@row-dblclick="(row, column, event)=>{ @row-dblclick="(row, column, event)=>{
this.openDetailDrawerHandle(row) this.openDetailDrawerHandle(row)
}" }">
> <el-table-column type="selection"
<el-table-column width="55" />
type="selection" <el-table-column v-for="col in fixedCustomColumns"
width="55" :key="`t${col}`"
/> :label="fixedDefaultLabelFormColumn[col]">
<el-table-column
v-for="col in fixedCustomColumns" :key="`t${col}`"
:label="fixedDefaultLabelFormColumn[col]"
>
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row[col] }} {{ scope.row[col] }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="填写人" prop="realName" /> <el-table-column label="填写人"
<el-table-column label="组织/部门/网格" prop="orgName" /> prop="realName" />
<el-table-column label="来源" prop="clientType" /> <el-table-column label="组织/部门/网格"
prop="orgName" />
<el-table-column label="来源"
prop="clientType" />
<!-- <el-table-column label="填写时间" prop="createdTime" /> --> <!-- <el-table-column label="填写时间" prop="createdTime" /> -->
<el-table-column <el-table-column v-for="col in otherCustomColumns"
v-for="col in otherCustomColumns" :key="col"
:key="col" :label="projectItemColumns[col]" :label="projectItemColumns[col]"
show-overflow-tooltip show-overflow-tooltip>
>
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row['processData'][col] }} {{ scope.row['processData'][col] }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column v-for="col in fixedFormTailColumns"
v-for="col in fixedFormTailColumns" :key="`t${col}`" :key="`t${col}`"
:label="fixedDefaultLabelFormTailColumn[col]" :label="fixedDefaultLabelFormTailColumn[col]">
>
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row[col] }} {{ scope.row[col] }}
</template> </template>
</el-table-column> </el-table-column>
<!-- :render-header="renderHeader" --> <!-- :render-header="renderHeader" -->
<el-table-column <el-table-column fixed="right"
width="50">
fixed="right"
width="50"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="small" type="text" @click="openDetailDrawerHandle(scope.row)">查看</el-button> <el-button size="small"
type="text"
@click="openDetailDrawerHandle(scope.row)">查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-drawer <el-drawer v-if="activeResultRow"
v-if="activeResultRow"
:visible.sync="detailDrawer" :visible.sync="detailDrawer"
:with-header="false" :with-header="false">
>
<el-scrollbar style="height: 100%;"> <el-scrollbar style="height: 100%;">
<el-card class="detail-container"> <el-card class="detail-container">
<div slot="header" class="clearfix"> <div slot="header"
class="clearfix">
<span>提交详情</span> <span>提交详情</span>
</div> </div>
<div> <div>
<div v-for="item in projectItemList" :key="item.id"> <div v-for="item in projectItemList"
:key="item.id">
<h4>{{ item.label }}</h4> <h4>{{ item.label }}</h4>
<result-item :field-item-id="Number(item.formItemId)" :project-item-data="item" <result-item :field-item-id="Number(item.formItemId)"
:result-data="activeResultRow" :project-item-data="item"
/> :result-data="activeResultRow" />
<el-divider /> <el-divider />
</div> </div>
</div> </div>
@ -105,19 +102,19 @@
</el-scrollbar> </el-scrollbar>
</el-drawer> </el-drawer>
<div style="display: flex; justify-content: center; margin-top: 10px;"> <div style="display: flex; justify-content: center; margin-top: 10px;">
<el-pagination <el-pagination v-if="total>10"
v-if="total>10"
:current-page.sync="queryConditions.current" :current-page.sync="queryConditions.current"
:page-size.sync="queryConditions.size" :page-size.sync="queryConditions.size"
:total="total" :total="total"
background background
layout="total, prev, pager, next" layout="total, prev, pager, next"
@current-change="queryProjectResult" @current-change="queryProjectResult" />
/>
</div> </div>
</div> </div>
<div class="custom-col-container"> <div class="custom-col-container">
<el-dialog :visible.sync="customColumnDialogVisible" center title="自定义显示列"> <el-dialog :visible.sync="customColumnDialogVisible"
center
title="自定义显示列">
<el-row> <el-row>
<el-col :span="3"> <el-col :span="3">
<span>显示列</span> <span>显示列</span>
@ -126,7 +123,9 @@
<el-divider /> <el-divider />
<el-checkbox-group v-model="checkedFixedCustomColumns"> <el-checkbox-group v-model="checkedFixedCustomColumns">
<el-row> <el-row>
<el-col v-for="(val, key) in fixedDefaultLabelFormColumn" :key="key" :span="4"> <el-col v-for="(val, key) in fixedDefaultLabelFormColumn"
:key="key"
:span="4">
<el-checkbox :label="key">{{ val }}</el-checkbox> <el-checkbox :label="key">{{ val }}</el-checkbox>
</el-col> </el-col>
</el-row> </el-row>
@ -134,7 +133,9 @@
<el-divider /> <el-divider />
<el-checkbox-group v-model="checkOtherCustomColumns"> <el-checkbox-group v-model="checkOtherCustomColumns">
<el-row> <el-row>
<el-col v-for="(val, key) in projectItemColumns" :key="key" :span="8"> <el-col v-for="(val, key) in projectItemColumns"
:key="key"
:span="8">
<el-checkbox :label="key">{{ val }}</el-checkbox> <el-checkbox :label="key">{{ val }}</el-checkbox>
</el-col> </el-col>
</el-row> </el-row>
@ -142,18 +143,24 @@
<el-divider /> <el-divider />
<el-checkbox-group v-model="checkedFixedTailCustomColumns"> <el-checkbox-group v-model="checkedFixedTailCustomColumns">
<el-row> <el-row>
<el-col v-for="(val, key) in fixedDefaultLabelFormTailColumn" :key="key" :span="4"> <el-col v-for="(val, key) in fixedDefaultLabelFormTailColumn"
:key="key"
:span="4">
<el-checkbox :label="key">{{ val }}</el-checkbox> <el-checkbox :label="key">{{ val }}</el-checkbox>
</el-col> </el-col>
</el-row> </el-row>
</el-checkbox-group> </el-checkbox-group>
<span slot="footer" class="dialog-footer"> <span slot="footer"
class="dialog-footer">
<el-button @click="customColumnDialogVisible = false"> </el-button> <el-button @click="customColumnDialogVisible = false"> </el-button>
<el-button type="primary" @click="saveStatisticsCheckedColumns"> </el-button> <el-button type="primary"
@click="saveStatisticsCheckedColumns"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
<data-filter ref="dataFilter" :fields="projectItemList" @filter="dataFilterHandle" /> <data-filter ref="dataFilter"
:fields="projectItemList"
@filter="dataFilterHandle" />
</div> </div>
</template> </template>
@ -289,10 +296,13 @@ export default {
this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/project/result/download/file`, { this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/project/result/download/file`, {
params: this.queryConditions params: this.queryConditions
}).then(res => { }).then(res => {
this.$process({ this.$process({
message: '附件导出中', message: '附件导出中',
key: res.data key: res.data
}) })
}) })
}, },
exportProjectResult () { exportProjectResult () {
@ -386,5 +396,4 @@ export default {
::v-deep .el-drawer__container ::-webkit-scrollbar { ::v-deep .el-drawer__container ::-webkit-scrollbar {
display: none; display: none;
} }
</style> </style>

28
src/views/form/write/index.vue

@ -47,6 +47,7 @@ import loadWXJs from '@/utils/loadWxSdk'
import defaultValue from '@/utils/defaultValue' import defaultValue from '@/utils/defaultValue'
import { getQueryString } from '@/utils' import { getQueryString } from '@/utils'
import constants from '@/utils/constants' import constants from '@/utils/constants'
import ELEMENT from 'element-ui'
const uaParser = require('ua-parser-js') const uaParser = require('ua-parser-js')
const ua = uaParser(navigator.userAgent) const ua = uaParser(navigator.userAgent)
@ -288,10 +289,18 @@ export default {
let projectKey = this.projectConfig.projectKey let projectKey = this.projectConfig.projectKey
this.$router.replace({ path: '/project/public/result', query: { projectKey } }) this.$router.replace({ path: '/project/public/result', query: { projectKey } })
}, },
submitForm (data) { async submitForm (data) {
const loading = ELEMENT.Loading.service({
fullscreen: true,
lock: true,
text: '提交中',
spinner: 'el-icon-loading',
background: 'rgba(255, 255, 255, 0.5)'
})
// //
let inActiveTime = document.getElementById('inActiveTime').innerText let inActiveTime = document.getElementById('inActiveTime').innerText
this.$api.post(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/project/result/create?access_key=${this.accessKey}`, { await this.$api.post(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/project/result/create?access_key=${this.accessKey}`, {
'completeTime': inActiveTime, 'completeTime': inActiveTime,
'projectKey': this.projectConfig.projectKey, 'projectKey': this.projectConfig.projectKey,
'submitOs': ua.os.name, 'submitOs': ua.os.name,
@ -309,24 +318,19 @@ export default {
//'accessKey':this.accessKey //'accessKey':this.accessKey
}).then((res) => { }).then((res) => {
if (res.code !== 0) {
this.$message(
{
message: res.msg,
type: 'warning'
}
)
} else {
this.writeStatus = 2 this.writeStatus = 2
if (this.userProjectSetting.submitJumpUrl) { if (this.userProjectSetting.submitJumpUrl) {
setTimeout(() => { setTimeout(() => {
window.location.replace(this.userProjectSetting.submitJumpUrl) window.location.replace(this.userProjectSetting.submitJumpUrl)
}, 1000) }, 1000)
} }
}
},
(msg) => {
// debugger
}) })
// debugger
loading.close()
} }
} }
} }

Loading…
Cancel
Save