zs 1 year ago
parent
commit
bfc3e1fa47

+ 2 - 2
.gitignore

@@ -6,7 +6,7 @@ yarn-debug.log*
 yarn-error.log*
 pnpm-debug.log*
 lerna-debug.log*
-videoAdmin*
+learnAdmin*
 node_modules
 .DS_Store
 dist
@@ -14,7 +14,7 @@ dist-ssr
 coverage
 *.local
 
-/cypress/videos/
+/cypress/learns/
 /cypress/screenshots/
 
 # Editor directories and files

+ 1 - 1
src/lang/package/en/login.js

@@ -1,6 +1,6 @@
 // 登录页面国际化
 export default {
-  title: 'Video on demand platform',
+  title: 'Learn on demand platform',
   username: 'Username',
   password: 'Password',
   login: 'Login',

+ 34 - 5
src/lang/package/zh-cn/pages.js

@@ -52,16 +52,36 @@ export default {
     changeToDisabled: '您确定要禁用该用户?',
     password: '密码'
   },
-  user: {
+  teacher: {
     dialogTitle: '用户信息',
     examDialogTitle: '用户审核',
-    account: '账号',
-    password: '密码',
     nick_name: '昵称',
     gender: '性别',
+    age: '年龄',
+    grade: '所属年级',
+    years: '任课年限',
+    cardType: '身份证类型',
+    card: '身份证号码',
+    education: '学历',
+    subject: '学科',
+    college: '院校',
+    learnStatus: '学业状态',
+    phone: '手机号',
+    brief: '简介',
+    role:'角色',
+    status: '状态'
+  },
+  student: {
+    dialogTitle: '用户信息',
+    examDialogTitle: '用户审核',
+    openid:'微信标识',
+    nick_name: '昵称',
+    gender: '性别',
+    age: '年龄',
+    grade: '年级',
+    role:'角色',
+    address: '家庭地址',
     phone: '手机号',
-    email: '电子邮箱',
-    role: '角色',
     status: '状态'
   },
   dict: {
@@ -99,6 +119,15 @@ export default {
     hrefMessage: '请输入路由',
     sortfMessage: '请输入排序'
   },
+  config: {
+    title: '小程序名称',
+    phone: '联系电话',
+    bottom_title: '底部提示语',
+    logo: 'logo图片',
+    file: '首页轮播图',
+    agreement: '用户协议',
+    brief: '关于我们',
+  },
   video: {
     addDialogTitle: '新增视频',
     upDialogTitle: '修改视频',

+ 13 - 14
src/views/system/config/index.vue

@@ -16,7 +16,7 @@
                 :list="form.logo"
                 listType="picture-card"
                 :limit="1"
-                url="/files/web/video_config/upload"
+                url="/files/web/learn_config/upload"
                 @change="onUpload"
               ></custom-upload>
             </template>
@@ -26,7 +26,7 @@
                 :list="form.file"
                 listType="picture-card"
                 :limit="4"
-                url="/files/web/video_config/upload"
+                url="/files/web/learn_config/upload"
                 @change="onUpload"
               ></custom-upload>
             </template>
@@ -41,29 +41,28 @@
 import { cloneDeep, get } from 'lodash-es'
 import { ConfigStore } from '@/store/api/system/config'
 const store = ConfigStore()
+const { t } = useI18n()
 const $checkRes = inject('$checkRes')
 // 加载中
 const loading = ref(false)
 // 表单
 const form = ref({})
 const fields = ref([
-  { label: '网址名称', model: 'name' },
-  { label: '联系电话', model: 'phone' },
-  { label: '联系地址', model: 'address', type: 'textarea' },
-  { label: '底部导航', model: 'copyright', type: 'textarea' },
-  { label: '网址logo', model: 'logo', custom: true },
-  { label: '首页轮播图', model: 'file', custom: true },
-  { label: '使用协议', model: 'agreement', custom: true },
-  { label: '关于我们', model: 'brief', custom: true }
+  { label:  t('pages.config.title'), model: 'title' },
+  { label:  t('pages.config.phone'), model: 'phone' },
+  { label:  t('pages.config.bottom_title'), model: 'bottom_title' },
+  { label:  t('pages.config.logo'), model: 'logo', custom: true },
+  { label:  t('pages.config.file'), model: 'file', custom: true },
+  { label:  t('pages.config.agreement'), model: 'agreement', custom: true },
+  { label:  t('pages.config.brief'), model: 'brief', custom: true }
 ])
 const rules = ref({
-  name: [{ required: true, message: '请输入网址名称' }],
-  logo: [{ required: true, message: '请上传网址logo' }],
+  title: [{ required: true, message: '请输入小程序名称' }],
+  logo: [{ required: true, message: '请上传小程序logo' }],
   file: [{ required: true, message: '请上传首页轮播图' }],
+  bottom_title: [{ required: true, message: '请输入小程序底部提示语' }],
   agreement: [{ required: true, message: '请输入使用协议' }],
   phone: [{ required: true, message: '请输入联系电话' }],
-  copyright: [{ required: true, message: '请输入底部导航' }],
-  address: [{ required: true, message: '请输入联系地址' }]
 })
 // 请求
 onMounted(async () => {

+ 10 - 10
src/views/user/student/index.vue

@@ -79,12 +79,12 @@ onMounted(async () => {
   loading.value = false
 })
 const fields = [
-  { label: t('pages.user.account'), model: 'account', filter: true },
-  { label: t('pages.user.nick_name'), model: 'nick_name', filter: true },
-  { label: t('pages.user.email'), model: 'email' },
-  { label: t('pages.user.phone'), model: 'phone', filter: true },
-  { label: t('pages.user.role'), model: 'role', custom: true },
-  { label: t('pages.user.status'), model: 'status', format: (i) => getDict(i) }
+  { label: t('pages.student.nick_name'), model: 'nick_name', filter: true },
+  { label: t('pages.student.gender'), model: 'gender', filter: true },
+  { label: t('pages.student.age'), model: 'age' },
+  { label: t('pages.student.phone'), model: 'phone', filter: true },
+  { label: t('pages.student.grade'), model: 'role', custom: true },
+  { label: t('pages.student.status'), model: 'status', format: (i) => getDict(i) }
 ]
 const opera = [
   { label: t('common.view'), method: 'view' },
@@ -97,7 +97,7 @@ const opera = [
   }
 ]
 const searchForm = ref({})
-const dialog = ref({ type: '1', show: false, title: t('pages.user.dialogTitle') })
+const dialog = ref({ type: '1', show: false, title: t('pages.student.dialogTitle') })
 // 查询
 const search = async (query = { skip: 0, limit }) => {
   const info = { skip: query.skip, limit: query.limit, ...searchForm.value }
@@ -111,7 +111,7 @@ const search = async (query = { skip: 0, limit }) => {
 const ruleFormRef = ref()
 const form = ref({})
 // 审核
-const examFormFields = [{ label: t('pages.user.status'), model: 'status', type: 'select' }]
+const examFormFields = [{ label: t('pages.student.status'), model: 'status', type: 'select' }]
 const examRules = reactive({
   status: [{ required: true, message: t('common.statusMessage'), trigger: 'blur' }]
 })
@@ -150,12 +150,12 @@ const getDict = (data) => {
 // 查看
 const toView = async (data) => {
   form.value = data
-  dialog.value = { type: '1', show: true, title: t('pages.user.dialogTitle') }
+  dialog.value = { type: '1', show: true, title: t('pages.student.dialogTitle') }
 }
 // 审核
 const toExam = (data) => {
   examForm.value = data
-  dialog.value = { type: '2', show: true, title: t('pages.user.examDialogTitle') }
+  dialog.value = { type: '2', show: true, title: t('pages.student.examDialogTitle') }
 }
 // 审核保存
 const toExamSave = async () => {

+ 10 - 10
src/views/user/teacher/index.vue

@@ -79,12 +79,12 @@ onMounted(async () => {
   loading.value = false
 })
 const fields = [
-  { label: t('pages.user.account'), model: 'account', filter: true },
-  { label: t('pages.user.nick_name'), model: 'nick_name', filter: true },
-  { label: t('pages.user.email'), model: 'email' },
-  { label: t('pages.user.phone'), model: 'phone', filter: true },
-  { label: t('pages.user.role'), model: 'role', custom: true },
-  { label: t('pages.user.status'), model: 'status', format: (i) => getDict(i) }
+  { label: t('pages.teacher.nick_name'), model: 'nick_name', filter: true },
+  { label: t('pages.teacher.gender'), model: 'gender', filter: true },
+  { label: t('pages.teacher.education'), model: 'education' },
+  { label: t('pages.teacher.phone'), model: 'phone', filter: true },
+  { label: t('pages.teacher.role'), model: 'role', custom: true },
+  { label: t('pages.teacher.status'), model: 'status', format: (i) => getDict(i) }
 ]
 const opera = [
   { label: t('common.view'), method: 'view' },
@@ -97,7 +97,7 @@ const opera = [
   }
 ]
 const searchForm = ref({})
-const dialog = ref({ type: '1', show: false, title: t('pages.user.dialogTitle') })
+const dialog = ref({ type: '1', show: false, title: t('pages.teacher.dialogTitle') })
 // 查询
 const search = async (query = { skip: 0, limit }) => {
   const info = { skip: query.skip, limit: query.limit, ...searchForm.value }
@@ -111,7 +111,7 @@ const search = async (query = { skip: 0, limit }) => {
 const ruleFormRef = ref()
 const form = ref({})
 // 审核
-const examFormFields = [{ label: t('pages.user.status'), model: 'status', type: 'select' }]
+const examFormFields = [{ label: t('pages.teacher.status'), model: 'status', type: 'select' }]
 const examRules = reactive({
   status: [{ required: true, message: t('common.statusMessage'), trigger: 'blur' }]
 })
@@ -150,12 +150,12 @@ const getDict = (data) => {
 // 查看
 const toView = async (data) => {
   form.value = data
-  dialog.value = { type: '1', show: true, title: t('pages.user.dialogTitle') }
+  dialog.value = { type: '1', show: true, title: t('pages.teacher.dialogTitle') }
 }
 // 审核
 const toExam = (data) => {
   examForm.value = data
-  dialog.value = { type: '2', show: true, title: t('pages.user.examDialogTitle') }
+  dialog.value = { type: '2', show: true, title: t('pages.teacher.examDialogTitle') }
 }
 // 审核保存
 const toExamSave = async () => {