Commit 679d75dd authored by 李鹏 's avatar 李鹏

interface

parent f4a77a56
......@@ -82,7 +82,8 @@ export default {
},
transparentBg() {
return (
this.documentScrollTop < 180 && (this.$route.name === "shopRecommend" || this.$route.name === "shopSearch")
this.documentScrollTop < 180 &&
(this.$route.name === "shopRecommend" || this.$route.name === "shopSearch")
);
},
isFront() {
......
......@@ -3,17 +3,26 @@
class="login-container"
:style="{
'background-image': `url(${
configOptions.backgroundUrl ? JSON.parse(configOptions.backgroundUrl)[0].url : getImageUrl('bg.png')
configOptions.backgroundUrl
? JSON.parse(configOptions.backgroundUrl)[0].url
: getImageUrl('bg.png')
})`,
}">
<el-alert class="bg-warning" title="系统有效期剩余345 天,请管理员及时更换license!" type="warning" />
<el-alert
class="bg-warning"
title="系统有效期剩余345 天,请管理员及时更换license!"
type="warning" />
<div class="bg-main">
<!-- <div class="bg-logo">
<img class="logo" src="../../assets/imgs/login_img_logo.png" />
</div> -->
<div class="bg-content">
<bg-tabs class="login-tab" v-model="loginTab" style="width: 480px" v-if="pageType === 'login'">
<bg-tabs
class="login-tab"
v-model="loginTab"
style="width: 480px"
v-if="pageType === 'login'">
<bg-tab label="账号密码登录" name="account">
<LoginByAccount @register="switchPageType('account')" @password="password" />
</bg-tab>
......@@ -27,13 +36,16 @@
<div class="bg-msg">
<p v-if="configOptions && configOptions.patent">{{ configOptions.patent }}</p>
<p v-if="configOptions">
<span class="can_click_text" @click="open(configOptions.icpUrl)"> {{ configOptions.icpFiling }} | </span>
<span class="can_click_text" @click="open(configOptions.icpUrl)">
{{ configOptions.icpFiling }} |
</span>
<span class="can_click_text" @click="open(configOptions.publicSecurityUrl)">
{{ configOptions.publicSecurityFiling }}
</span>
</p>
<p>
<span class="can_click_text" @click="open(configOptions.legalStatementUrl)">法律声明</span> |
<span class="can_click_text" @click="open(configOptions.legalStatementUrl)">法律声明</span>
|
<span class="can_click_text" @click="open(configOptions.privacyPolicyUrl)">隐私政策</span>
</p>
</div>
......
......@@ -22,24 +22,28 @@
<el-input v-model="systemForm.business_name" />
</el-form-item>
<el-form-item label="AppId" prop="appid" v-if="formType">
<el-input v-model="systemForm.appid" :disabled="formType" >
<el-input v-model="systemForm.appid" :disabled="formType">
<template #suffix>
<bg-icon icon="#bg-ic-copy" style="cursor: pointer;" @click="copyText(systemForm.appid)"></bg-icon>
</template>
<bg-icon
icon="#bg-ic-copy"
style="cursor: pointer"
@click="copyText(systemForm.appid)"></bg-icon>
</template>
</el-input>
<!-- <span class="pl-1"><el-button type="primary" @click="copyText(systemForm.appid)">复制</el-button></span> -->
</el-form-item>
<el-form-item label="AppSecret" prop="appsecret" v-if="formType">
<div style="display: flex;width: 100%;">
<div style="display: flex; width: 100%">
<el-input v-model="systemForm.appsecret" :disabled="formType">
<template #suffix>
<bg-icon icon="#bg-ic-copy" style="cursor: pointer;" @click="copyText(systemForm.appsecret)"></bg-icon>
<bg-icon
icon="#bg-ic-copy"
style="cursor: pointer"
@click="copyText(systemForm.appsecret)"></bg-icon>
</template>
</el-input>
<span class="pl-1"><el-button type="primary" @click="resetSecret">重置</el-button></span>
<span class="pl-1"><el-button type="primary" @click="resetSecret">重置</el-button></span>
</div>
</el-form-item>
<el-form-item label="系统LOGO" prop="logo">
<bg-upload-image
......@@ -53,11 +57,24 @@
customTips="请选择图片上传:大小120 * 120像素支持jpg、png等格式,图片需小于500KB"></bg-upload-image>
</el-form-item>
<el-form-item label="业务系统概述" prop="business_desc">
<el-input type="textarea" :rows="3" v-model="systemForm.business_desc" show-word-limit maxlength="300" />
<el-input
type="textarea"
:rows="3"
v-model="systemForm.business_desc"
show-word-limit
maxlength="300" />
</el-form-item>
<el-form-item label="角色" prop="system_role_id" v-if="!formType">
<el-select v-model="systemForm.system_role_id" placeholder="请选择角色" :disabled="true" style="width: 100%">
<el-option v-for="item in roleList" :key="item.role_id" :label="item.role_name" :value="item.role_id" />
<el-select
v-model="systemForm.system_role_id"
placeholder="请选择角色"
:disabled="true"
style="width: 100%">
<el-option
v-for="item in roleList"
:key="item.role_id"
:label="item.role_name"
:value="item.role_id" />
</el-select>
</el-form-item>
<el-form-item label="账号" prop="system_account">
......@@ -69,7 +86,10 @@
<el-form-item label="密码" prop="password" v-if="!formType">
<el-input :type="password_eye ? 'text' : 'password'" v-model="systemForm.password">
<template #suffix>
<bg-icon @click="password_eye = !password_eye" class="icon_eye" icon="#bg-ic-eye"></bg-icon>
<bg-icon
@click="password_eye = !password_eye"
class="icon_eye"
icon="#bg-ic-eye"></bg-icon>
</template>
</el-input>
</el-form-item>
......@@ -85,7 +105,11 @@
</el-form-item>
<el-form-item label="开发厂商名称" prop="develop_id">
<el-select v-model="systemForm.develop_id" placeholder="请选择开发厂商" style="width: 100%">
<el-option v-for="item in firmList" :key="item.dict_id" :label="item.dict_name" :value="item.dict_id" />
<el-option
v-for="item in firmList"
:key="item.dict_id"
:label="item.dict_name"
:value="item.dict_id" />
</el-select>
</el-form-item>
<el-form-item label="是否启用" prop="state">
......@@ -98,7 +122,7 @@
import { reactive, ref, onBeforeMount, onMounted, computed } from "vue";
import axios from "@/request/http.js";
import { ElMessage } from "element-plus";
import { validatePhone } from "@/services/rules.js"
import { validatePhone } from "@/services/rules.js";
const props = defineProps({
formType: {
type: Boolean,
......@@ -143,7 +167,11 @@ const validateBusinessName = (rule, value, callback) => {
} else {
let params = null;
if (props.id) {
params = { id: parseInt(props.id), business_name: value, organization_id: systemForm.organization_id };
params = {
id: parseInt(props.id),
business_name: value,
organization_id: systemForm.organization_id,
};
} else {
params = { business_name: value, organization_id: systemForm.organization_id };
}
......@@ -182,20 +210,19 @@ const validateSystemAccount = (rule, value, callback) => {
const checkPhoneRepet = (rule, value, callback) => {
let params = null;
if (props.id){
params = {id: parseInt(props.id),contact_phone: value,}
}else {
params = {id: 0,contact_phone: value}
if (props.id) {
params = { id: parseInt(props.id), contact_phone: value };
} else {
params = { id: 0, contact_phone: value };
}
axios.post(`/apaas/system/v5/org/check`,params)
.then((res) => {
if (res.data.code == 200) {
callback()
}else {
callback(new Error(res.data.data))
}
})
}
axios.post(`/apaas/system/v5/org/check`, params).then((res) => {
if (res.data.code == 200) {
callback();
} else {
callback(new Error(res.data.data));
}
});
};
const formRules = reactive({
organization_id: [{ required: true, message: "请选择组织机构", trigger: "change" }],
......
......@@ -215,10 +215,13 @@ const exportFile = () => {
axios
.get(`/apaas/system/v5/log/userAccountAudit/list/export`, {
params,
responseType: "blob",
})
.then((res) => {
if (res.status === 200) {
downloadBlob(res.data);
const type =
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8";
downloadBlob(res.data, type);
} else {
ElMessage.error(res.statusText);
}
......
......@@ -254,31 +254,25 @@ const state = reactive({
deleteTips: "",
});
const {
filter,
operateStatusList,
headers,
selectedNum,
detailHeaders,
tableRows,
tableTotal,
dialogDetail,
deleteDialog,
deleteTips,
} = toRefs(state);
const { filter, operateStatusList, headers, selectedNum, tableRows, deleteDialog, deleteTips } =
toRefs(state);
//导出
const exportFile = () => {
let params = { ...state.filter };
params.start_at = params.time ? params.time[0] || "" : "";
params.end_at = params.time ? params.time[1] || "" : "";
delete params.time;
delete params.total;
axios
.get(`/apaas/system/v5/log/userBehavior/list/export`, {
params,
responseType: "blob",
})
.then((res) => {
if (res.status === 200) {
downloadBlob(res.data);
const type =
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8";
downloadBlob(res.data, type);
} else {
ElMessage.error(res.statusText);
}
......@@ -317,10 +311,10 @@ const deleteCurrent = (row) => {
const confirmDelete = () => {
const ids = state.selectedRows.map((item) => item.id);
axios
.delete("/apaas/system/v5/log/userBehavior/delete", { data: { ids: ids } })
.delete(`/apaas/system/v5/log/userBehavior/delete?ids=${ids.join(",")}`)
.then((res) => {
if (res.data.code === 200) {
ElMessage.success(res.data.msg);
ElMessage.success(res.data.data);
cleanSelected();
getTableRows();
} else {
......
......@@ -53,7 +53,10 @@
ref="accountFromRef"
:form-type="route.query.id ? true : false"
@action="getAccountFromData"></accountFrom>
<passwordForm v-show="step === 2" ref="passwordFormRef" @action="getPasswordFormData"></passwordForm>
<passwordForm
v-show="step === 2"
ref="passwordFormRef"
@action="getPasswordFormData"></passwordForm>
<div class="process_end" v-show="step === 3">
<div>
<div>
......
......@@ -266,9 +266,9 @@ var pathToUrl = (path) => {
}
};
const downloadBlob = (blobData, fileName) => {
const downloadBlob = (blobData, type, fileName) => {
const blob = new Blob([blobData], {
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8",
type,
});
const url = window.URL.createObjectURL(blob);
const aLink = document.createElement("a");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment