|
@@ -5,16 +5,39 @@
|
|
|
<div class="accountPerBox">
|
|
|
<van-form @submit="onSubmit" class="modern-form">
|
|
|
<!-- 表单字段 -->
|
|
|
- <van-field v-model="username" :label="$t('accountPer.usernameLabel')"
|
|
|
- :placeholder="$t('accountPer.usernamePlaceholder')" left-icon="user-o" class="modern-field"
|
|
|
- :rules="[{ required: true, message: $t('accountPer.usernamePlaceholder') }]" />
|
|
|
+ <van-field
|
|
|
+ v-model="username"
|
|
|
+ :label="$t('accountPer.usernameLabel')"
|
|
|
+ :placeholder="$t('accountPer.usernamePlaceholder')"
|
|
|
+ left-icon="user-o"
|
|
|
+ class="modern-field"
|
|
|
+ :rules="[
|
|
|
+ {
|
|
|
+ pattern: /^[a-zA-Z][a-zA-Z0-9]*$/,
|
|
|
+ message: $t('register.usernameRequired'),
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ />
|
|
|
|
|
|
- <van-field v-model="password" type="password" :label="$t('accountPer.passwordLabel')"
|
|
|
- :placeholder="passwordPlaceholder" left-icon="lock" class="modern-field" />
|
|
|
+ <van-field
|
|
|
+ v-model="password"
|
|
|
+ type="password"
|
|
|
+ :label="$t('accountPer.passwordLabel')"
|
|
|
+ :placeholder="passwordPlaceholder"
|
|
|
+ left-icon="lock"
|
|
|
+ class="modern-field"
|
|
|
+ />
|
|
|
|
|
|
- <van-field v-model="name" :label="$t('accountPer.nameLabel')" :placeholder="$t('accountPer.namePlaceholder')"
|
|
|
- left-icon="contact" class="modern-field"
|
|
|
- :rules="[{ required: true, message: $t('accountPer.namePlaceholder') }]" />
|
|
|
+ <van-field
|
|
|
+ v-model="name"
|
|
|
+ :label="$t('accountPer.nameLabel')"
|
|
|
+ :placeholder="$t('accountPer.namePlaceholder')"
|
|
|
+ left-icon="contact"
|
|
|
+ class="modern-field"
|
|
|
+ :rules="[
|
|
|
+ { required: true, message: $t('accountPer.namePlaceholder') },
|
|
|
+ ]"
|
|
|
+ />
|
|
|
|
|
|
<!-- <van-field v-model="phone" :label="$t('accountPer.phoneLabel')" :placeholder="$t('accountPer.phonePlaceholder')"
|
|
|
left-icon="phone" class="modern-field"
|
|
@@ -31,29 +54,59 @@
|
|
|
</van-field>
|
|
|
|
|
|
<!-- 角色选择 -->
|
|
|
- <van-field v-model="roleText" is-link readonly :label="$t('accountPer.roleLabel')"
|
|
|
- :placeholder="$t('accountPer.rolePlaceholder')" left-icon="friends-o" class="modern-field"
|
|
|
- @click="roleShow = true" :rules="[{ required: true, message: $t('accountPer.rolePlaceholder') }]" />
|
|
|
+ <van-field
|
|
|
+ v-model="roleText"
|
|
|
+ is-link
|
|
|
+ readonly
|
|
|
+ :label="$t('accountPer.roleLabel')"
|
|
|
+ :placeholder="$t('accountPer.rolePlaceholder')"
|
|
|
+ left-icon="friends-o"
|
|
|
+ class="modern-field"
|
|
|
+ @click="roleShow = true"
|
|
|
+ :rules="[
|
|
|
+ { required: true, message: $t('accountPer.rolePlaceholder') },
|
|
|
+ ]"
|
|
|
+ />
|
|
|
|
|
|
<!-- 启用开关 -->
|
|
|
<van-field class="switch-field">
|
|
|
<template #input>
|
|
|
<div class="switch-container">
|
|
|
<van-switch v-model="isEnabled" size="20px" />
|
|
|
- <span class="switch-label">{{ $t("accountPer.startOrNot") }}</span>
|
|
|
+ <span class="switch-label">{{
|
|
|
+ $t("accountPer.startOrNot")
|
|
|
+ }}</span>
|
|
|
</div>
|
|
|
</template>
|
|
|
</van-field>
|
|
|
|
|
|
<!-- 设备管理 -->
|
|
|
- <van-field v-model="cofficentForm.equipmentNames" :label="$t('accountPer.manageMachinesLabel')"
|
|
|
- :placeholder="$t('accountPer.manageMachinesPlaceholder')" left-icon="cluster-o" class="modern-field" readonly
|
|
|
- clearable @click="busiEquipInpClk"
|
|
|
- :rules="[{ required: true, message: $t('accountPer.manageMachinesPlaceholder') }]">
|
|
|
+ <van-field
|
|
|
+ v-model="cofficentForm.equipmentNames"
|
|
|
+ :label="$t('accountPer.manageMachinesLabel')"
|
|
|
+ :placeholder="$t('accountPer.manageMachinesPlaceholder')"
|
|
|
+ left-icon="cluster-o"
|
|
|
+ class="modern-field"
|
|
|
+ readonly
|
|
|
+ clearable
|
|
|
+ @click="busiEquipInpClk"
|
|
|
+ :rules="[
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: $t('accountPer.manageMachinesPlaceholder'),
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ >
|
|
|
<template #right-icon>
|
|
|
<div class="field-icons">
|
|
|
- <van-icon v-if="cofficentForm.equipmentNames" name="clear"
|
|
|
- @click="cofficentForm.equipmentNames = ''; equipmentIds = ''" />
|
|
|
+ <van-icon
|
|
|
+ v-if="cofficentForm.equipmentNames"
|
|
|
+ name="clear"
|
|
|
+ @click="
|
|
|
+ cofficentForm.equipmentNames = '';
|
|
|
+ equipmentIds = '';
|
|
|
+ "
|
|
|
+ />
|
|
|
<van-icon name="arrow" @click="busiEquipInpClk" />
|
|
|
</div>
|
|
|
</template>
|
|
@@ -61,23 +114,43 @@
|
|
|
|
|
|
<!-- 操作按钮 -->
|
|
|
<div class="action-buttons">
|
|
|
- <van-button round type="primary" native-type="submit" class="submit-btn">
|
|
|
+ <van-button
|
|
|
+ round
|
|
|
+ type="primary"
|
|
|
+ native-type="submit"
|
|
|
+ class="submit-btn"
|
|
|
+ >
|
|
|
{{ $t("accountPer.submit") }}
|
|
|
</van-button>
|
|
|
- <van-button v-if="pageTitle === $t('accountPer.modifyAccount')" round type="danger" class="delete-btn"
|
|
|
- @click="deleteLoginUserFun">
|
|
|
+ <van-button
|
|
|
+ v-if="pageTitle === $t('accountPer.modifyAccount')"
|
|
|
+ round
|
|
|
+ type="danger"
|
|
|
+ class="delete-btn"
|
|
|
+ @click="deleteLoginUserFun"
|
|
|
+ >
|
|
|
{{ $t("accountPer.delete") }}
|
|
|
</van-button>
|
|
|
</div>
|
|
|
</van-form>
|
|
|
</div>
|
|
|
<van-popup v-model:show="roleShow" round position="bottom">
|
|
|
- <van-cascader v-model="roleList" :title="$t('accountPer.rolePlaceholder')" :options="roleOptions"
|
|
|
- @close="roleShow = false" @finish="onRoleFinish" />
|
|
|
+ <van-cascader
|
|
|
+ v-model="roleList"
|
|
|
+ :title="$t('accountPer.rolePlaceholder')"
|
|
|
+ :options="roleOptions"
|
|
|
+ @close="roleShow = false"
|
|
|
+ @finish="onRoleFinish"
|
|
|
+ />
|
|
|
</van-popup>
|
|
|
<!-- 机器弹窗 -->
|
|
|
- <kSelectPop @selconfirm="selEquipConfirm" ref="kSelectPopEquipRef" :selOptions="selEquipOptions"
|
|
|
- @searchData="searchEquData" :selTitleAndName="['name', 'id']"></kSelectPop>
|
|
|
+ <kSelectPop
|
|
|
+ @selconfirm="selEquipConfirm"
|
|
|
+ ref="kSelectPopEquipRef"
|
|
|
+ :selOptions="selEquipOptions"
|
|
|
+ @searchData="searchEquData"
|
|
|
+ :selTitleAndName="['name', 'id']"
|
|
|
+ ></kSelectPop>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -86,7 +159,13 @@
|
|
|
import kSelectPop from "../../components/commom/kSelectPop/index.vue";
|
|
|
import { onMounted, reactive, toRefs, ref } from "vue";
|
|
|
import sHeader from "../../components/SimpleHeader";
|
|
|
-import { showFailToast, showSuccessToast, showToast, showNotify, showConfirmDialog } from 'vant';
|
|
|
+import {
|
|
|
+ showFailToast,
|
|
|
+ showSuccessToast,
|
|
|
+ showToast,
|
|
|
+ showNotify,
|
|
|
+ showConfirmDialog,
|
|
|
+} from "vant";
|
|
|
import {
|
|
|
getSysRoleList,
|
|
|
getEquipmentList,
|
|
@@ -153,10 +232,10 @@ export default {
|
|
|
console.log(addParams.roleList);
|
|
|
addParams.equipmentIds = accoutPerSet.equipmentIds;
|
|
|
havePassword.value = false;
|
|
|
- passwordPlaceholder.value = t('accountPer.editPasswordPlaceholder')
|
|
|
+ passwordPlaceholder.value = t("accountPer.editPasswordPlaceholder");
|
|
|
} else {
|
|
|
pageTitle.value = t("accountPer.addAccount");
|
|
|
- passwordPlaceholder.value = t('register.passwordPlaceholder');
|
|
|
+ passwordPlaceholder.value = t("register.passwordPlaceholder");
|
|
|
havePassword.value = true;
|
|
|
}
|
|
|
getSysRoleListFun();
|
|
@@ -166,19 +245,19 @@ export default {
|
|
|
const getSysRoleListFun = async () => {
|
|
|
const { data } = await getSysRoleList({ adminId: user.id });
|
|
|
if (data.code === "00000") {
|
|
|
- console.log()
|
|
|
+ console.log();
|
|
|
roleOptions.value = data.data
|
|
|
- .filter(item => item.label !== "商家")
|
|
|
- .map(item => ({
|
|
|
+ .filter((item) => item.label !== "商家")
|
|
|
+ .map((item) => ({
|
|
|
text: item.label,
|
|
|
- value: item.value
|
|
|
+ value: item.value,
|
|
|
}));
|
|
|
|
|
|
if (pageTitle.value === t("accountPer.modifyAccount")) {
|
|
|
roleText.value = roleOptions.value.filter(
|
|
|
(v) => v.value === addParams.roleList
|
|
|
)[0].text;
|
|
|
- console.log(roleOptions.value)
|
|
|
+ console.log(roleOptions.value);
|
|
|
}
|
|
|
} else {
|
|
|
showFailToast(data.message);
|
|
@@ -187,7 +266,7 @@ export default {
|
|
|
|
|
|
const searchEquData = (e) => {
|
|
|
selEquipOptions.value = e;
|
|
|
- }
|
|
|
+ };
|
|
|
// 获取机器下拉
|
|
|
const getEquipmentListFun = async () => {
|
|
|
const { data } = await getEquipmentList({ adminId: user.id });
|
|
@@ -200,16 +279,16 @@ export default {
|
|
|
}
|
|
|
selEquipOptions.value = data.data;
|
|
|
if (addParams.equipmentIds != null) {
|
|
|
- const list = addParams.equipmentIds.split(',');
|
|
|
+ const list = addParams.equipmentIds.split(",");
|
|
|
const listName = [];
|
|
|
// 根据id找到对应的name
|
|
|
- selEquipOptions.value.forEach(item => {
|
|
|
- list.forEach(item1 => {
|
|
|
+ selEquipOptions.value.forEach((item) => {
|
|
|
+ list.forEach((item1) => {
|
|
|
if (item.id === item1) {
|
|
|
listName.push(item.name);
|
|
|
}
|
|
|
- })
|
|
|
- })
|
|
|
+ });
|
|
|
+ });
|
|
|
cofficentForm.value.equipmentNames = listName.join(",");
|
|
|
}
|
|
|
} else {
|
|
@@ -219,13 +298,13 @@ export default {
|
|
|
|
|
|
const onSubmit = async () => {
|
|
|
let params = { adminId: user.id };
|
|
|
- if (addParams.username === 'admin') {
|
|
|
- showNotify({ type: 'danger', message: t('register.A0201') });
|
|
|
+ if (addParams.username === "admin") {
|
|
|
+ showNotify({ type: "danger", message: t("register.A0201") });
|
|
|
return false;
|
|
|
}
|
|
|
if (addParams.password != "") {
|
|
|
if (!passwordPattern.value.test(addParams.password)) {
|
|
|
- showNotify(t('register.passwordPlaceholder'));
|
|
|
+ showNotify(t("register.passwordPlaceholder"));
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
@@ -247,7 +326,7 @@ export default {
|
|
|
if (data.code === "00000") {
|
|
|
showSuccessToast(t("accountPer.accountAddedSuccessfully"));
|
|
|
router.replace("/accountPer");
|
|
|
- } else if (data.code === 'A0201') {
|
|
|
+ } else if (data.code === "A0201") {
|
|
|
showToast(t("accountPer.accountNameExists"));
|
|
|
} else {
|
|
|
showFailToast(t("accountPer.failedToAddAccount"), data.message);
|
|
@@ -256,8 +335,8 @@ export default {
|
|
|
};
|
|
|
const deleteLoginUserFun = () => {
|
|
|
showConfirmDialog({
|
|
|
- title: t('user.tips'),
|
|
|
- message: t('accountPer.delTips'),
|
|
|
+ title: t("user.tips"),
|
|
|
+ message: t("accountPer.delTips"),
|
|
|
}).then(async () => {
|
|
|
const params = {
|
|
|
adminId: user.id,
|
|
@@ -293,7 +372,7 @@ export default {
|
|
|
addParams.equipmentIds = e1.join(",");
|
|
|
} else {
|
|
|
cofficentForm.value.equipmentNames = "";
|
|
|
- addParams.equipmentIds = '';
|
|
|
+ addParams.equipmentIds = "";
|
|
|
}
|
|
|
kSelectPopEquipRef.value.selPopClose();
|
|
|
};
|
|
@@ -329,7 +408,7 @@ export default {
|
|
|
<style lang="less" scoped>
|
|
|
@import "../../common/style/common.less";
|
|
|
@primary-color: #4d6add;
|
|
|
-@danger-color: #FF6B6B;
|
|
|
+@danger-color: #ff6b6b;
|
|
|
|
|
|
.modern-form {
|
|
|
padding: 16px;
|