|
@@ -2,8 +2,8 @@
|
|
<el-form :model="formData" label-width="100px" ref="ruleForm" :rules="rules" v-loading="loading" class="pr-4">
|
|
<el-form :model="formData" label-width="100px" ref="ruleForm" :rules="rules" v-loading="loading" class="pr-4">
|
|
<div class="flex flex-row justify-between">
|
|
<div class="flex flex-row justify-between">
|
|
<div class="w-full">
|
|
<div class="w-full">
|
|
- <el-form-item label="登录账号" prop="email">
|
|
|
|
- <el-input v-model="formData.email" placeholder="请填写登录账号" />
|
|
|
|
|
|
+ <el-form-item label="邮箱" prop="email">
|
|
|
|
+ <el-input v-model="formData.email" placeholder="请填写邮箱" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="用户名" prop="username">
|
|
<el-form-item label="用户名" prop="username">
|
|
<el-input v-model="formData.username" placeholder="请填写用户名" />
|
|
<el-input v-model="formData.username" placeholder="请填写用户名" />
|
|
@@ -17,16 +17,19 @@
|
|
placeholder="确认密码" show-password :prefix-icon="Lock" class="h-12 text-base" />
|
|
placeholder="确认密码" show-password :prefix-icon="Lock" class="h-12 text-base" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="绑定小程序" prop="miniProgramIds">
|
|
<el-form-item label="绑定小程序" prop="miniProgramIds">
|
|
- <el-select class="w-full" v-model="formData.miniProgramIds" remote filterable multiple
|
|
|
|
- :remote-method="remoteMethod" clearable placeholder="选择小程序">
|
|
|
|
- <el-option v-for="item in cpList" :key="item.cp_id" :label="item.cp_name" :value="item.cp_name" />
|
|
|
|
|
|
+ <el-select class="w-full" v-model="formData.miniProgramIds" filterable multiple clearable placeholder="选择小程序">
|
|
|
|
+ <el-option v-for="item in applet" :key="item.miniprogram_id" :label="item.name"
|
|
|
|
+ :value="item.miniprogram_id" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="状态" prop="status">
|
|
<el-form-item label="状态" prop="status">
|
|
<el-switch v-model="formData.status" :active-value="1" :inactive-value="2" />
|
|
<el-switch v-model="formData.status" :active-value="1" :inactive-value="2" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="备注" prop="remark">
|
|
<el-form-item label="备注" prop="remark">
|
|
- <el-input v-model="formData.remark" placeholder="请填写备注" type="textarea" />
|
|
|
|
|
|
+ <el-tooltip placement="top">
|
|
|
|
+ <template #content> 鼠标移到账号上面显示备注内容<br /> </template>
|
|
|
|
+ <el-input v-model="formData.remark" placeholder="请填写备注" type="textarea" />
|
|
|
|
+ </el-tooltip>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -40,14 +43,15 @@
|
|
import { Lock, Message, Key } from '@element-plus/icons-vue'
|
|
import { Lock, Message, Key } from '@element-plus/icons-vue'
|
|
import { useCreate } from '@/hook/curd/useCreate';
|
|
import { useCreate } from '@/hook/curd/useCreate';
|
|
import { useShow } from '@/hook/curd/useShow';
|
|
import { useShow } from '@/hook/curd/useShow';
|
|
-import { cpManageCpList, cpOptions } from '@/api/cp/index'
|
|
|
|
import { advertiserGetAdvertiser, advertiserAdd, advertiserUpdateAdvertiser } from '@/api/advertiser/index'
|
|
import { advertiserGetAdvertiser, advertiserAdd, advertiserUpdateAdvertiser } from '@/api/advertiser/index'
|
|
import type { FormInstance, FormRules } from 'element-plus'
|
|
import type { FormInstance, FormRules } from 'element-plus'
|
|
|
|
+import { channelMiniprogramList } from '@/api/applet/index'
|
|
const ruleForm = ref<FormInstance>()
|
|
const ruleForm = ref<FormInstance>()
|
|
import { onMounted, ref } from 'vue';
|
|
import { onMounted, ref } from 'vue';
|
|
const props = defineProps({
|
|
const props = defineProps({
|
|
primary: String | Number,
|
|
primary: String | Number,
|
|
});
|
|
});
|
|
|
|
+const applet = ref([])
|
|
const formData = ref({ status: 2, miniProgramIds: [] })
|
|
const formData = ref({ status: 2, miniProgramIds: [] })
|
|
//自定义校验规则
|
|
//自定义校验规则
|
|
const validatePasswordConfirmation = (
|
|
const validatePasswordConfirmation = (
|
|
@@ -57,7 +61,8 @@ const validatePasswordConfirmation = (
|
|
) => {
|
|
) => {
|
|
if (value === '') {
|
|
if (value === '') {
|
|
callback(new Error('请再次输入密码'));
|
|
callback(new Error('请再次输入密码'));
|
|
- } else if (value !== ruleForm.password) {
|
|
|
|
|
|
+ } else if (value !== formData.value.password) {
|
|
|
|
+ console.log(formData.value.password, 'ruleForm.password');
|
|
callback(new Error('两次密码不匹配'));
|
|
callback(new Error('两次密码不匹配'));
|
|
} else {
|
|
} else {
|
|
callback();
|
|
callback();
|
|
@@ -68,7 +73,7 @@ const rules = reactive({
|
|
email: [
|
|
email: [
|
|
{
|
|
{
|
|
required: true,
|
|
required: true,
|
|
- message: '请输入登录账号',
|
|
|
|
|
|
+ message: '请输入邮箱',
|
|
trigger: 'blur'
|
|
trigger: 'blur'
|
|
},
|
|
},
|
|
{
|
|
{
|
|
@@ -114,17 +119,10 @@ const rules = reactive({
|
|
});
|
|
});
|
|
const loading = ref(false)
|
|
const loading = ref(false)
|
|
|
|
|
|
-const remoteMethod = (query: string) => {
|
|
|
|
- if (query) {
|
|
|
|
- initCpOtion({ cp_name: query })
|
|
|
|
- } else {
|
|
|
|
- initCpOtion({})
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-const initCpOtion = (params: object) => {
|
|
|
|
- cpOptions(params).then(res => {
|
|
|
|
- cpList.value = res.data;
|
|
|
|
|
|
+const initApplet = () => {
|
|
|
|
+ channelMiniprogramList().then(res => {
|
|
|
|
+ console.log(res, 'channelMiniprogramListchannelMiniprogramList');
|
|
|
|
+ applet.value = res.data
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
@@ -172,6 +170,6 @@ if (props.primary) {
|
|
const emit = defineEmits(['close']);
|
|
const emit = defineEmits(['close']);
|
|
const cpList = ref();
|
|
const cpList = ref();
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
- initCpOtion({})
|
|
|
|
|
|
+ initApplet()
|
|
});
|
|
});
|
|
</script>
|
|
</script>
|