Ver código fonte

新增平台设置

zs 1 ano atrás
pai
commit
a7b042aa3a

+ 6 - 3
src/lang/package/zh-cn/pages.js

@@ -55,7 +55,7 @@ export default {
   teacher: {
     dialogTitle: '用户信息',
     examDialogTitle: '用户审核',
-    icon:'头像',
+    icon: '头像',
     openid: '微信标识',
     nick_name: '昵称',
     gender: '性别',
@@ -71,12 +71,13 @@ export default {
     phone: '手机号',
     brief: '简介',
     role: '角色',
-    status: '状态'
+    status: '状态',
+    is_show: '是否公开'
   },
   student: {
     dialogTitle: '用户信息',
     examDialogTitle: '用户审核',
-    icon:'头像',
+    icon: '头像',
     openid: '微信标识',
     nick_name: '昵称',
     gender: '性别',
@@ -123,9 +124,11 @@ export default {
     sortfMessage: '请输入排序'
   },
   config: {
+    notice: '通知',
     title: '小程序名称',
     phone: '联系电话',
     bottom_title: '底部提示语',
+    icon: '用户默认头像',
     logo: 'logo图片',
     file: '首页轮播图',
     agreement: '用户协议',

+ 22 - 8
src/views/system/config/index.vue

@@ -10,6 +10,16 @@
             <template #brief>
               <WangEditor v-model="form.brief" />
             </template>
+            <template #icon>
+              <custom-upload
+                model="icon"
+                :list="form.icon"
+                listType="picture-card"
+                :limit="1"
+                url="/files/web/learn_config/upload"
+                @change="onUpload"
+              ></custom-upload>
+            </template>
             <template #logo>
               <custom-upload
                 model="logo"
@@ -48,21 +58,25 @@ const loading = ref(false)
 // 表单
 const form = ref({})
 const fields = ref([
-  { 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 }
+  { 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.notice'), model: 'notice' },
+  { label: t('pages.config.icon'), model: 'icon', custom: true },
+  { 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({
   title: [{ required: true, message: '请输入小程序名称' }],
+  notice: [{ required: true, message: '请输入通知' }],
+  icon: [{ 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: '请输入联系电话' }],
+  phone: [{ required: true, message: '请输入联系电话' }]
 })
 // 请求
 onMounted(async () => {

+ 16 - 3
src/views/user/teacher/index.vue

@@ -16,6 +16,10 @@
       @exam="toExam"
       @delete="toDelete"
     >
+      <template #is_show="{ row }">
+        <el-tag v-if="row.is_show == '0'" type="success">{{ $t('common.is_use_abled') }}</el-tag>
+        <el-tag v-else type="info">{{ $t('common.is_use_disabled') }}</el-tag>
+      </template>
       <template #role="{ row }">
         <div class="tags">
           <el-tag type="primary">{{ getRole(row.role) }}</el-tag>
@@ -80,7 +84,6 @@ const fields = [
   { label: t('pages.teacher.openid'), model: 'openid' },
   { label: t('pages.teacher.nick_name'), model: 'nick_name', filter: true },
   { label: t('pages.teacher.gender'), model: 'gender', format: (i) => getDict(i, 'gender') },
-  { label: t('pages.teacher.card'), model: 'card' },
   { label: t('pages.teacher.phone'), model: 'phone', filter: true },
   {
     label: t('pages.teacher.education'),
@@ -93,7 +96,13 @@ const fields = [
     model: 'learnStatus',
     format: (i) => getDict(i, 'learnStatus')
   },
-  { label: t('pages.teacher.status'), model: 'status', format: (i) => getDict(i, 'status') }
+  { label: t('pages.teacher.status'), model: 'status', format: (i) => getDict(i, 'status') },
+  {
+    label: t('pages.teacher.is_show'),
+    model: 'is_show',
+    format: (i) => getDict(i, 'is_show'),
+    custom: true
+  }
 ]
 const opera = [
   { label: t('common.view'), method: 'view' },
@@ -132,7 +141,7 @@ const educationList = ref([])
 const learnStatusList = ref([])
 const gradeList = ref([])
 const cardTypeList = ref([])
-
+const showList = ref([])
 const searchOther = async () => {
   let result
   // 状态
@@ -153,6 +162,9 @@ const searchOther = async () => {
   // 身份证类型
   result = await dictDataStore.query({ code: 'cardType', is_use: '0' })
   if ($checkRes(result)) cardTypeList.value = result.data
+  // 是否公开
+  result = await dictDataStore.query({ code: 'isUse', is_use: '0' })
+  if ($checkRes(result)) showList.value = result.data
 }
 
 const toDelete = async (data) => {
@@ -167,6 +179,7 @@ const getDict = (data, model) => {
   else if (model == 'gender') res = genderList.value.find((f) => f.value == data)
   else if (model == 'education') res = educationList.value.find((f) => f.value == data)
   else if (model == 'learnStatus') res = learnStatusList.value.find((f) => f.value == data)
+  else if (model == 'is_show') res = showList.value.find((f) => f.value == data)
   return get(res, 'label')
 }
 // 查看

+ 2 - 2
src/views/user/teacher/parts/user.vue

@@ -58,7 +58,7 @@ const { t } = useI18n()
 const form = inject('form')
 const formFields = ref([
   { label: t('pages.teacher.icon'), model: 'icon', custom: true },
-  { label: t('pages.teacher.opneid'), model: 'opneid' },
+  { label: t('pages.teacher.openid'), model: 'openid' },
   { label: t('pages.teacher.nick_name'), model: 'nick_name' },
   { label: t('pages.teacher.gender'), model: 'gender', type: 'select' },
   { label: t('pages.teacher.age'), model: 'age' },
@@ -71,7 +71,7 @@ const formFields = ref([
   { label: t('pages.teacher.subject'), model: 'subject', type: 'select' },
   { label: t('pages.teacher.college'), model: 'college' },
   { label: t('pages.teacher.learnStatus'), model: 'learnStatus', type: 'select' },
-  { label: t('pages.teacher.brief'), model: 'brief', type: 'select' }
+  { label: t('pages.teacher.brief'), model: 'brief', type: 'textarea' }
 ])
 // 字典表
 const genderList = inject('genderList')