|
@@ -5,16 +5,11 @@
|
|
|
<div :class="['item',typeVal==1?'active':'']" @click="handleTypeChange(1)">中文品种</div>
|
|
|
<div :class="['item',typeVal==2?'active':'']" @click="handleTypeChange(2)">英文品种</div>
|
|
|
</div>
|
|
|
- <!-- <el-button type="primary" v-permission="permissionBtn.enChartPermission.enChartPermission_save"
|
|
|
- @click="showEditBreed=true;getParentVarietyList()">添加品种</el-button>
|
|
|
- <el-input placeholder="品种名称" v-model="searchVal" style="max-width: 262px; float: right" @change="handleSearch" clearable>
|
|
|
- <i slot="prefix" class="el-input__icon el-icon-search"></i>
|
|
|
- </el-input> -->
|
|
|
</div>
|
|
|
<div class="main-wrap">
|
|
|
<div class="left-wrap">
|
|
|
<div class="add-btn-box">
|
|
|
- <el-button type="primary">添加品种</el-button>
|
|
|
+ <el-button type="primary" v-permission="permissionBtn.enChartPermission.enChartPermission_save" @click="handleAddVariety">添加品种</el-button>
|
|
|
</div>
|
|
|
<div class="first-variety-wrap">
|
|
|
<draggable
|
|
@@ -24,7 +19,12 @@
|
|
|
tag="ul"
|
|
|
handle=".icon-drag"
|
|
|
>
|
|
|
- <li class="item" v-for="item in tableData" :key="item.EnPermissionId">
|
|
|
+ <li
|
|
|
+ :class="['item',selectFirstId==item.EnPermissionId?'active':'']"
|
|
|
+ v-for="item in tableData"
|
|
|
+ :key="item.EnPermissionId"
|
|
|
+ @click="handleSelectFirstVariety(item)"
|
|
|
+ >
|
|
|
<div class="name">{{item.EnPermissionName}}</div>
|
|
|
<div class="menu-box">
|
|
|
<img class="icon-drag" src="~@/assets/img/data_m/move_ico2.png" alt="">
|
|
@@ -35,7 +35,6 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<draggable
|
|
|
- v-model="tableData"
|
|
|
class="list-wrap"
|
|
|
animation="300"
|
|
|
tag="ul"
|
|
@@ -45,78 +44,49 @@
|
|
|
@update="dragenter"
|
|
|
@end="menuDragOver"
|
|
|
>
|
|
|
- <li class="item add-btn">
|
|
|
+ <li class="item add-btn" v-if="selectFirstId">
|
|
|
<img class="icon" src="~@/assets/img/icons/variety_add.png" alt="">
|
|
|
</li>
|
|
|
- <li class="item" v-for="item in tableData" :key="item.EnPermissionId">
|
|
|
+ <li class="item" v-for="item in secondVarietyList" :key="item.EnPermissionId">
|
|
|
<div class="top-icons">
|
|
|
<img class="icon-drag" src="~@/assets/img/data_m/move_ico2.png" alt="">
|
|
|
- <img class="icon-set" src="~@/assets/img/icons/variety_set.png" alt="" @click="handleShowEdit(item)">
|
|
|
+ <el-switch
|
|
|
+ :value="true"
|
|
|
+ active-color="#0052D9">
|
|
|
+ </el-switch>
|
|
|
</div>
|
|
|
<div class="name-box">
|
|
|
- <div class="name">{{item.EnPermissionName}}</div>
|
|
|
- <img class="icon-edit" src="~@/assets/img/icons/variety_name_edit.png" alt="">
|
|
|
+ <el-input
|
|
|
+ ref="editVal"
|
|
|
+ size='mini'
|
|
|
+ style="width: 90px"
|
|
|
+ placeholder="请输入值"
|
|
|
+ class="label-input"
|
|
|
+ v-model="new_label"
|
|
|
+ v-if="item.isEdit"
|
|
|
+ @blur="changeValue(item)"
|
|
|
+ />
|
|
|
+ <template v-else>
|
|
|
+ <div class="name" >{{item.EnPermissionName}}</div>
|
|
|
+ <img @click="editNodeLabel(item)" class="icon-edit" src="~@/assets/img/icons/variety_name_edit.png" alt="">
|
|
|
+ </template>
|
|
|
</div>
|
|
|
- <div class="tag-box">
|
|
|
- <span class="tag self">私有</span>
|
|
|
- <span class="tag open">启用</span>
|
|
|
+ <div class="tag-box open" v-if="true">
|
|
|
+ <span class="tag">公有</span>
|
|
|
+ <img class="icon" src="~@/assets/img/icons/changeLang01.png" alt="">
|
|
|
+ </div>
|
|
|
+ <div class="tag-box close" v-else>
|
|
|
+ <span class="tag">私有</span>
|
|
|
+ <img class="icon" src="~@/assets/img/icons/edit_icon01.png" alt="">
|
|
|
</div>
|
|
|
</li>
|
|
|
</draggable>
|
|
|
- <!-- <el-table
|
|
|
- style="border:1px solid #eaeaea;"
|
|
|
- :data="tableData"
|
|
|
- v-loading="listLoading"
|
|
|
- element-loading-text="数据加载中..."
|
|
|
- row-key="EnPermissionId"
|
|
|
- :tree-props="{children:'Child',hasChildren:'hasChildren'}"
|
|
|
- >
|
|
|
- <el-table-column prop="EnPermissionName" label="一级品种">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{scope.row.ParentId==0?scope.row.EnPermissionName:''}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="EnPermissionName" label="二级品种">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{scope.row.ParentId!=0?scope.row.EnPermissionName:''}}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" align="center">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span class="editsty" v-permission="permissionBtn.enChartPermission.enChartPermission_save"
|
|
|
- style="margin-right:20px;display:inline-block" @click="handleEditBreedItem(scope.row)">编辑</span>
|
|
|
- <span v-permission="permissionBtn.enChartPermission.enChartPermission_del"
|
|
|
- class="deletesty" @click="handleDelBreedItem(scope.row)">删除</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table> -->
|
|
|
</div>
|
|
|
|
|
|
<!-- 品种编辑弹窗 -->
|
|
|
- <el-drawer
|
|
|
- :visible.sync="showEdit"
|
|
|
- direction="rtl"
|
|
|
- :modal-append-to-body="false"
|
|
|
- :with-header="false"
|
|
|
- title="品种设置"
|
|
|
- >
|
|
|
- <div class="edit-variety-wrap">
|
|
|
- <div class="header-box ">
|
|
|
- <div class="title">品种设置</div>
|
|
|
- <img @click="showEdit=false" style="cursor: pointer;" src="~@/assets/img/icons/close_icon_black.png" alt="">
|
|
|
- </div>
|
|
|
- <div class="content-box">
|
|
|
- <el-button type="primary">添加品种分类</el-button>
|
|
|
- </div>
|
|
|
- <div style="text-align: center;padding:40px 0">
|
|
|
- <el-button style="width:120px" type="primary" plain @click="showEdit=false">取消</el-button>
|
|
|
- <el-button style="width:120px" type="primary" @click="handleConfirmEidtBreed">确定</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </el-drawer>
|
|
|
- <!-- <el-dialog
|
|
|
+ <el-dialog
|
|
|
:modal-append-to-body='false'
|
|
|
- :title="!editBreedData.id?'添加品种':'编辑品种'"
|
|
|
+ :title="!editBreedData.id?'添加品种':'品种设置'"
|
|
|
:visible.sync="showEditBreed"
|
|
|
:close-on-click-modal="false"
|
|
|
:center="true"
|
|
@@ -128,18 +98,11 @@
|
|
|
<el-form-item label="品种名称">
|
|
|
<el-input placeholder="请输入品种名称" v-model="editBreedData.name" style="width:400px"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="上级品种">
|
|
|
- <el-select v-model="editBreedData.parentId" placeholder="请选择" style="width:400px">
|
|
|
- <el-option
|
|
|
- v-for="item in parentVarietyOpts"
|
|
|
- :key="item.EnPermissionId"
|
|
|
- :label="item.EnPermissionName"
|
|
|
- :value="item.EnPermissionId">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="后台排序">
|
|
|
- <el-input placeholder="后台排序" min="0" v-model="editBreedData.sort" type="number" style="width:400px"></el-input>
|
|
|
+ <el-form-item label="启用状态">
|
|
|
+ <el-switch
|
|
|
+ v-model="editBreedData.status"
|
|
|
+ active-color="#0052D9">
|
|
|
+ </el-switch>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div style="text-align: center;margin-top:40px">
|
|
@@ -147,7 +110,7 @@
|
|
|
<el-button type="primary" @click="handleConfirmEidtBreed">确定</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </el-dialog> -->
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -172,25 +135,25 @@ export default {
|
|
|
return {
|
|
|
typeVal:1,//1中文品种 2英文品种
|
|
|
|
|
|
- searchVal:'',
|
|
|
tableData:[],
|
|
|
listLoading:false,
|
|
|
|
|
|
- showEdit:false,
|
|
|
+ selectFirstId:0,//当前选中的一级品种Id
|
|
|
+ secondVarietyList:[],//当前选中的一级品种下的二级品种数据
|
|
|
+
|
|
|
+ new_label:'',//当前编辑二级品种的名称值
|
|
|
|
|
|
- parentVarietyOpts:[],
|
|
|
showEditBreed:false,
|
|
|
editBreedData:{
|
|
|
id:0,
|
|
|
name:'',
|
|
|
- sort:0,
|
|
|
- parentId:0,
|
|
|
+ status:true,//启用状态
|
|
|
+
|
|
|
},
|
|
|
}
|
|
|
},
|
|
|
created(){
|
|
|
this.getList()
|
|
|
- this.getParentVarietyList()
|
|
|
},
|
|
|
methods: {
|
|
|
async getList(){
|
|
@@ -199,39 +162,57 @@ export default {
|
|
|
this.listLoading=false
|
|
|
if(res.Ret===200){
|
|
|
this.tableData=res.Data||[]
|
|
|
+ if(this.tableData.length>0){
|
|
|
+ this.handleSelectFirstVariety(this.tableData[0])
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
|
|
|
- getParentVarietyList(isEidtLevelOne){
|
|
|
- reportVarietyENInterence.parentVarietyList({}).then(res=>{
|
|
|
- if(res.Ret===200){
|
|
|
- const arr=res.Data||[]
|
|
|
- if(isEidtLevelOne){
|
|
|
- this.parentVarietyOpts=[
|
|
|
- {
|
|
|
- EnPermissionName:'无',
|
|
|
- EnPermissionId:0,
|
|
|
- }
|
|
|
- ]
|
|
|
- }else{
|
|
|
- this.parentVarietyOpts=[
|
|
|
- {
|
|
|
- EnPermissionName:'无',
|
|
|
- EnPermissionId:0,
|
|
|
- },
|
|
|
- ...arr
|
|
|
- ]
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
+ // 点击一级分类
|
|
|
+ handleSelectFirstVariety(item){
|
|
|
+ this.selectFirstId=item.EnPermissionId
|
|
|
+ this.secondVarietyList=item.Child||[]
|
|
|
+ },
|
|
|
+
|
|
|
+ //点击编辑二级品种名称
|
|
|
+ editNodeLabel(item){
|
|
|
+ this.$set(item,'isEdit',true)
|
|
|
+ this.new_label = item.EnPermissionName;
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.editVal[0].focus();
|
|
|
+ });
|
|
|
+ },
|
|
|
+ changeValue(item){
|
|
|
+ if(this.new_label) {
|
|
|
+ this.$set(item,'isEdit',false)
|
|
|
+ // this.new_label !== data.ClassifyName && dataBaseInterface.nodeEdit({
|
|
|
+ // ClassifyId: data.ClassifyId,
|
|
|
+ // ClassifyName: this.new_label
|
|
|
+ // }).then(res => {
|
|
|
+ // if(res.Ret === 200) {
|
|
|
+ // this.getTreeData();
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ }else {
|
|
|
+ this.$message.warning('名称不能为空')
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
- handleSearch(){
|
|
|
- this.getList()
|
|
|
+ handleAddVariety(){
|
|
|
+ this.showEditBreed=true
|
|
|
+ this.editBreedData={
|
|
|
+ id:0,
|
|
|
+ name:'',
|
|
|
+ status:true,//启用状态
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
handleShowEdit(item){
|
|
|
- this.showEdit=true
|
|
|
+ this.showEditBreed=true
|
|
|
+ this.editBreedData={
|
|
|
+ id:item.EnPermissionId,
|
|
|
+ name:item.EnPermissionName
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
onMove(e){
|
|
@@ -349,7 +330,10 @@ export default {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
|
- padding: 10px 20px;
|
|
|
+ padding: 10px 20px 10px 10px;
|
|
|
+ &.active{
|
|
|
+ background-color: #ECF2FE;
|
|
|
+ }
|
|
|
.menu-box{
|
|
|
display: flex;
|
|
|
gap: 0 10px;
|
|
@@ -382,7 +366,7 @@ export default {
|
|
|
.top-icons{
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
- .icon-drag,.icon-set{
|
|
|
+ .icon-drag{
|
|
|
width: 16px;
|
|
|
height: 16px;
|
|
|
}
|
|
@@ -401,27 +385,23 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
.tag-box{
|
|
|
+ width: 100%;
|
|
|
+ height: 30px;
|
|
|
display: flex;
|
|
|
- justify-content: space-between;
|
|
|
- flex-wrap: wrap;
|
|
|
- .tag{
|
|
|
- display: inline-block;
|
|
|
- line-height: 30px;
|
|
|
- text-align: center;
|
|
|
- width: 76px;
|
|
|
- border-radius: 2px;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ .icon{
|
|
|
+ width: 16px;
|
|
|
+ height: 16px;
|
|
|
+ margin-left: 10px;
|
|
|
}
|
|
|
- .self{
|
|
|
+ &.open{
|
|
|
color: #0052D9;
|
|
|
background-color: #ECF2FE;
|
|
|
}
|
|
|
- .open{
|
|
|
- color: #2BA471;
|
|
|
- background-color: #E3F9E9;
|
|
|
- }
|
|
|
- .close{
|
|
|
- color: #D54941;
|
|
|
- background-color: #FFF0ED;
|
|
|
+ &.close{
|
|
|
+ color: #fff;
|
|
|
+ background-color: #0052D9;
|
|
|
}
|
|
|
}
|
|
|
}
|