Browse Source

Merge branch 'dev_ljj' of http://git.elinkit.com.cn:7070/r/tduck-front into dev_ljj

old
13176889840 4 years ago
parent
commit
36ad8388cd
  1. 1
      src/api/index.js
  2. 22
      src/components/generator/config.js
  3. 22
      src/views/form/index.vue
  4. 56
      src/views/form/preview/ProjectForm.vue
  5. 16
      src/views/form/write/index.vue

1
src/api/index.js

@ -27,6 +27,7 @@ const api = axios.create({
api.interceptors.request.use(
request => {
/**
* 全局拦截请求发送前提交的参数
* 以下代码为示例在登录状态下分别对 post get 请求加上 token 参数

22
src/components/generator/config.js

@ -170,16 +170,18 @@ export const selectComponents = [
changeTag: true,
document: 'https://element.eleme.cn/#/zh-CN/component/cascader'
},
options: [{
id: 1,
value: 1,
label: '选项1',
children: [{
id: 2,
value: 2,
label: '选项1-1'
}]
}],
options: [
// {
// id: 1,
// value: 1,
// label: '选项1',
// children: [{
// id: 2,
// value: 2,
// label: '选项1-1'
// }]
// }
],
placeholder: '请选择',
style: {width: '100%'},
props: {

22
src/views/form/index.vue

@ -18,13 +18,16 @@
<el-menu :collapse="isCollapse"
:default-active="defaultActiveMenu"
class="el-menu-vertical">
<el-menu-item v-for="menuItem in (publishStatus?menuItemList2:menuItemList)"
<el-menu-item class="el-menu-item-per"
v-for="menuItem in (publishStatus?menuItemList2:menuItemList)"
:key="menuItem.key"
:index="menuItem.route"
@click="menuSelectHandle(menuItem.route,menuItem.key)">
<i :class="menuItem.icon" />
<span slot="title">{{ menuItem.title }}</span>
<i :class="menuItem.icon"
style="margin-top:1px;align-items:center;" />
<span style="white-space:pre-wrap"
slot="title">{{ menuItem.title }}</span>
</el-menu-item>
</el-menu>
@ -36,6 +39,7 @@
@click="collapseHandle" />
</div>
<div class="right-content-container">
<router-view />
</div>
</div>
@ -105,7 +109,7 @@ export default {
},
{
key: 'save',
title: '存',
title: '存为模板',
icon: 'el-icon-folder-add'
},
{
@ -170,7 +174,8 @@ export default {
} else if (key === 'save') {
this.saveProjectAsTemplateHandle()
} else if (key === 'back') {
this.$router.back(-1)
// this.$router.back(-1)
this.$router.push('/home')
} else { this.$router.replace({ path: route, query: { key: this.projectKey } }) }
},
@ -253,11 +258,18 @@ export default {
flex-direction: column;
justify-content: space-between;
border-right: solid 1px #e6e6e6;
.el-menu-vertical {
margin-top: 20px;
}
.el-menu-vertical:not(.el-menu--collapse) {
width: 100px;
min-height: 400px;
}
.el-menu-item-per {
display: flex;
line-height: 20px;
}
.el-icon-d-arrow-left,
.el-icon-d-arrow-right {

56
src/views/form/preview/ProjectForm.vue

@ -1,29 +1,24 @@
<template>
<div class="project-form"
:style="{backgroundColor:projectTheme.backgroundColor,
background:projectTheme.backgroundImg?'url('+projectTheme.backgroundImg+') no-repeat center':''}"
>
background:projectTheme.backgroundImg?'url('+projectTheme.backgroundImg+') no-repeat center':''}">
<div class="">
<div :style="{textAlign:projectTheme.logoPosition}">
<img :src="projectTheme.logoImg"
class="logo-img"
>
class="logo-img">
</div>
<el-image v-if="projectTheme.headImgUrl"
:src="projectTheme.headImgUrl"
style="width: 100%;"
fit="scale-down"
/>
fit="scale-down" />
<h4 v-if="projectTheme.showTitle"
class="form-name-text"
style="text-align: center;"
>
style="text-align: center;">
{{ formConf.title }}
</h4>
<div v-show="projectTheme.showDescribe"
class="form-name-text describe-html"
v-html="formConf.description"
/>
v-html="formConf.description" />
<el-divider />
<parser v-if="startParser"
:key="parserKey"
@ -32,8 +27,7 @@
:form-conf="formConf"
@next="nextPage"
@prev="prevPage"
@submit="submitForm"
/>
@submit="submitForm" />
</div>
</div>
</template>
@ -44,13 +38,13 @@ import { dbDataConvertForItemJson } from '@/utils/convert'
import { getExpression } from '@/utils/expression'
import _ from 'lodash'
window.onload = function() {
document.addEventListener('touchstart', function(event) {
window.onload = function () {
document.addEventListener('touchstart', function (event) {
if (event.touches.length > 1) {
event.preventDefault()
}
})
document.addEventListener('gesturestart', function(event) {
document.addEventListener('gesturestart', function (event) {
event.preventDefault()
})
}
@ -68,6 +62,10 @@ export default {
projectKind: 1
}
},
accessKey: {
type: String,
default: ''
}
},
metaInfo: {
@ -78,7 +76,7 @@ export default {
}
]
},
data() {
data () {
return {
logicShowTriggerRule: {},
startParser: false,
@ -120,10 +118,10 @@ export default {
},
computed: {},
watch: {},
beforeCreate() {
beforeCreate () {
document.querySelector('body').className = 'project-body'
},
created() {
created () {
if (this.projectConfig && this.projectConfig.projectKey) {
this.formConf.projectKey = this.projectConfig.projectKey
if (this.projectConfig.projectKind) {
@ -139,8 +137,8 @@ export default {
}
this.formConf.size = window.innerWidth < 480 ? 'medium' : 'small'
},
async mounted() {
let url = `${process.env.VUE_APP_API_ROOT_TDUCK}/user/project/details/${this.formConf.projectKey}`
async mounted () {
let url = `${process.env.VUE_APP_API_ROOT_TDUCK}/user/project/details/${this.formConf.projectKey}?access_key=${this.accessKey}`
if (this.formConf.projectKind == 2) {
url = `${process.env.VUE_APP_API_ROOT_TDUCK}/project/template/details/${this.formConf.projectKey}`
}
@ -193,7 +191,7 @@ export default {
},
methods: {
//
pageShowHandle(allFields) {
pageShowHandle (allFields) {
//
let index = allFields.findIndex(item => {
return item.typeId === 'PAGINATION'
@ -236,9 +234,9 @@ export default {
this.perPageFields = perPageFields
},
/**
* 处理逻辑显示数据
*/
logicShowTriggerHandle(logicItem) {
* 处理逻辑显示数据
*/
logicShowTriggerHandle (logicItem) {
if (!logicItem) {
return
}
@ -260,7 +258,7 @@ export default {
})
},
// axios
queryLogicItemList() {
queryLogicItemList () {
return new Promise((resolve, reject) => {
this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/project/logic/list`, { params: { projectKey: this.formConf.projectKey } })
.then(res => {
@ -270,13 +268,13 @@ export default {
})
})
},
prevPage(params) {
prevPage (params) {
this.switchPage(params.page - 1, params)
},
nextPage(params) {
nextPage (params) {
this.switchPage(params.page + 1, params)
},
switchPage(page, params) {
switchPage (page, params) {
let { labelFormModel, formModel } = params
this.formModel = formModel
this.labelFormModel = labelFormModel
@ -284,7 +282,7 @@ export default {
this.formConf.fields = _.get(this.perPageFields, page)
this.parserKey = +new Date()
},
submitForm(data) {
submitForm (data) {
this.$emit('submit', data)
}
}

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

@ -15,6 +15,7 @@
<div v-if="writeStatus==1">
<project-form v-if="projectConfig.projectKey"
:project-config="projectConfig"
:access-key="accessKey"
@submit="submitForm" />
</div>
<div v-if="writeStatus==2"
@ -83,6 +84,7 @@ export default {
orgName: '',//---
orgType: '',//(:agency;:dept;:grid)
realName: '',//
accessKey: ''
}
},
metaInfo: {
@ -94,11 +96,20 @@ export default {
]
},
async created () {
this.clientType = this.$route.query.clientType
this.orgId = this.$route.query.orgId
this.orgName = this.$route.query.orgName
this.orgType = this.$route.query.orgType
this.realName = this.$route.query.realName
this.accessKey = this.$route.query.accessKey
console.log('微信传入token')
const token = this.$route.query.token
if (token) {
this.$store.dispatch('user/setTokens', token)
}
let key = this.$route.query.key || this.$route.params.key
this.projectConfig.projectKey = key
@ -106,7 +117,9 @@ export default {
if (wxCode) {
this.wxAuthorizationCode = wxCode
await this.getWxAuthorizationUserInfo()
}
this.getWxAuthorizationUrl()
this.queryProjectSettingStatus()
this.queryProjectSetting()
@ -278,7 +291,7 @@ export default {
submitForm (data) {
//
let inActiveTime = document.getElementById('inActiveTime').innerText
this.$api.post(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/project/result/create`, {
this.$api.post(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/project/result/create?access_key=${this.accessKey}`, {
'completeTime': inActiveTime,
'projectKey': this.projectConfig.projectKey,
'submitOs': ua.os.name,
@ -293,6 +306,7 @@ export default {
'orgName': this.orgName,//---
'orgType': this.orgType,//(:agency;:dept;:grid)
'realName': this.realName,//
//'accessKey':this.accessKey
}).then(() => {
this.writeStatus = 2
if (this.userProjectSetting.submitJumpUrl) {

Loading…
Cancel
Save