Commit 609aa0c2 authored by 赵伟庚's avatar 赵伟庚

update: 需求优化内容,能力推荐交互优化

parent 5b5c2472
...@@ -11,8 +11,9 @@ ...@@ -11,8 +11,9 @@
:indeterminate="option.isIndeterminate" :indeterminate="option.isIndeterminate"
@change="changeSelf" @change="changeSelf"
> >
<span :title="option.name"> <span :title="option.name + (option.remark ? `(${option.remark})` : '')">
{{ option.name }} {{ option.name }}
{{option.remark ? `(${option.remark})` : ""}}
</span> </span>
</el-checkbox> </el-checkbox>
</div> </div>
......
...@@ -98,6 +98,7 @@ export default { ...@@ -98,6 +98,7 @@ export default {
name: nameProp, name: nameProp,
value: valueProp, value: valueProp,
children: childrenProp, children: childrenProp,
remark: remarkProp,
} = this.props; } = this.props;
let permissionData = []; let permissionData = [];
let traverseOptions = (item) => { let traverseOptions = (item) => {
...@@ -107,9 +108,11 @@ export default { ...@@ -107,9 +108,11 @@ export default {
let children = item[childrenProp]; let children = item[childrenProp];
let isSelected = this.values.indexOf(value) > -1; let isSelected = this.values.indexOf(value) > -1;
let isIndeterminate = false; let isIndeterminate = false;
let remark = item[remarkProp];
result.name = name; result.name = name;
result.value = value; result.value = value;
result.remark = remark;
if (children && children.length > 0) { if (children && children.length > 0) {
......
...@@ -2565,7 +2565,7 @@ a { ...@@ -2565,7 +2565,7 @@ a {
text-overflow: ellipsis; text-overflow: ellipsis;
word-break: break-all; word-break: break-all;
white-space: nowrap; white-space: nowrap;
width: 8em; width: 10em;
display: inline-block; display: inline-block;
vertical-align: middle; vertical-align: middle;
line-height: 16px; line-height: 16px;
......
<template> <template>
<div class="item_card"> <div class="item_card" :style="{'height':props.flag ? '242px' : '206px'}">
<div class="action_box" v-if="props.flag"> <div class="action_box" v-if="props.flag">
<div class="can_click_text" @click="deleteItem(props.item)">删除</div> <div class="can_click_text" @click="deleteItem(props.item)">删除</div>
<div class="can_click_text" @click="move(1)" :class="props.item.canDown ? '' : 'disabled'">下移</div> <div class="can_click_text" @click="move(1)" :class="props.item.canDown ? '' : 'disabled'">下移</div>
<div class="can_click_text" @click="move(2)" :class="props.item.canUp ? '' : 'disabled'">上移</div> <div class="can_click_text" @click="move(2)" :class="props.item.canUp ? '' : 'disabled'">上移</div>
</div> </div>
<div class="top_info"> <div class="top_info" :style="{'padding-left': !props.flag ? '8px' : '24px'}">
<el-checkbox <el-checkbox
v-if="!props.flag"
class="select_box" class="select_box"
v-model="props.item.checked" v-model="props.item.checked"
@change="change_check" @change="change_check"
...@@ -54,7 +55,7 @@ ...@@ -54,7 +55,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="bottom_info"> <div class="bottom_info" :style="{'height':props.flag ? 'calc(100% - 128px)' : 'calc(100% - 92px)'}">
<div class="desc" :title="props.item.synopsis"> <div class="desc" :title="props.item.synopsis">
{{props.item.synopsis}} {{props.item.synopsis}}
</div> </div>
...@@ -112,8 +113,8 @@ const move = (type) => { ...@@ -112,8 +113,8 @@ const move = (type) => {
<style lang="scss" scoped> <style lang="scss" scoped>
.item_card { .item_card {
width: 100%; width: 384px;
margin-right: 16px; // margin-right: 16px;
margin-bottom: 16px; margin-bottom: 16px;
height: 206px; height: 206px;
background-color: #ffffff; background-color: #ffffff;
...@@ -129,6 +130,8 @@ const move = (type) => { ...@@ -129,6 +130,8 @@ const move = (type) => {
display: flex; display: flex;
line-height: 36px; line-height: 36px;
flex-direction: row-reverse; flex-direction: row-reverse;
border-radius: 6px 6px 0 0;
font-size: 14px;
.can_click_text { .can_click_text {
margin-right: 16px; margin-right: 16px;
} }
......
<template> <template>
<div class="card_list"> <div class="card_list">
<div v-for="(e,i) in props.list" :key="'card' + i" class="item" style="width: calc((100% - 32px) / 3)"> <div v-for="(e,i) in props.list" :key="'card' + i" class="item">
<ability-card v-if="e.id" :item="e" @change_check="changeCheck" :flag="props.flag" @deleteItem="deleteItem" @move="move"/> <ability-card v-if="e.id" :item="e" @change_check="changeCheck" :flag="props.flag" @deleteItem="deleteItem" @move="move"/>
<div v-else class="empty_card" @click="open"> <div v-else class="empty_card" @click="open">
<span>+</span> <span>+</span>
...@@ -39,12 +39,15 @@ const move = (temp) => { ...@@ -39,12 +39,15 @@ const move = (temp) => {
<style lang="scss" scoped> <style lang="scss" scoped>
.card_list { .card_list {
width: 100%;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; // transform: translateX(-16px);
// .item { // justify-content: space-between;
// width: calc(100% - 32px); .item {
// } // width: calc((100% - 32px) / 3);
margin-left: 16px;
}
.empty_card { .empty_card {
cursor: pointer; cursor: pointer;
width: 384px; width: 384px;
......
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
> >
<el-form-item label="名称" prop="name"> <el-form-item label="名称" prop="name">
<el-input <el-input
v-model="formData.name" v-model.trim="formData.name"
show-word-limit show-word-limit
:maxlength=" :maxlength="
nodeClassifyId == 'eb9c7d70-c123-42b7-8e61-dde1b022b669' nodeClassifyId == 'eb9c7d70-c123-42b7-8e61-dde1b022b669'
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
</div> </div>
<div> <div>
<div class="title"> <div class="title">
<div><span class="icon_box"></span> 基础信息</div> <div><span class="icon_box"></span> 联系人信息</div>
<div class="dashed_line"> <div class="dashed_line">
</div> </div>
</div> </div>
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
class="menu_form" class="menu_form"
> >
<el-form-item label="菜单名称" prop="menu_name"> <el-form-item label="菜单名称" prop="menu_name">
<el-input v-model="menuForm.menu_name" show-word-limit maxlength="8" placeholder="请输入菜单名称" /> <el-input v-model.trim="menuForm.menu_name" show-word-limit maxlength="8" placeholder="请输入菜单名称" />
</el-form-item> </el-form-item>
<el-form-item label="类型" prop="menu_type" v-if="!topLevel"> <el-form-item label="类型" prop="menu_type" v-if="!topLevel">
<el-radio-group v-model="menuForm.menu_type" :disabled="radioDisabled"> <el-radio-group v-model="menuForm.menu_type" :disabled="radioDisabled">
...@@ -56,6 +56,7 @@ ...@@ -56,6 +56,7 @@
inline-prompt inline-prompt
active-text="是" active-text="是"
inactive-text="否" inactive-text="否"
:disabled="disabledSwitch"
/> />
</el-form-item> </el-form-item>
<el-form-item label="菜单路径" :prop="topLevel ? '' : 'menu_url'"> <el-form-item label="菜单路径" :prop="topLevel ? '' : 'menu_url'">
...@@ -174,6 +175,7 @@ const state = reactive({ ...@@ -174,6 +175,7 @@ const state = reactive({
topLevel: false, topLevel: false,
typeDisFlag: null, typeDisFlag: null,
groupFlag: true, groupFlag: true,
disabledSwitch: false, // 内置菜单built_in为1-不可禁用 0或不存在-可禁用
}) })
const getGroupList = () => { const getGroupList = () => {
...@@ -244,6 +246,7 @@ const setForm = (data) => { ...@@ -244,6 +246,7 @@ const setForm = (data) => {
}else { }else {
state.radioDisabled = false state.radioDisabled = false
} }
state.disabledSwitch = data.built_in && data.built_in == 1 ? true : false
state.menuForm = Object.assign(state.menuForm, data); state.menuForm = Object.assign(state.menuForm, data);
} // 表单赋值 } // 表单赋值
...@@ -281,6 +284,7 @@ const { ...@@ -281,6 +284,7 @@ const {
typeDisFlag, typeDisFlag,
groupFlag, groupFlag,
systemGroupList, systemGroupList,
disabledSwitch,
} = toRefs(state) } = toRefs(state)
defineExpose({ setForm , menuForm, menuRef }) defineExpose({ setForm , menuForm, menuRef })
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
style="max-width: 1048px" style="max-width: 1048px"
class="form" class="form"
> >
<el-form-item label="能力类型" prop="type"> <el-form-item label="能力类型" prop="business_type_id">
<el-select v-model="formData.type" placeholder="请选择能力类型" style="width: 100%" @change="changeType"> <el-select v-model="formData.business_type_id" placeholder="请选择能力类型" style="width: 100%" @change="changeType">
<el-option <el-option
v-for="item in TypeList" v-for="item in TypeList"
:key="item.dict_id" :key="item.dict_id"
...@@ -16,8 +16,8 @@ ...@@ -16,8 +16,8 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="上传图标" prop="icon"> <el-form-item label="上传图标" prop="logo">
<bg-upload-image v-model="formData.icon" :fileSize="500" :fileSizeUnit="'KB'" :showTips="true" customTips="请选择图片上传:大小36 * 36像素支持jpg、png等格式,图片需小于500KB" :limit="1" listType="picture-card" :accept="['.jpg','.jpeg','.png']"></bg-upload-image> <bg-upload-image v-model="formData.logo" :fileSize="500" :fileSizeUnit="'KB'" :showTips="true" customTips="请选择图片上传:大小36 * 36像素支持jpg、png等格式,图片需小于500KB" :limit="1" listType="picture-card" :accept="['.jpg','.jpeg','.png']"></bg-upload-image>
</el-form-item> </el-form-item>
</el-form> </el-form>
</template> </template>
...@@ -32,14 +32,14 @@ const route = useRoute() ...@@ -32,14 +32,14 @@ const route = useRoute()
const form = ref(null) const form = ref(null)
const state = reactive({ const state = reactive({
formData: { formData: {
type: "", business_type_id: "",
icon: [], logo: [],
}, },
formRules: { formRules: {
type: [ business_type_id: [
{ required: true, message: '请选择业务类型', trigger: 'change' }, { required: true, message: '请选择业务类型', trigger: 'change' },
], ],
icon: [ logo: [
{ required: true, message: '请上传图标', trigger: 'change' }, { required: true, message: '请上传图标', trigger: 'change' },
], ],
}, },
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
class="role_form" class="role_form"
> >
<el-form-item prop="role_name" label="角色名称"> <el-form-item prop="role_name" label="角色名称">
<el-input v-model="formData.role_name" maxlength="50" show-word-limit :disabled="rowType != 0" /> <el-input v-model.trim="formData.role_name" maxlength="50" show-word-limit :disabled="rowType != 0" />
</el-form-item> </el-form-item>
<el-form-item prop="role_desc" label="描述"> <el-form-item prop="role_desc" label="描述">
<el-input <el-input
...@@ -117,6 +117,7 @@ const roleState = reactive({ ...@@ -117,6 +117,7 @@ const roleState = reactive({
name: 'menu_name', name: 'menu_name',
value: 'id', value: 'id',
children: 'Child', children: 'Child',
remark: 'remark',
}, // 菜单框默认配置 }, // 菜单框默认配置
permissionData: [], // 菜单数据 permissionData: [], // 菜单数据
rowType: 0, rowType: 0,
......
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