新增显示终端培训签到二维码,分步表单修改

This commit is contained in:
Yjhon 2022-03-09 14:11:51 +08:00
parent cd4d5eb9a6
commit 9a0bde409d
4 changed files with 112 additions and 92 deletions

View File

@ -1,78 +1,79 @@
{
"name": "vue-antd-pro",
"version": "3.0.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"test:unit": "vue-cli-service test:unit",
"lint": "vue-cli-service lint",
"build:preview": "vue-cli-service build --mode preview",
"lint:nofix": "vue-cli-service lint --no-fix"
},
"dependencies": {
"@ant-design-vue/pro-layout": "^0.3.4",
"@antv/data-set": "^0.10.2",
"@icon-park/vue": "^1.3.5",
"ant-design-vue": "^1.7.7",
"axios": "^0.19.0",
"core-js": "^3.1.2",
"dplayer": "^1.26.0",
"draftjs-to-html": "^0.9.1",
"echarts": "^5.2.2",
"enquire.js": "^2.1.6",
"file-saver": "^2.0.5",
"html-to-draftjs": "^1.5.0",
"js-export-excel": "^1.1.4",
"jszip": "^3.7.1",
"lodash.clonedeep": "^4.5.0",
"lodash.get": "^4.4.2",
"lodash.pick": "^4.4.0",
"md5": "^2.2.1",
"mockjs2": "1.0.8",
"moment": "^2.24.0",
"nprogress": "^0.2.0",
"react-draft-wysiwyg": "^1.14.7",
"store": "^2.0.12",
"viser-vue": "^2.4.6",
"vue": "^2.6.10",
"vue-clipboard2": "^0.2.1",
"vue-cropper": "0.4.9",
"vue-echarts": "^6.0.2",
"vue-i18n": "^8.17.4",
"vue-quill-editor": "^3.0.6",
"vue-router": "^3.1.2",
"vue-svg-component-runtime": "^1.0.1",
"vue-ueditor-wrap": "^2.5.6",
"vue-video-player": "^5.0.2",
"vuex": "^3.1.1",
"wangeditor": "^3.1.1"
},
"devDependencies": {
"@ant-design/colors": "^3.2.1",
"@vue/cli-plugin-babel": "^4.0.4",
"@vue/cli-plugin-eslint": "^4.0.4",
"@vue/cli-plugin-router": "^4.0.4",
"@vue/cli-plugin-unit-jest": "^4.0.4",
"@vue/cli-plugin-vuex": "^4.0.4",
"@vue/cli-service": "^4.0.4",
"@vue/composition-api": "^1.4.4",
"@vue/eslint-config-standard": "^4.0.0",
"@vue/test-utils": "^1.0.0-beta.29",
"babel-eslint": "^10.0.1",
"babel-plugin-import": "^1.12.2",
"babel-plugin-transform-remove-console": "^6.9.4",
"eslint": "^5.16.0",
"eslint-plugin-html": "^5.0.0",
"eslint-plugin-vue": "^5.2.3",
"git-revision-webpack-plugin": "^3.0.6",
"less": "^3.0.4",
"less-loader": "^5.0.0",
"opencollective": "^1.0.3",
"opencollective-postinstall": "^2.0.2",
"vue-svg-icon-loader": "^2.1.1",
"vue-template-compiler": "^2.6.10",
"webpack": "^4.44.2",
"webpack-theme-color-replacer": "^1.3.12"
}
"name": "vue-antd-pro",
"version": "3.0.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"test:unit": "vue-cli-service test:unit",
"lint": "vue-cli-service lint",
"build:preview": "vue-cli-service build --mode preview",
"lint:nofix": "vue-cli-service lint --no-fix"
},
"dependencies": {
"@ant-design-vue/pro-layout": "^0.3.4",
"@antv/data-set": "^0.10.2",
"@icon-park/vue": "^1.3.5",
"ant-design-vue": "^1.7.7",
"axios": "^0.19.0",
"core-js": "^3.1.2",
"dplayer": "^1.26.0",
"draftjs-to-html": "^0.9.1",
"echarts": "^5.2.2",
"enquire.js": "^2.1.6",
"file-saver": "^2.0.5",
"html-to-draftjs": "^1.5.0",
"js-export-excel": "^1.1.4",
"jszip": "^3.7.1",
"lodash.clonedeep": "^4.5.0",
"lodash.get": "^4.4.2",
"lodash.pick": "^4.4.0",
"md5": "^2.2.1",
"mockjs2": "1.0.8",
"moment": "^2.24.0",
"nprogress": "^0.2.0",
"react-draft-wysiwyg": "^1.14.7",
"store": "^2.0.12",
"viser-vue": "^2.4.6",
"vue": "^2.6.10",
"vue-clipboard2": "^0.2.1",
"vue-cropper": "0.4.9",
"vue-echarts": "^6.0.2",
"vue-i18n": "^8.17.4",
"vue-print-nb": "^1.7.5",
"vue-quill-editor": "^3.0.6",
"vue-router": "^3.1.2",
"vue-svg-component-runtime": "^1.0.1",
"vue-ueditor-wrap": "^2.5.6",
"vue-video-player": "^5.0.2",
"vuex": "^3.1.1",
"wangeditor": "^3.1.1"
},
"devDependencies": {
"@ant-design/colors": "^3.2.1",
"@vue/cli-plugin-babel": "^4.0.4",
"@vue/cli-plugin-eslint": "^4.0.4",
"@vue/cli-plugin-router": "^4.0.4",
"@vue/cli-plugin-unit-jest": "^4.0.4",
"@vue/cli-plugin-vuex": "^4.0.4",
"@vue/cli-service": "^4.0.4",
"@vue/composition-api": "^1.4.4",
"@vue/eslint-config-standard": "^4.0.0",
"@vue/test-utils": "^1.0.0-beta.29",
"babel-eslint": "^10.0.1",
"babel-plugin-import": "^1.12.2",
"babel-plugin-transform-remove-console": "^6.9.4",
"eslint": "^5.16.0",
"eslint-plugin-html": "^5.0.0",
"eslint-plugin-vue": "^5.2.3",
"git-revision-webpack-plugin": "^3.0.6",
"less": "^3.0.4",
"less-loader": "^5.0.0",
"opencollective": "^1.0.3",
"opencollective-postinstall": "^2.0.2",
"vue-svg-icon-loader": "^2.1.1",
"vue-template-compiler": "^2.6.10",
"webpack": "^4.44.2",
"webpack-theme-color-replacer": "^1.3.12"
}
}

View File

@ -1,6 +1,8 @@
// with polyfills
import 'core-js/stable'
import 'regenerator-runtime/runtime'
import Print from 'vue-print-nb'
import Vue from 'vue'
import App from './App.vue'
@ -41,6 +43,7 @@ Vue.prototype.$emptyImg = Empty.PRESENTED_IMAGE_SIMPLE
Vue.config.productionTip = false
Vue.use(Print); //注册
Vue.use(VueAxios)
Vue.component('pro-layout', ProLayout)
Vue.component('page-header-wrapper', PageHeaderWrapper)
@ -57,14 +60,14 @@ window.umi_plugin_ant_themeVar = themePluginConfig.theme
// ])
new Vue({
router,
store,
i18n,
created: bootstrap,
render: h => h(App)
router,
store,
i18n,
created: bootstrap,
render: h => h(App)
}).$mount('#app')
Vue.filter('moment', (dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') => {
if (!dataStr) return ''
return moment(dataStr).format(pattern)
if (!dataStr) return ''
return moment(dataStr).format(pattern)
})

View File

@ -68,7 +68,7 @@ export default {
form: {
t: this.$route.query.t,
projectType: 0,
trainWay: '1',
trainWay: '4',
totalScore: 0
},
result: true,

View File

@ -5,9 +5,7 @@
</template>
<a-descriptions title="" layout="horizontal" bordered size="small" :column="1">
<a-descriptions-item label="培训名称">{{ detailData.trainName }}</a-descriptions-item>
<a-descriptions-item label="培训时间"
>{{ detailData.trainSdate }} {{ detailData.trainEdate }}</a-descriptions-item
>
<a-descriptions-item label="培训时间">{{ detailData.trainSdate }} {{ detailData.trainEdate }}</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.personNum }}</a-descriptions-item>
@ -17,9 +15,20 @@
</a-descriptions>
<br />
<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 type="primary" @click="showModal()">签到二维码</a-button>
</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>
</template>
@ -34,6 +43,7 @@ export default {
return {
queryParam: this.$route.query.terminalTrainId,
detailData: {},
visible: false
}
},
created: function () {
@ -43,6 +53,12 @@ export default {
})
},
methods: {
showModal() {
this.visible = true;
},
handleCancel(e) {
this.visible = false;
},
close() {
this.$router.push({
path: '/project/project/terminalTrain/list',
@ -55,7 +71,7 @@ export default {
},
})
},
editInfo(){ //
editInfo() { //
this.$router.push({
path: '/project/terminalTrain/form',
query: {
@ -64,7 +80,7 @@ export default {
})
},
signInfo(){ //
signInfo() { //
this.$router.push({
path: '/project/terminalTrain/signList',
query: {