实现表格选择器已选择的禁用;完善部分底层文件细节;

This commit is contained in:
2022-07-09 11:52:17 +08:00
parent 29ec988cdf
commit b6591ebaf5
4 changed files with 37 additions and 8 deletions

View File

@@ -55,4 +55,5 @@
"@php think vendor:publish"
]
}
}

View File

@@ -367,6 +367,37 @@ define(["jquery", "tableSelect", "ckeditor", 'miniTheme', 'tableData'], function
options.cols = admin.table.renderTrueHide(options.cols, options.elem);
var parseData = function (res) { return res }
if (typeof options.parseData === 'function') {
parseData = options.parseData;
}
options.parseData = function (res) {
// 初始化已经选择的值
if (selectMode == 'checkbox' || selectMode == 'radio') {
var selectedIds = admin.getQueryVariable('selectedIds', '');
if (selectedIds.length > 0) {
var selectedIdArr = selectedIds.split(',');
console.log(selectedIdArr);
for (let index = 0; index < res.data.length; index++) {
const dataItem = res.data[index];
console.log(dataItem);
if (selectedIdArr.indexOf(dataItem.id.toString()) > -1) {
res.data[index].LAY_DISABLED = true;
}
}
}
}
res = parseData(res)
return res;
}
// 初始化表格

View File

@@ -55,7 +55,7 @@ define(["jquery"], function ($) {
compileMenu: function(menu,isSub){
var menuHtml = '<li {{#if( d.menu){ }} data-menu="{{-d.menu}}" {{#}}} class="layui-nav-item menu-li {{-d.childOpenClass}} {{-d.className}}" {{#if( d.id){ }} id="{{-d.id}}" {{#}}}> <a {{#if( d.href){ }} layuimini-href="{{-d.href}}" {{#}}} {{#if( d.target){ }} target="{{-d.target}}" {{#}}} href="javascript:;">{{#if( d.icon){ }} <i class="{{-d.icon}}"></i> {{#}}} <span class="layui-left-nav">{{-d.title}}</span></a> {{# if(d.children){}} {{-d.children}} {{#}}} </li>' ;
if(isSub){
menuHtml = '<dd class="menu-dd {{-d.childOpenClass}} {{ d.className }}"> <a href="javascript:;" {{#if( d.menu){ }} data-menu="{{-d.menu}}" {{#}}} {{#if( d.id){ }} id="{{-d.id}}" {{#}}} {{#if(( !d.child || !d.child.length ) && d.href){ }} layuimini-href="{{-d.href}}" {{#}}} {{#if( d.target){ }} target="{{-d.target}}" {{#}}}> {{#if( d.icon){ }} <i class="{{-d.icon}}"></i> {{#}}} <span class="layui-left-nav"> {{-d.title}}</span></a> {{# if(d.children){}} {{-d.children}} {{#}}}</dd>'
menuHtml = '<dd class="menu-dd {{-d.childOpenClass}} {{- d.className }}"> <a href="javascript:;" {{#if( d.menu){ }} data-menu="{{-d.menu}}" {{#}}} {{#if( d.id){ }} id="{{-d.id}}" {{#}}} {{#if(( !d.child || !d.child.length ) && d.href){ }} layuimini-href="{{-d.href}}" {{#}}} {{#if( d.target){ }} target="{{-d.target}}" {{#}}}> {{#if( d.icon){ }} <i class="{{-d.icon}}"></i> {{#}}} <span class="layui-left-nav"> {{-d.title}}</span></a> {{# if(d.children){}} {{-d.children}} {{#}}}</dd>'
}
return laytpl(menuHtml).render(menu);
},

View File

@@ -45,7 +45,7 @@ define(['jquery', 'vue'], function ($, Vue) {
}
var options = $.extend(defaultOption, data);
console.log(options);
var valueField = options.valueField;
@@ -68,12 +68,9 @@ define(['jquery', 'vue'], function ($, Vue) {
},
watch: {
listSelected(value) {
console.log(value);
var valueList = value.map(itemValue => itemValue[valueField])
this.value = valueList.join(',')
}
},
@@ -97,19 +94,19 @@ define(['jquery', 'vue'], function ($, Vue) {
methods: {
openSelectPage() {
var selectedIds = this.listSelected.map(item => item.id);
var index = layer.open({
title: '选择数据',
type: 2,
area: [options.width, options.height],
content: options.index,
content: options.index+'&selectedIds='+selectedIds.join(','),
maxmin: true,
moveOut: true,
shadeClose: true,
success: (layero, index) => {
window[options.selectConfirmCallback] = (data) => {
console.log(data);
data.forEach(dataItem => {
var itemFind = this.listSelected.find(itemSelect => itemSelect[valueField] == dataItem[valueField])