新增显示终端培训签到二维码,分步表单修改
This commit is contained in:
parent
cd4d5eb9a6
commit
9a0bde409d
155
package.json
155
package.json
|
@ -1,78 +1,79 @@
|
||||||
{
|
{
|
||||||
"name": "vue-antd-pro",
|
"name": "vue-antd-pro",
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"serve": "vue-cli-service serve",
|
"serve": "vue-cli-service serve",
|
||||||
"build": "vue-cli-service build",
|
"build": "vue-cli-service build",
|
||||||
"test:unit": "vue-cli-service test:unit",
|
"test:unit": "vue-cli-service test:unit",
|
||||||
"lint": "vue-cli-service lint",
|
"lint": "vue-cli-service lint",
|
||||||
"build:preview": "vue-cli-service build --mode preview",
|
"build:preview": "vue-cli-service build --mode preview",
|
||||||
"lint:nofix": "vue-cli-service lint --no-fix"
|
"lint:nofix": "vue-cli-service lint --no-fix"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ant-design-vue/pro-layout": "^0.3.4",
|
"@ant-design-vue/pro-layout": "^0.3.4",
|
||||||
"@antv/data-set": "^0.10.2",
|
"@antv/data-set": "^0.10.2",
|
||||||
"@icon-park/vue": "^1.3.5",
|
"@icon-park/vue": "^1.3.5",
|
||||||
"ant-design-vue": "^1.7.7",
|
"ant-design-vue": "^1.7.7",
|
||||||
"axios": "^0.19.0",
|
"axios": "^0.19.0",
|
||||||
"core-js": "^3.1.2",
|
"core-js": "^3.1.2",
|
||||||
"dplayer": "^1.26.0",
|
"dplayer": "^1.26.0",
|
||||||
"draftjs-to-html": "^0.9.1",
|
"draftjs-to-html": "^0.9.1",
|
||||||
"echarts": "^5.2.2",
|
"echarts": "^5.2.2",
|
||||||
"enquire.js": "^2.1.6",
|
"enquire.js": "^2.1.6",
|
||||||
"file-saver": "^2.0.5",
|
"file-saver": "^2.0.5",
|
||||||
"html-to-draftjs": "^1.5.0",
|
"html-to-draftjs": "^1.5.0",
|
||||||
"js-export-excel": "^1.1.4",
|
"js-export-excel": "^1.1.4",
|
||||||
"jszip": "^3.7.1",
|
"jszip": "^3.7.1",
|
||||||
"lodash.clonedeep": "^4.5.0",
|
"lodash.clonedeep": "^4.5.0",
|
||||||
"lodash.get": "^4.4.2",
|
"lodash.get": "^4.4.2",
|
||||||
"lodash.pick": "^4.4.0",
|
"lodash.pick": "^4.4.0",
|
||||||
"md5": "^2.2.1",
|
"md5": "^2.2.1",
|
||||||
"mockjs2": "1.0.8",
|
"mockjs2": "1.0.8",
|
||||||
"moment": "^2.24.0",
|
"moment": "^2.24.0",
|
||||||
"nprogress": "^0.2.0",
|
"nprogress": "^0.2.0",
|
||||||
"react-draft-wysiwyg": "^1.14.7",
|
"react-draft-wysiwyg": "^1.14.7",
|
||||||
"store": "^2.0.12",
|
"store": "^2.0.12",
|
||||||
"viser-vue": "^2.4.6",
|
"viser-vue": "^2.4.6",
|
||||||
"vue": "^2.6.10",
|
"vue": "^2.6.10",
|
||||||
"vue-clipboard2": "^0.2.1",
|
"vue-clipboard2": "^0.2.1",
|
||||||
"vue-cropper": "0.4.9",
|
"vue-cropper": "0.4.9",
|
||||||
"vue-echarts": "^6.0.2",
|
"vue-echarts": "^6.0.2",
|
||||||
"vue-i18n": "^8.17.4",
|
"vue-i18n": "^8.17.4",
|
||||||
"vue-quill-editor": "^3.0.6",
|
"vue-print-nb": "^1.7.5",
|
||||||
"vue-router": "^3.1.2",
|
"vue-quill-editor": "^3.0.6",
|
||||||
"vue-svg-component-runtime": "^1.0.1",
|
"vue-router": "^3.1.2",
|
||||||
"vue-ueditor-wrap": "^2.5.6",
|
"vue-svg-component-runtime": "^1.0.1",
|
||||||
"vue-video-player": "^5.0.2",
|
"vue-ueditor-wrap": "^2.5.6",
|
||||||
"vuex": "^3.1.1",
|
"vue-video-player": "^5.0.2",
|
||||||
"wangeditor": "^3.1.1"
|
"vuex": "^3.1.1",
|
||||||
},
|
"wangeditor": "^3.1.1"
|
||||||
"devDependencies": {
|
},
|
||||||
"@ant-design/colors": "^3.2.1",
|
"devDependencies": {
|
||||||
"@vue/cli-plugin-babel": "^4.0.4",
|
"@ant-design/colors": "^3.2.1",
|
||||||
"@vue/cli-plugin-eslint": "^4.0.4",
|
"@vue/cli-plugin-babel": "^4.0.4",
|
||||||
"@vue/cli-plugin-router": "^4.0.4",
|
"@vue/cli-plugin-eslint": "^4.0.4",
|
||||||
"@vue/cli-plugin-unit-jest": "^4.0.4",
|
"@vue/cli-plugin-router": "^4.0.4",
|
||||||
"@vue/cli-plugin-vuex": "^4.0.4",
|
"@vue/cli-plugin-unit-jest": "^4.0.4",
|
||||||
"@vue/cli-service": "^4.0.4",
|
"@vue/cli-plugin-vuex": "^4.0.4",
|
||||||
"@vue/composition-api": "^1.4.4",
|
"@vue/cli-service": "^4.0.4",
|
||||||
"@vue/eslint-config-standard": "^4.0.0",
|
"@vue/composition-api": "^1.4.4",
|
||||||
"@vue/test-utils": "^1.0.0-beta.29",
|
"@vue/eslint-config-standard": "^4.0.0",
|
||||||
"babel-eslint": "^10.0.1",
|
"@vue/test-utils": "^1.0.0-beta.29",
|
||||||
"babel-plugin-import": "^1.12.2",
|
"babel-eslint": "^10.0.1",
|
||||||
"babel-plugin-transform-remove-console": "^6.9.4",
|
"babel-plugin-import": "^1.12.2",
|
||||||
"eslint": "^5.16.0",
|
"babel-plugin-transform-remove-console": "^6.9.4",
|
||||||
"eslint-plugin-html": "^5.0.0",
|
"eslint": "^5.16.0",
|
||||||
"eslint-plugin-vue": "^5.2.3",
|
"eslint-plugin-html": "^5.0.0",
|
||||||
"git-revision-webpack-plugin": "^3.0.6",
|
"eslint-plugin-vue": "^5.2.3",
|
||||||
"less": "^3.0.4",
|
"git-revision-webpack-plugin": "^3.0.6",
|
||||||
"less-loader": "^5.0.0",
|
"less": "^3.0.4",
|
||||||
"opencollective": "^1.0.3",
|
"less-loader": "^5.0.0",
|
||||||
"opencollective-postinstall": "^2.0.2",
|
"opencollective": "^1.0.3",
|
||||||
"vue-svg-icon-loader": "^2.1.1",
|
"opencollective-postinstall": "^2.0.2",
|
||||||
"vue-template-compiler": "^2.6.10",
|
"vue-svg-icon-loader": "^2.1.1",
|
||||||
"webpack": "^4.44.2",
|
"vue-template-compiler": "^2.6.10",
|
||||||
"webpack-theme-color-replacer": "^1.3.12"
|
"webpack": "^4.44.2",
|
||||||
}
|
"webpack-theme-color-replacer": "^1.3.12"
|
||||||
}
|
}
|
||||||
|
}
|
19
src/main.js
19
src/main.js
|
@ -1,6 +1,8 @@
|
||||||
// with polyfills
|
// with polyfills
|
||||||
import 'core-js/stable'
|
import 'core-js/stable'
|
||||||
import 'regenerator-runtime/runtime'
|
import 'regenerator-runtime/runtime'
|
||||||
|
import Print from 'vue-print-nb'
|
||||||
|
|
||||||
|
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import App from './App.vue'
|
import App from './App.vue'
|
||||||
|
@ -41,6 +43,7 @@ Vue.prototype.$emptyImg = Empty.PRESENTED_IMAGE_SIMPLE
|
||||||
|
|
||||||
Vue.config.productionTip = false
|
Vue.config.productionTip = false
|
||||||
|
|
||||||
|
Vue.use(Print); //注册
|
||||||
Vue.use(VueAxios)
|
Vue.use(VueAxios)
|
||||||
Vue.component('pro-layout', ProLayout)
|
Vue.component('pro-layout', ProLayout)
|
||||||
Vue.component('page-header-wrapper', PageHeaderWrapper)
|
Vue.component('page-header-wrapper', PageHeaderWrapper)
|
||||||
|
@ -57,14 +60,14 @@ window.umi_plugin_ant_themeVar = themePluginConfig.theme
|
||||||
// ])
|
// ])
|
||||||
|
|
||||||
new Vue({
|
new Vue({
|
||||||
router,
|
router,
|
||||||
store,
|
store,
|
||||||
i18n,
|
i18n,
|
||||||
created: bootstrap,
|
created: bootstrap,
|
||||||
render: h => h(App)
|
render: h => h(App)
|
||||||
}).$mount('#app')
|
}).$mount('#app')
|
||||||
|
|
||||||
Vue.filter('moment', (dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') => {
|
Vue.filter('moment', (dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') => {
|
||||||
if (!dataStr) return ''
|
if (!dataStr) return ''
|
||||||
return moment(dataStr).format(pattern)
|
return moment(dataStr).format(pattern)
|
||||||
})
|
})
|
|
@ -68,7 +68,7 @@ export default {
|
||||||
form: {
|
form: {
|
||||||
t: this.$route.query.t,
|
t: this.$route.query.t,
|
||||||
projectType: 0,
|
projectType: 0,
|
||||||
trainWay: '1',
|
trainWay: '4',
|
||||||
totalScore: 0
|
totalScore: 0
|
||||||
},
|
},
|
||||||
result: true,
|
result: true,
|
||||||
|
|
|
@ -5,9 +5,7 @@
|
||||||
</template>
|
</template>
|
||||||
<a-descriptions title="" layout="horizontal" bordered size="small" :column="1">
|
<a-descriptions title="" layout="horizontal" bordered size="small" :column="1">
|
||||||
<a-descriptions-item label="培训名称">{{ detailData.trainName }}</a-descriptions-item>
|
<a-descriptions-item label="培训名称">{{ detailData.trainName }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="培训时间"
|
<a-descriptions-item label="培训时间">{{ detailData.trainSdate }} 至 {{ detailData.trainEdate }}</a-descriptions-item>
|
||||||
>{{ detailData.trainSdate }} 至 {{ detailData.trainEdate }}</a-descriptions-item
|
|
||||||
>
|
|
||||||
<a-descriptions-item label="培训地点">{{ detailData.trainAddress }}</a-descriptions-item>
|
<a-descriptions-item label="培训地点">{{ detailData.trainAddress }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="主持人">{{ detailData.host }}</a-descriptions-item>
|
<a-descriptions-item label="主持人">{{ detailData.host }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="会议人数">{{ detailData.personNum }}</a-descriptions-item>
|
<a-descriptions-item label="会议人数">{{ detailData.personNum }}</a-descriptions-item>
|
||||||
|
@ -17,9 +15,20 @@
|
||||||
</a-descriptions>
|
</a-descriptions>
|
||||||
<br />
|
<br />
|
||||||
<div style="width: 100%; height: 32px; margin-bottom: 8px">
|
<div style="width: 100%; height: 32px; margin-bottom: 8px">
|
||||||
<a-button v-if="hasPerm('terminal:train:edit') && detailData.status == 1" type="primary" @click="editInfo()">修 改 信 息</a-button>
|
<a-button v-if="hasPerm('terminal:train:edit') && detailData.status == 1" type="primary" @click="editInfo()">修 改 信 息</a-button>
|
||||||
<a-button v-if="hasPerm('terminal:train:list')" type="primary" @click="signInfo()">会议签到信息</a-button>
|
<a-button v-if="hasPerm('terminal:train:list')" type="primary" @click="signInfo()">会议签到信息</a-button>
|
||||||
|
<a-button type="primary" @click="showModal()">签到二维码</a-button>
|
||||||
</div>
|
</div>
|
||||||
|
<a-modal title="签到二维码" :visible="visible" @ok="handleCancel" @cancel="handleCancel">
|
||||||
|
<div style="text-align:center;">
|
||||||
|
<div id="printArea" style="text-align:center;">
|
||||||
|
<h2>集中培训:{{ detailData.trainName }}</h2>
|
||||||
|
<h2>签到二维码</h2>
|
||||||
|
<img :src="detailData.signCodeQrCode">
|
||||||
|
</div>
|
||||||
|
<a-button type="primary" v-print="'#printArea'">打 印</a-button>
|
||||||
|
</div>
|
||||||
|
</a-modal>
|
||||||
</a-card>
|
</a-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -34,6 +43,7 @@ export default {
|
||||||
return {
|
return {
|
||||||
queryParam: this.$route.query.terminalTrainId,
|
queryParam: this.$route.query.terminalTrainId,
|
||||||
detailData: {},
|
detailData: {},
|
||||||
|
visible: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created: function () {
|
created: function () {
|
||||||
|
@ -43,6 +53,12 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
showModal() {
|
||||||
|
this.visible = true;
|
||||||
|
},
|
||||||
|
handleCancel(e) {
|
||||||
|
this.visible = false;
|
||||||
|
},
|
||||||
close() {
|
close() {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/project/project/terminalTrain/list',
|
path: '/project/project/terminalTrain/list',
|
||||||
|
@ -55,7 +71,7 @@ export default {
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
editInfo(){ //修改信息按钮
|
editInfo() { //修改信息按钮
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/project/terminalTrain/form',
|
path: '/project/terminalTrain/form',
|
||||||
query: {
|
query: {
|
||||||
|
@ -64,7 +80,7 @@ export default {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
signInfo(){ //跳转签到信息页面
|
signInfo() { //跳转签到信息页面
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/project/terminalTrain/signList',
|
path: '/project/terminalTrain/signList',
|
||||||
query: {
|
query: {
|
||||||
|
|
Loading…
Reference in New Issue