update from server
This commit is contained in:
+3
-1
@@ -74,15 +74,17 @@ public class TrainEduStatisticsVideoController {
|
|||||||
u.loginname,
|
u.loginname,
|
||||||
u.unitname,
|
u.unitname,
|
||||||
u.unionname,
|
u.unionname,
|
||||||
|
tev.qualifiedNum,
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
SUM(IF( cnt > 2, 2, cnt )) AS count
|
SUM(IF( cnt > tev.everyDayMaxWatchNum, tev.everyDayMaxWatchNum, cnt )) AS count
|
||||||
FROM
|
FROM
|
||||||
( SELECT watchTime, COUNT( 1 ) AS cnt FROM train_edu_video_watch_record where userId = tevwr.userId and albumId = tevwr.albumId GROUP BY watchTime ) AS subquery
|
( SELECT watchTime, COUNT( 1 ) AS cnt FROM train_edu_video_watch_record where userId = tevwr.userId and albumId = tevwr.albumId GROUP BY watchTime ) AS subquery
|
||||||
) as watchCount
|
) as watchCount
|
||||||
|
|
||||||
FROM
|
FROM
|
||||||
`train_edu_video_watch_record` tevwr
|
`train_edu_video_watch_record` tevwr
|
||||||
|
LEFT JOIN train_edu_video tev ON tev.id = tevwr.videoId
|
||||||
LEFT JOIN train_edu_album tea on tea.id = tevwr.albumId
|
LEFT JOIN train_edu_album tea on tea.id = tevwr.albumId
|
||||||
LEFT JOIN `user` u ON u.id = tevwr.userId
|
LEFT JOIN `user` u ON u.id = tevwr.userId
|
||||||
$condition
|
$condition
|
||||||
|
|||||||
@@ -65,4 +65,9 @@ public class TrainEduVideo extends BaseModel {
|
|||||||
@ColDefine(type = ColType.INT)
|
@ColDefine(type = ColType.INT)
|
||||||
private Integer everyDayMaxWatchNum;
|
private Integer everyDayMaxWatchNum;
|
||||||
|
|
||||||
|
@Column
|
||||||
|
@Comment("合格/达标次数")
|
||||||
|
@ColDefine(type = ColType.INT)
|
||||||
|
private Integer qualifiedNum;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,23 @@ const removeHTMLTag = (str) => {
|
|||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function groupBy(array, key) {
|
||||||
|
return array.reduce((result, currentItem) => {
|
||||||
|
// 使用 key 函数获取分组的键
|
||||||
|
const groupKey = key(currentItem);
|
||||||
|
// 检查结果对象中是否已经有了这个键
|
||||||
|
const existingGroup = result.find(item => item.key === groupKey);
|
||||||
|
if (existingGroup) {
|
||||||
|
// 如果已存在,则将当前项添加到该组数组中
|
||||||
|
existingGroup.items.push(currentItem);
|
||||||
|
} else {
|
||||||
|
// 如果不存在,则创建新组并添加当前项
|
||||||
|
result.push({ key: groupKey, items: [currentItem] });
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}, []);
|
||||||
|
}
|
||||||
|
|
||||||
const CREATE_PREVIEW_URL = (val) => {
|
const CREATE_PREVIEW_URL = (val) => {
|
||||||
return FILE_STREAM_PREVIEW_ADDRESS + "?id=" + val
|
return FILE_STREAM_PREVIEW_ADDRESS + "?id=" + val
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -9,15 +9,15 @@
|
|||||||
/>
|
/>
|
||||||
<van-number-keyboard safe-area-inset-bottom/>
|
<van-number-keyboard safe-area-inset-bottom/>
|
||||||
<title></title>
|
<title></title>
|
||||||
<link rel="stylesheet" href="https://cdn.staticfile.org/vant/2.12.5/index.min.css"/>
|
<link rel="stylesheet" href="${base!}/assets/platform/plugins/vant/index.min.css"/>
|
||||||
|
|
||||||
<link rel="stylesheet" href="${base!}/assets/mobile/css/theme.css">
|
<link rel="stylesheet" href="${base!}/assets/mobile/css/theme.css">
|
||||||
<link rel="stylesheet" href="${base!}/assets/mobile/css/main.css">
|
<link rel="stylesheet" href="${base!}/assets/mobile/css/main.css">
|
||||||
|
|
||||||
<script src="${base!}/assets/platform/plugins/vue/vue.min.js"></script>
|
<script src="${base!}/assets/platform/plugins/vue/vue.min.js"></script>
|
||||||
<script src="https://cdn.staticfile.org/vant/2.12.5/vant.min.js"></script>
|
<script src="${base!}/assets/platform/plugins/vant/vant.min.js"></script>
|
||||||
<script src="${base!}/assets/platform/plugins/vue-loader/httpVueLoader.js"></script>
|
<script src="${base!}/assets/platform/plugins/vue-loader/httpVueLoader.js"></script>
|
||||||
<script src="${base!}/assets/mobile/js/basic.js"></script>
|
<script src="${base!}/assets/mobile/js/basic.js?v=0.0.1"></script>
|
||||||
|
|
||||||
|
|
||||||
<script src="${base!}/assets/platform/plugins/jquery/jquery-1.11.1.min.js"></script>
|
<script src="${base!}/assets/platform/plugins/jquery/jquery-1.11.1.min.js"></script>
|
||||||
@@ -48,6 +48,13 @@
|
|||||||
<script type="text/javascript"
|
<script type="text/javascript"
|
||||||
src="https://webapi.amap.com/maps?v=2.0&key=6ab3452804ba35050880b5e047436853&plugin=AMap.PolyEditor,AMap.Geolocation"></script>
|
src="https://webapi.amap.com/maps?v=2.0&key=6ab3452804ba35050880b5e047436853&plugin=AMap.PolyEditor,AMap.Geolocation"></script>
|
||||||
|
|
||||||
|
<script src="https://cdn-go.cn/cdn/vod-js-sdk-v6/latest/vod-js-sdk-v6.js"></script>
|
||||||
|
<link href="https://web.sdk.qcloud.com/player/tcplayer/release/v4.5.2/tcplayer.min.css" rel="stylesheet"/>
|
||||||
|
<!--如果需要在 Chrome 和 Firefox 等现代浏览器中通过 H5 播放 HLS 格式的视频,需要在 tcplayer.vx.x.x.min.js 之前引入 hls.min.x.xx.xm.js。-->
|
||||||
|
<script src="https://web.sdk.qcloud.com/player/tcplayer/release/v4.5.2/libs/hls.min.0.13.2m.js"></script>
|
||||||
|
<!--播放器脚本文件-->
|
||||||
|
<script src="https://web.sdk.qcloud.com/player/tcplayer/release/v4.5.2/tcplayer.v4.3.0.min.js"></script>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
@@ -19,12 +19,12 @@ layout("/mobile/platform.html"){
|
|||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<script src="https://cdn-go.cn/cdn/vod-js-sdk-v6/latest/vod-js-sdk-v6.js"></script>
|
|
||||||
<link href="https://web.sdk.qcloud.com/player/tcplayer/release/v4.3.0/tcplayer.min.css" rel="stylesheet"/>
|
<!--<script src="/assets/platform/plugins/vod/vod-js-sdk-v6.js"></script>-->
|
||||||
<!--如果需要在 Chrome 和 Firefox 等现代浏览器中通过 H5 播放 HLS 格式的视频,需要在 tcplayer.vx.x.x.min.js 之前引入 hls.min.x.xx.xm.js。-->
|
<!--<link href="/assets/platform/plugins/vod/tcplayer.min.css"/>-->
|
||||||
<script src="https://web.sdk.qcloud.com/player/tcplayer/release/v4.3.0/libs/hls.min.0.13.2m.js"></script>
|
<!--<script src="/assets/platform/plugins/vod/hls.min.0.13.2m.js"></script>-->
|
||||||
<!--播放器脚本文件-->
|
<!--<script src="/assets/platform/plugins/vod/tcplayer.v4.3.0.min.js"></script>-->
|
||||||
<script src="https://web.sdk.qcloud.com/player/tcplayer/release/v4.3.0/tcplayer.v4.3.0.min.js"></script>
|
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
#app {
|
#app {
|
||||||
@@ -33,6 +33,7 @@ layout("/mobile/platform.html"){
|
|||||||
|
|
||||||
.video-container {
|
.video-container {
|
||||||
height: 300px;
|
height: 300px;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
#player-container-id {
|
#player-container-id {
|
||||||
@@ -92,19 +93,66 @@ layout("/mobile/platform.html"){
|
|||||||
></van-nav-bar>
|
></van-nav-bar>
|
||||||
|
|
||||||
<div class="video-container">
|
<div class="video-container">
|
||||||
<video v-if="isPlay" id="player-container-id" preload="auto" playsinline
|
<video id="player-container-id" preload="auto"
|
||||||
|
autoplay
|
||||||
|
playsinline
|
||||||
webkit-playsinline>
|
webkit-playsinline>
|
||||||
</video>
|
</video>
|
||||||
|
|
||||||
<van-image
|
<!-- <div v-if="!isPlay" style=" height: 100%;-->
|
||||||
v-else
|
<!-- background: #000;-->
|
||||||
style="width: 100%;height: 100%"
|
<!-- position: absolute;-->
|
||||||
:src="FILE_DOMAIN+'/fileStreamPreview?id='+albumInfo.cover"
|
<!-- top: 0;-->
|
||||||
></van-image>
|
<!-- left: 0;-->
|
||||||
|
<!-- right: 0;-->
|
||||||
|
<!-- bottom: 0;">-->
|
||||||
|
<!-- <van-image-->
|
||||||
|
<!-- style="width: 90%;-->
|
||||||
|
<!-- height: 100%;-->
|
||||||
|
<!-- z-index: 999;"-->
|
||||||
|
<!-- fit="contain"-->
|
||||||
|
<!-- :src="FILE_DOMAIN+'/fileStreamPreview?id='+albumInfo.cover"-->
|
||||||
|
<!-- ></van-image>-->
|
||||||
|
<!-- <div class="tcp-skin">-->
|
||||||
|
<!-- <div class="vjs-big-play-button">-->
|
||||||
|
<!-- <div class="vjs-button-icon">-->
|
||||||
|
<!-- <svg height="100%" width="100%" viewBox="0 0 484 348">-->
|
||||||
|
<!-- <path class="draw-fill" transform="translate(4 4)"-->
|
||||||
|
<!-- d="M383,124C350-42,122.3-40.5,90.6,123.5c-110.4,18.5-131,185,.6,216.5H381.6C519.7,310.7,494.1,137.8,383,124Z"></path>-->
|
||||||
|
<!-- <path transform="translate(4 4)"-->
|
||||||
|
<!-- d="M200.4,110.2c-9.4-5.8-19.6,2.7-19.4,11.7V256.2c0,8,10.4,16.7,19.4,10.8,2.2-1.4,111.8-65.9,114-67.3,7.4-4,10.1-15.8,0-22.2Z"-->
|
||||||
|
<!-- style="fill:#fff ;"></path>-->
|
||||||
|
<!-- </svg>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<van-tabs v-model="tabIndex" sticky>
|
<van-tabs v-model="tabIndex" sticky>
|
||||||
|
<!-- <van-tab title="目录">-->
|
||||||
|
<!-- <div style="height: 5px;background-color: #f6f7f9"></div>-->
|
||||||
|
|
||||||
|
<!-- <van-cell-group class="video-list">-->
|
||||||
|
<!-- <van-cell v-for="(o,i) in videoList" :key="o.id" @click="playVideo(o)">-->
|
||||||
|
<!-- <template #title>-->
|
||||||
|
<!-- <van-tag plain type="primary" style="margin-right: 10px">视频</van-tag>-->
|
||||||
|
<!-- <span style="margin-right: 10px">-->
|
||||||
|
<!-- {{i+1}}.-->
|
||||||
|
<!-- </span>-->
|
||||||
|
<!-- <span>-->
|
||||||
|
<!-- {{o.title}}-->
|
||||||
|
<!-- </span>-->
|
||||||
|
<!-- </template>-->
|
||||||
|
<!-- <template #label>-->
|
||||||
|
<!-- <!– {{getWatchStatus(o)}}–>-->
|
||||||
|
<!-- </template>-->
|
||||||
|
<!-- <template>-->
|
||||||
|
|
||||||
|
<!-- </template>-->
|
||||||
|
<!-- </van-cell>-->
|
||||||
|
<!-- </van-cell-group>-->
|
||||||
|
<!-- </van-tab>-->
|
||||||
<van-tab title="介绍">
|
<van-tab title="介绍">
|
||||||
<div style="height: 5px;background-color: #f6f7f9"></div>
|
<div style="height: 5px;background-color: #f6f7f9"></div>
|
||||||
|
|
||||||
@@ -124,33 +172,10 @@ layout("/mobile/platform.html"){
|
|||||||
</van-cell>
|
</van-cell>
|
||||||
|
|
||||||
</van-tab>
|
</van-tab>
|
||||||
<van-tab title="目录">
|
|
||||||
<div style="height: 5px;background-color: #f6f7f9"></div>
|
|
||||||
|
|
||||||
<van-cell-group class="video-list">
|
|
||||||
<van-cell v-for="(o,i) in videoList" :key="o.id" @click="playVideo(o)">
|
|
||||||
<template #title>
|
|
||||||
<van-tag plain type="primary" style="margin-right: 10px">视频</van-tag>
|
|
||||||
<span style="margin-right: 10px">
|
|
||||||
{{i+1}}.
|
|
||||||
</span>
|
|
||||||
<span>
|
|
||||||
{{o.title}}
|
|
||||||
</span>
|
|
||||||
</template>
|
|
||||||
<template #label>
|
|
||||||
<!-- {{getWatchStatus(o)}}-->
|
|
||||||
</template>
|
|
||||||
<template>
|
|
||||||
|
|
||||||
</template>
|
|
||||||
</van-cell>
|
|
||||||
</van-cell-group>
|
|
||||||
</van-tab>
|
|
||||||
<van-tab title="学习记录">
|
<van-tab title="学习记录">
|
||||||
<div style="height: 5px;background-color: #f6f7f9"></div>
|
<div style="height: 5px;background-color: #f6f7f9"></div>
|
||||||
<van-cell-group class="video-list">
|
<van-cell-group class="video-list">
|
||||||
<van-cell v-for="(o,i) in videoList" :key="o.id" @click="playVideo(o)">
|
<van-cell v-for="(o,i) in videoList" :key="o.id">
|
||||||
<template #title>
|
<template #title>
|
||||||
<van-tag plain type="primary" style="margin-right: 10px">视频</van-tag>
|
<van-tag plain type="primary" style="margin-right: 10px">视频</van-tag>
|
||||||
<span style="margin-right: 10px">
|
<span style="margin-right: 10px">
|
||||||
@@ -161,19 +186,21 @@ layout("/mobile/platform.html"){
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
<template #label>
|
<template #label>
|
||||||
<div v-if="o.everyDayMaxWatchNum && o.everyDayMaxWatchNum>0" style="padding: 10px 0;color: #0a84ff;white-space: normal">
|
<div v-if="o.everyDayMaxWatchNum && o.everyDayMaxWatchNum>0"
|
||||||
|
style="padding: 10px 0;color: #0a84ff;white-space: normal">
|
||||||
本视频在活动结束时每天最多只会统计
|
本视频在活动结束时每天最多只会统计
|
||||||
<span style="color: #0a84ff;font-weight: bold">{{o.everyDayMaxWatchNum}}</span>
|
<span style="color: #0a84ff;font-weight: bold">{{o.everyDayMaxWatchNum}}</span>
|
||||||
次完整观看记录,您可以无限制的观看。
|
次完整观看记录,您可以无限制的观看。
|
||||||
</div>
|
</div>
|
||||||
<div v-for="(v,k) in Object.groupBy(watchRecordList,v=>v.watchTime)" :key="k" class="myWatchRecord">
|
<div v-for="(v,index) in groupBy(watchRecordList,v=>v.watchTime)" :key="index"
|
||||||
|
class="myWatchRecord">
|
||||||
<div style="display: flex;justify-content: space-between">
|
<div style="display: flex;justify-content: space-between">
|
||||||
<div>
|
<div>
|
||||||
{{moment(k).format('YYYY年MM月DD日')}}
|
{{moment(v.key).format('YYYY年MM月DD日')}}
|
||||||
</div>
|
</div>
|
||||||
<div style="color: #000000;">
|
<div style="color: #000000;">
|
||||||
观看次数
|
观看次数
|
||||||
<span style="font-weight: bold">{{v.length}}</span>
|
<span style="font-weight: bold">{{v.items && v.items.filter(v=>v.finish).length}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -184,9 +211,9 @@ layout("/mobile/platform.html"){
|
|||||||
</van-tab>
|
</van-tab>
|
||||||
</van-tabs>
|
</van-tabs>
|
||||||
|
|
||||||
<div class="bottom-wrap" v-show="isPlay">
|
<!-- <div class="bottom-wrap" v-show="isPlay">-->
|
||||||
<van-button type="info" block @click="endLearn">上传学习记录</van-button>
|
<!-- <van-button type="info" block @click="endLearn">上传学习记录</van-button>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -213,6 +240,8 @@ layout("/mobile/platform.html"){
|
|||||||
|
|
||||||
player: null,
|
player: null,
|
||||||
|
|
||||||
|
vvv: []
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -221,8 +250,8 @@ layout("/mobile/platform.html"){
|
|||||||
methods: {
|
methods: {
|
||||||
async getVideoInfo() {
|
async getVideoInfo() {
|
||||||
const {data} = await $.get('/mobile/trainEducation/getVideoList', {albumId: this.albumId})
|
const {data} = await $.get('/mobile/trainEducation/getVideoList', {albumId: this.albumId})
|
||||||
|
this.vvv = data
|
||||||
this.videoList = data
|
this.videoList = data
|
||||||
|
|
||||||
},
|
},
|
||||||
async getAlbumInfo() {
|
async getAlbumInfo() {
|
||||||
const {data} = await $.get('/mobile/trainEducation/getAlbumInfo', {id: this.albumId})
|
const {data} = await $.get('/mobile/trainEducation/getAlbumInfo', {id: this.albumId})
|
||||||
@@ -364,7 +393,7 @@ layout("/mobile/platform.html"){
|
|||||||
if (resp.code === 0) {
|
if (resp.code === 0) {
|
||||||
this.$modal.msgSuccess('上传成功')
|
this.$modal.msgSuccess('上传成功')
|
||||||
} else {
|
} else {
|
||||||
this.$modal.msgError('上传成功')
|
this.$modal.msgError('上传失败')
|
||||||
}
|
}
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
@@ -373,14 +402,19 @@ layout("/mobile/platform.html"){
|
|||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
created() {
|
async created() {
|
||||||
// this.watchPage()
|
// this.watchPage()
|
||||||
const id = this.GetQueryString("id")
|
const id = GetQueryString("id")
|
||||||
if (id) {
|
if (id) {
|
||||||
this.albumId = id
|
this.albumId = id
|
||||||
this.getAlbumInfo()
|
await this.getAlbumInfo()
|
||||||
this.getVideoInfo()
|
await this.getVideoInfo()
|
||||||
this.getMyWatchRecord()
|
await this.getMyWatchRecord()
|
||||||
|
if (this.videoList && this.videoList.length > 0) {
|
||||||
|
this.playVideo(this.videoList[0])
|
||||||
|
} else {
|
||||||
|
this.$toast('暂无视频学习')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -46,8 +46,16 @@ layout("/layouts/platform.html"){
|
|||||||
:prop="column.prop"
|
:prop="column.prop"
|
||||||
:sortable="column.sortable"
|
:sortable="column.sortable"
|
||||||
>
|
>
|
||||||
<template v-if="column.prop==='sumDuration'" scope="{row}">
|
<!-- <template v-if="column.prop==='sumDuration'" scope="{row}">-->
|
||||||
{{(row.sumDuration / 60 / 60).toFixed(2) + 'h'}}
|
<!-- {{(row.sumDuration / 60 / 60).toFixed(2) + 'h'}}-->
|
||||||
|
<!-- </template>-->
|
||||||
|
<template v-if="column.prop==='isQualified'" scope="{row}">
|
||||||
|
<span v-if="row.watchCount>=row.qualifiedNum" class="text-success">
|
||||||
|
是
|
||||||
|
</span>
|
||||||
|
<span v-else class="text-danger">
|
||||||
|
否
|
||||||
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column align="center" header-align="center" label="操作" width="200">-->
|
<!-- <el-table-column align="center" header-align="center" label="操作" width="200">-->
|
||||||
@@ -110,7 +118,8 @@ layout("/layouts/platform.html"){
|
|||||||
{prop: 'unitname', label: '单位'},
|
{prop: 'unitname', label: '单位'},
|
||||||
{prop: 'unionname', label: '分工会'},
|
{prop: 'unionname', label: '分工会'},
|
||||||
// {prop: 'studyDuration', label: '观看总时长'},
|
// {prop: 'studyDuration', label: '观看总时长'},
|
||||||
{prop: 'watchCount', label: '学习总次数'}
|
{prop: 'watchCount', label: '学习总次数'},
|
||||||
|
{prop: 'isQualified', label: '是否达标'},
|
||||||
],
|
],
|
||||||
viewTableColumns: [
|
viewTableColumns: [
|
||||||
{prop: 'username', label: '姓名'},
|
{prop: 'username', label: '姓名'},
|
||||||
@@ -118,7 +127,7 @@ layout("/layouts/platform.html"){
|
|||||||
{prop: 'unitname', label: '单位'},
|
{prop: 'unitname', label: '单位'},
|
||||||
{prop: 'unionname', label: '分工会'},
|
{prop: 'unionname', label: '分工会'},
|
||||||
// {prop: 'studyDuration', label: '观看总时长'},
|
// {prop: 'studyDuration', label: '观看总时长'},
|
||||||
{prop: 'watchCount', label: '学习总次数'}
|
{prop: 'watchCount', label: '学习总次数'},
|
||||||
],
|
],
|
||||||
viewPageForm: {
|
viewPageForm: {
|
||||||
pageNumber: 1,
|
pageNumber: 1,
|
||||||
|
|||||||
@@ -140,6 +140,10 @@ layout("/layouts/platform.html"){
|
|||||||
<el-input-number :min="1" :max="100" v-model="formData.everyDayMaxWatchNum"></el-input-number>
|
<el-input-number :min="1" :max="100" v-model="formData.everyDayMaxWatchNum"></el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="合格/达标次数" prop="qualifiedNum">
|
||||||
|
<el-input-number :min="1" :max="1000" v-model="formData.qualifiedNum"></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="是否启用" prop="disabled">
|
<el-form-item label="是否启用" prop="disabled">
|
||||||
<el-switch
|
<el-switch
|
||||||
v-model="formData.disabled"
|
v-model="formData.disabled"
|
||||||
|
|||||||
Reference in New Issue
Block a user