| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110 |
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <script>window.loginStatus = "1"</script>
- <LINK href="/skin/easy/main.css" rel="stylesheet" type="text/css">
- <script type="text/javascript" src="/ss/jquery/jquery.js"></script>
- <script type="text/javascript" src="/ss/artdialog/artDialogUtil.js"></script>
- <script type="text/javascript" src="/ss/js/base.js"></script>
- <script> if (!window.wd) var wd = {}; if (!wd.display) wd.display = {}; wd.display.wdDialogId = "objList"; if (!wd.app) wd.app = {}; wd.app.name = 'pms';</script>
- <script type="text/javascript" src="/ss/js/masklayer.js"></script>
- <script type="text/javascript" src="/ss/js/wdDialogInit.js"></script>
- <script type="text/javascript" src="/ss/js/common.js"></script>
- <script type="text/javascript" src="/ss/js/display.js"></script>
- <script type="text/javascript" src="/ss/js/edit.js"></script>
- <script type="text/javascript" src="/ss/nicescroll/jquery.nicescroll.js"></script>
- <script type="text/javascript" src="/ss/nicescroll/jquery.nicescroll.iframehelper.min.js"></script>
- <link rel="stylesheet" type="text/css" href="/ss/window/theme/dhtmlxwindows.css">
- <link rel="stylesheet" type="text/css" href="/ss/window/theme/dhx_blue/dhtmlxwindows_dhx_blue.css">
- <script type="text/javascript" src="/ss/window/dhtmlxcommon.js"></script>
- <script type="text/javascript" src="/ss/window/dhtmlxwindows.js"></script>
- <script type="text/javascript" src="/ss/window/dhtmlxcontainer.js"></script>
- <script type="text/javascript" src="/ss/js/common.js"></script>
- <script type="text/javascript" src="/ss/js/display.js"></script>
- <script type="text/javascript" src="/ss/js/edit.js"></script>
- <ssDlg setPval="true" />
- <script type="text/javascript" src="/ss/jquery/jquery.ellipsis.js"></script>
- <script src="/js/load.js"></script>
- <script src="/js/pageC.js"></script>
- <script>
- window.ss.dom.formElemConfig = window.ss.dom.formElemConfig || {};
- </script>
- </head>
- <body>
- <div id="app">
- <form class="page-container" id="myForm"
- action="/service?ssToken=d66b3011932e436f841ea8cacc05209f&P_A=ry_cx_objList_notInrylbm11005100sfyzry1dataTypechangeisReady1"
- method="post">
- <input type="hidden" name="isAnd" value='' />
- <input name="management" type="hidden" value="99" />
- <input name="isFulltext" type="hidden" value="" />
- <!-- 主布局容器:左侧内容 + 右侧占位 by xu 20260105 -->
- <div style="display: flex; height: calc(100vh);">
- <!-- 左侧导航栏占位 by xu 20260105 -->
- <div style="width: 60px; height: 100%; background: #ffffff; border-right: 1px solid #dddfe6; display: flex; flex-direction: column;">
- <!-- 菜单项1 -->
- <div style="width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; cursor: pointer; border-bottom: 1px solid #dddfe6;">
- <div style="width: 24px; height: 24px; background: #4A90E2; border-radius: 4px;"></div>
- </div>
- <!-- 菜单项2 -->
- <div style="width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; cursor: pointer; border-bottom: 1px solid #dddfe6;">
- <div style="width: 24px; height: 24px; background: #E74C3C; border-radius: 4px;"></div>
- </div>
- <!-- 菜单项3 -->
- <div style="width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; cursor: pointer; border-bottom: 1px solid #dddfe6;">
- <div style="width: 24px; height: 24px; background: #2ECC71; border-radius: 4px;"></div>
- </div>
- <!-- 菜单项4 -->
- <div style="width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; cursor: pointer; border-bottom: 1px solid #dddfe6;">
- <div style="width: 24px; height: 24px; background: #F39C12; border-radius: 4px;"></div>
- </div>
- <!-- 菜单项5 -->
- <div style="width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; cursor: pointer; border-bottom: 1px solid #dddfe6;">
- <div style="width: 24px; height: 24px; background: #9B59B6; border-radius: 4px;"></div>
- </div>
- </div>
- <!-- 左侧:搜索条件 + 卡片列表 -->
- <div style="flex: 1; display: flex; flex-direction: column; overflow: hidden;">
- <div class="search-bar">
- <ss-breadcrumb></ss-breadcrumb>
- <div class="search-bar-contaienr">
- <!-- <ss-objp
- v-model="rylbm"
- name="rylbm"
- :options="rylbmOption"
- placeholder="人员类别"
- width="120"
- input="true"
- ></ss-objp> -->
- <ss-objp v-model="rylbm" name="rylbm" :opt="rylbmOption" placeholder="人员类别" width="150px" inp="true"
- url="/service?ssServ=loadObjpOpt&objectpickerdropdown1=1" cb="rylb"></ss-objp>
- <script>
- /**
- * objectPicker(如:性别码)
- * optUrl:加载下拉菜单option选项的url
- */
- window.ss.dom.formElemConfig.rylbm = { desc: '人员类别', value: '', optUrl: '123456', type: 2 };//放当前页面表单元素配置的变量
- </script>
- <!-- <ss-objp
- v-model="bmid"
- name="bmid"
- :options="bmidOption"
- placeholder="部门"
- width="120"
- input="true"
- ></ss-objp> -->
- <ss-objp v-model="bmid" name="bmid" :opt="bmidOption" placeholder="部门" width="150px" inp="true"
- url="/service?ssServ=loadObjpOpt&objectpickerdropdown1=1" cb="bm"></ss-objp>
- <script>
- /**
- * objectPicker(如:性别码)
- * optUrl:加载下拉菜单option选项的url
- */
- window.ss.dom.formElemConfig.bmid = { desc: '部门', value: '', optUrl: '123456', type: 2 };//放当前页面表单元素配置的变量
- </script>
- <!-- <ss-search-input
- name="ssKeyword"
- placeholder="关键词"
- v-model="form.keyword"
- width="120"
- >
- </ss-search-input> -->
- <ss-search-input name="ssKeyword" placeholder="关键词" v-model="ssKeyword" width="100px"
- @search="search">
- </ss-search-input>
- <script>
- //关键词
- window.ss.dom.formElemConfig.ssKeyword = { value: '', name: "ssKeyword", desc: "关键词", type: 31 };//放当前页面表单元素配置的变量
- </script>
- <ss-search-button text="所有" icon-class="nav-icon-search" :opt="searchButtonConfig"
- :check-id="searchButtonConfigCheckId"></ss-search-button>
- <!-- 状态筛选按钮 by xu 20260105 -->
- <ss-search-button text="状态" icon-class="nav-icon-search" :opt="statusFilterConfig"
- :check-id="statusFilterCheckId"></ss-search-button>
- <!-- <ss-search-button text="搜索" @click="console.log('这里改成提交表单')">
- </ss-search-button> -->
- <script>
- window.ss.dom.btnElemConfig = window.ss.dom.btnElemConfig || {};
- </script>
- <!-- <ss-search-button
- text="增加"
- icon-class="nav-icon-add"
- ></ss-search-button> -->
- <script>
- function admin_addhandleClick() {
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "/service?ssToken=b59e43bcf08b490c80a473de3b24c941&P_A=ry_lr_zj_objInp_notInrylbm11005100sfyzry1",
- title: "增加人员",
- width: "1100",
- height: "530",
- minHeight: "54",
- maxHeight: "853",
- showTitle: "false"
- });
- }
- window.ss.dom.btnElemConfig.admin_add = {
- desc: "增加",
- id: "admin_add",
- dropOptions: [],
- onclick: () => {
- wd.display.showComponent({ show: ["wdDialog"], url: "/service?ssToken=f5c366661b004dfbb69ea6ed72fa8eb3&P_A=ry_lr_zj_objInp_notInrylbm11005100sfyzry1", title: "增加人员", width: "1100", height: "530", minHeight: "54", maxHeight: "853", showTitle: "false" });
- }
- };
- </script>
- <ss-search-button text="增加" icon-class="nav-icon-add" :opt="[]" :check-id="0"
- onclick="admin_addhandleClick()"></ss-search-button>
- </div>
- </div>
- <div style="clear: both;"></div>
- <script type="text/javascript" src="/ss/js/myEcharts.js"></script>
- <script type="text/javascript" src="/ss/env/env_search.js"></script>
- <script>
- window.ss.dom.listConfig = window.ss.dom.listConfig || {};
- //二级对象 草稿箱
- window.ss.dom.listConfig.draftbox = [];
- //在用或停用的对象列表
- window.ss.dom.listConfig.list = [];
- // 添加缩略图类型卡片示例 by xu 20260105
- // {
- // let item = {};
- // window.ss.dom.listConfig.list.push(item);
- // item.titlexxx = "查看文档(缩略图示例)";
- // item.onclick = function () {
- // console.log('点击了缩略图卡片');
- // }
- // item.title = "缩略图卡片示例";
- // // 设置为缩略图类型
- // item.thumbType = 'photo';
- // item.thumb = "https://via.placeholder.com/180x100/4A90E2/ffffff?text=photo";
- // item.tags = [];
- // item.tags.push({ 类型: '缩略图' });
- // item.tags.push({ 尺寸: '180×100px' });
- // item.tags.push({ 状态: '测试' });
- // item.status = "available";
- // // 添加状态图标示例 by xu 20260105
- // item.statusIcons = [];
- // item.statusIcons.push({
- // class: 'icon-emoji', // 示例图标
- // title: '清洁中'
- // });
- // item.buttons = [];
- // item.buttons.push({
- // id: "no-Buttonphoto",
- // titlexxx: "编辑文档",
- // class: "cart-list-setting",
- // title: "编辑",
- // onclick: () => {
- // console.log('点击了编辑按钮');
- // }
- // });
- // }
- // // 添加证件照类型卡片示例 by xu 20260105
- // {
- // let item = {};
- // window.ss.dom.listConfig.list.push(item);
- // item.titlexxx = "查看人员(证件照示例)";
- // item.onclick = function () {
- // console.log('点击了证件照卡片');
- // }
- // item.status = "disabled";
- // item.title = "证件照卡片示例";
- // // 设置为证件照类型(或不设置,默认就是证件照)
- // item.thumbType = 'photo';
- // item.thumb = "https://via.placeholder.com/73x100/E74C3C/ffffff?text=Photo";
- // item.desc = "摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要摘要"
- // item.objNum = '123456'
- // item.category = [];
- // item.category.push({类目:"这是类目"})
- // item.tags = [];
- // item.tags.push({ 类型: '证件照' });
- // item.tags.push({ 尺寸: '73×100px' });
- // item.tags.push({ 状态: '测试' });
- // item.tags.push({ 测试: '测试' });
- // item.buttons = [];
- // item.buttons.push({
- // id: "no-ButtonPhoto",
- // titlexxx: "变动人员",
- // class: "cart-list-setting",
- // title: "变动",
- // onclick: () => {
- // console.log('点击了变动按钮');
- // }
- // });
- // }
- // // 无图占位(证件照)测试:thumbType 有,但 thumb 为空时显示 biz icon by xu 20260109
- // {
- // let item = {};
- // window.ss.dom.listConfig.list.push(item);
- // item.titlexxx = "查看人员(无图占位-photo)";
- // item.onclick = function () { console.log('点击了无图占位-photo'); }
- // item.status = "available";
- // item.title = "无图占位(证件照)";
- // item.thumbType = 'photo';
- // item.thumb = ""; // 故意置空 by xu 20260109
- // item.tags = [];
- // item.tags.push({ 部门: '小学部' });
- // item.objNum = "RY-PLACEHOLDER-PHOTO";
- // item.buttons = [];
- // }
- // // 无图占位(缩略图)测试:thumbType 有,但 thumb 为空时显示 biz icon by xu 20260109
- // {
- // let item = {};
- // window.ss.dom.listConfig.list.push(item);
- // item.titlexxx = "查看人员(无图占位-photo)";
- // item.onclick = function () { console.log('点击了无图占位-photo'); }
- // item.status = "available";
- // item.title = "无图占位(缩略图)";
- // item.thumbType = 'photo';
- // item.thumb = ""; // 故意置空 by xu 20260109
- // item.tags = [];
- // item.tags.push({ 部门: '小学部' });
- // item.objNum = "RY-PLACEHOLDER-THUMB";
- // item.buttons = [];
- // }
- // // 右侧文字区回显:标签省略 + hover 展开测试 by xu 20260108
- // {
- // let item = {};
- // window.ss.dom.listConfig.list.push(item);
- // item.titlexxx = "查看人员(tags ellipsis)";
- // item.onclick = function () { console.log('点击了 tags ellipsis 卡片'); }
- // item.status = "available";
- // item.title = "标签省略测试";
- // item.thumbType = 'photo';
- // item.thumb = "https://via.placeholder.com/73x100/3498DB/ffffff?text=T";
- // item.tags = [];
- // item.tags.push({ 部门: '小学部' });
- // item.tags.push({ 职位: '班主任' });
- // item.tags.push({ 级别: '高级' });
- // item.tags.push({ 状态: '在岗' });
- // item.tags.push({ 备注: '这个备注很长很长很长很长很长,用于触发省略' });
- // item.buttons = [];
- // }
- // // 右侧文字区回显:对象号省略 + hover 展开测试 by xu 20260108
- // {
- // let item = {};
- // window.ss.dom.listConfig.list.push(item);
- // item.titlexxx = "查看人员(objNum ellipsis)";
- // item.onclick = function () { console.log('点击了 objNum ellipsis 卡片'); }
- // item.status = "unavailable";
- // item.title = "对象号省略测试";
- // item.thumbType = 'photo';
- // item.thumb = "https://via.placeholder.com/180x100/2ECC71/ffffff?text=OBJ";
- // item.objNum = "OBJ-2026-01-08-000000000000000000000000000000000000000000";
- // item.tags = [];
- // item.tags.push({ 类型: '缩略图' });
- // item.tags.push({ 尺寸: '180×100px' });
- // item.buttons = [];
- // }
- // // 右侧文字区回显:对象号省略(带摘要/标签组合) by xu 20260108
- // {
- // let item = {};
- // window.ss.dom.listConfig.list.push(item);
- // item.titlexxx = "查看人员(objNum+summary+tags)";
- // item.onclick = function () { console.log('点击了 objNum+summary+tags 卡片'); }
- // item.status = "available";
- // item.title = "对象号+摘要+标签";
- // item.thumbType = 'photo';
- // item.thumb = "https://via.placeholder.com/73x100/9B59B6/ffffff?text=S";
- // item.desc = "这是一个短摘要(应只占一行,标签补位),但也可能在窄宽时出现省略";
- // item.objNum = "RY-OBJ-2026-01-08-000000000000000000000000000000000000000000";
- // item.tags = [];
- // item.tags.push({ 部门: '小学部' });
- // item.tags.push({ 职位: '教师' });
- // item.tags.push({ 备注: '标签末行平铺很长很长很长,触发省略' });
- // item.buttons = [];
- // }
- // // 右侧文字区回显:类目省略 + hover 展开测试(类目与标签不会同时存在) by xu 20260108
- // {
- // let item = {};
- // window.ss.dom.listConfig.list.push(item);
- // item.titlexxx = "查看人员(category ellipsis)";
- // item.onclick = function () { console.log('点击了 category ellipsis 卡片'); }
- // item.status = "disabled";
- // item.title = "类目省略测试";
- // item.thumbType = 'photo';
- // item.desc = "这是一个短摘要(应只占一行,标签补位),但也可能在窄宽时出现省略";
- // item.thumb = "https://via.placeholder.com/73x100/E67E22/ffffff?text=C";
- // item.category = [];
- // item.category.push({ 类目: '类目名称很长很长很长很长很长很长很长,用于触发省略' });
- // item.category.push({ 归属: 'A-区-一层-东侧-走廊尽头-最里面' });
- // item.category.push({ 备注: '第二关键属性也很长很长很长,用于触发省略' });
- // // item.objNum = "CAT-0000000000000000000000000000000000000000";
- // item.buttons = [];
- // }
- // // 右侧文字区回显组合用例:摘要(desc) + 标签(tags) + 对象号(objNum) by xu 20260108
- // {
- // let item = {};
- // window.ss.dom.listConfig.list.push(item);
- // item.titlexxx = "[摘要+标签+对象号] desc+tags+objNum";
- // item.onclick = function () { console.log('点击 [摘要+标签+对象号]'); }
- // item.status = "available";
- // item.title = "摘要+标签+对象号(摘要较长触发)这是一个很长很长很长的标题用于测试标题单行省略";
- // item.thumbType = 'photo';
- // item.thumb = "https://via.placeholder.com/180x100/1ABC9C/ffffff?text=STO";
- // item.desc = "这是一个很长很长的摘要,用于触发两行省略这是一个很长很长的摘要,用于触发两行省略这是一个很长很长的摘要,用于触发两行省略";
- // item.objNum = "RY-OBJ-2026-01-08-000000000000000000000000000000000000000000";
- // item.tags = [];
- // item.tags.push({ 部门: '小学部' });
- // item.tags.push({ 职位: '班主任' });
- // item.tags.push({ 状态: '在岗' });
- // item.tags.push({ 备注: '最后一行平铺会很长很长很长,用于触发' });
- // item.buttons = [];
- // }
- // // 右侧文字区回显组合用例:摘要(desc) + 类目(category) + 对象号(objNum) by xu 20260108
- // {
- // let item = {};
- // window.ss.dom.listConfig.list.push(item);
- // item.titlexxx = "[摘要+类目+对象号] desc+category+objNum";
- // item.onclick = function () { console.log('点击 [摘要+类目+对象号]'); }
- // item.status = "unavailable";
- // item.title = "摘要+类目+对象号(类目末行触发)";
- // item.thumbType = 'photo';
- // item.thumb = "https://via.placeholder.com/73x100/16A085/ffffff?text=SCO";
- // item.desc = "摘要中等长度,可能只占一行。";
- // item.category = [];
- // item.category.push({ 类目: '类目1-名称较长较长较长较长较长较长触发省略' });
- // item.category.push({ 归属: '归属2-也很长很长很长很长触发省略' });
- // item.category.push({ 备注: '备注3-最后一行平铺剩余,触发' });
- // item.objNum = "SCO-0000000000000000000000000000000000000000000";
- // item.buttons = [];
- // }
- // // 新规则:摘要(desc) + 类目(category)(无对象号) by xu 20260108
- // {
- // let item = {};
- // window.ss.dom.listConfig.list.push(item);
- // item.titlexxx = "[摘要+类目] desc+category";
- // item.onclick = function () { console.log('点击 [摘要+类目]'); }
- // item.status = "available";
- // item.title = "摘要+类目(新规则:有摘要则只显示摘要,类目不会显示)";
- // item.thumbType = 'photo';
- // item.thumb = "https://via.placeholder.com/73x100/27AE60/ffffff?text=SC";
- // item.desc = "这是一个摘要(会占第二部分最多3行)。类目即使存在也不会显示在右侧区域。";
- // item.category = [];
- // item.category.push({ 类目: '类目内容存在但应被对象号/摘要优先级覆盖(此处无对象号,但仍被摘要覆盖)' });
- // item.category.push({ 归属: '归属信息也存在,但默认态不显示' });
- // item.buttons = [];
- // }
- // // 右侧文字区回显组合用例:摘要(desc) + 标签(tags)(无对象号) by xu 20260108
- // {
- // let item = {};
- // window.ss.dom.listConfig.list.push(item);
- // item.titlexxx = "[摘要+标签] desc+tags";
- // item.onclick = function () { console.log('点击 [摘要+标签]'); }
- // item.status = "disabled";
- // item.title = "摘要+标签(无对象号)";
- // item.thumbType = 'photo';
- // item.thumb = "https://via.placeholder.com/73x100/2980B9/ffffff?text=ST";
- // item.desc = "摘要很短(1行),标签应该补位占更多行。";
- // item.tags = [];
- // item.tags.push({ 部门: '初中部' });
- // item.tags.push({ 职位: '教师' });
- // item.tags.push({ 状态: '离岗' });
- // item.tags.push({ 备注: '最后一行平铺很长很长很长,用于触发' });
- // item.buttons = [];
- // }
- // // 右侧文字区回显组合用例:标签(tags) + 对象号(objNum)(无摘要) by xu 20260108
- // {
- // let item = {};
- // window.ss.dom.listConfig.list.push(item);
- // item.titlexxx = "[标签+对象号] tags+objNum";
- // item.onclick = function () { console.log('点击 [标签+对象号]'); }
- // item.status = "available";
- // item.title = "标签+对象号(无摘要)";
- // item.thumbType = 'photo';
- // item.thumb = "https://via.placeholder.com/180x100/C0392B/ffffff?text=TO";
- // item.objNum = "TO-2026-01-08-0000000000000000000000000000000000000000";
- // item.tags = [];
- // item.tags.push({ A: '1111111111111111111111111111很长触发省略' });
- // item.tags.push({ B: '2222222222222222222222222222很长触发省略' });
- // item.tags.push({ C: '3333333333333333333333333333很长触发省略' });
- // item.tags.push({ D: '4444444444444444444444444444很长触发省略' });
- // item.buttons = [];
- // }
- // // 右侧文字区回显组合用例:仅标签(tags only) by xu 20260108
- // {
- // let item = {};
- // window.ss.dom.listConfig.list.push(item);
- // item.titlexxx = "[仅标签] tags only";
- // item.onclick = function () { console.log('点击 [仅标签]'); }
- // item.status = "unavailable";
- // item.title = "仅标签(标签独占4行)";
- // item.thumbType = 'photo';
- // item.thumb = "https://via.placeholder.com/73x100/8E44AD/ffffff?text=T";
- // item.tags = [];
- // item.tags.push({ A: 'alpha-alpha-alpha-alpha-alpha' });
- // item.tags.push({ B: 'beta-beta-beta-beta-beta-beta-beta' });
- // item.tags.push({ C: 'gamma-gamma-gamma-gamma-gamma-gamma-gamma' });
- // item.tags.push({ D: 'delta-delta-delta-delta-delta-delta-delta-delta' });
- // item.tags.push({ E: 'epsilon-epsilon-epsilon-epsilon-epsilon-epsilon-epsilon-epsilon' });
- // item.buttons = [];
- // }
- // // 新规则:第二部分为空(无摘要且无 tags)→ 第三部分占满 4 行 by xu 20260108
- // {
- // let item = {};
- // window.ss.dom.listConfig.list.push(item);
- // item.titlexxx = "[第二部分为空] objNum 占满4行";
- // item.onclick = function () { console.log('点击 [第二部分为空]'); }
- // item.status = "available";
- // item.title = "第二部分为空:对象号占满4行(超出)";
- // item.thumbType = 'photo';
- // item.thumb = "https://via.placeholder.com/73x100/34495E/ffffff?text=FULL";
- // item.objNum = "FULL-OBJNUM-2026-01-08-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
- // item.buttons = [];
- // }
- {
- let item = {};//列表的其中一行的属性
- window.ss.dom.listConfig.list.push(item);
- item.titlexxx = "查看人员(陈欣欣)";
- item.onclick = function () {
- wd.display.showComponent({ getSize: 1, width: ((880 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=b2f666ee35f5439e99339cff519c8234&P_A=ry_ck_objPlay_ssObjId111122998ssObjNameryryid111122998notInrylbm11005100sfyzry1", title: "查看人员(陈欣欣)", height: "650", minHeight: "109", maxHeight: "808" });
- }
- item.title = "陈欣欣";
- item.tags = [];
- {
- let v;
- v = '学校教职工';
- item.tags.push({ 人员类别: v });
- }
- {
- let v;
- v = '小学部德育处';
- item.tags.push({ 部门: v });
- }
- {
- let v;
- v = '女性';
- item.tags.push({ 性别: v });
- }
- item.buttons = [];
- item.buttons.push(
- {
- id: "no-Button1",
- titlexxx: "变动人员(陈欣欣)",
- class: "cart-list-setting",
- title: "变动",
- onclick: () => {
- wd.display.showComponent({ getSize: 1, width: ((1100 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=ecf4a2c3a58c487f83cf58058c0da8e6&P_A=ry_bd_objChg_ssObjId111122998ssObjNameryryid111122998notInrylbm11005100sfyzry1", title: "变动人员(陈欣欣)", height: "600", minHeight: "84", maxHeight: "783" });
- }
- }
- );
- }
- {
- let item = {};//列表的其中一行的属性
- window.ss.dom.listConfig.list.push(item);
- item.titlexxx = "查看人员(吴晓惠)";
- item.onclick = function () {
- wd.display.showComponent({ getSize: 1, width: ((880 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=1d1a696ba493452d9f688344eff45b21&P_A=ry_ck_objPlay_ssObjId111122999ssObjNameryryid111122999notInrylbm11005100sfyzry1", title: "查看人员(吴晓惠)", height: "650", minHeight: "109", maxHeight: "808" });
- }
- item.title = "吴晓惠";
- item.tags = [];
- {
- let v;
- v = '学校教职工';
- item.tags.push({ 人员类别: v });
- }
- {
- let v;
- v = '小学部德育处';
- item.tags.push({ 部门: v });
- }
- {
- let v;
- v = '女性';
- item.tags.push({ 性别: v });
- }
- item.buttons = [];
- item.buttons.push(
- {
- id: "no-Button2",
- titlexxx: "变动人员(吴晓惠)",
- class: "cart-list-setting",
- title: "变动",
- onclick: () => {
- wd.display.showComponent({ getSize: 1, width: ((1100 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=31d5c01f958f4532b503179fe9e06569&P_A=ry_bd_objChg_ssObjId111122999ssObjNameryryid111122999notInrylbm11005100sfyzry1", title: "变动人员(吴晓惠)", height: "600", minHeight: "84", maxHeight: "783" });
- }
- }
- );
- }
- {
- let item = {};//列表的其中一行的属性
- window.ss.dom.listConfig.list.push(item);
- item.titlexxx = "查看人员(陈丽花)";
- item.onclick = function () {
- wd.display.showComponent({ getSize: 1, width: ((880 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=cb131510e4df4a558cc61095f4d6d6ff&P_A=ry_ck_objPlay_ssObjId111123000ssObjNameryryid111123000notInrylbm11005100sfyzry1", title: "查看人员(陈丽花)", height: "650", minHeight: "109", maxHeight: "808" });
- }
- item.title = "陈丽花";
- item.tags = [];
- {
- let v;
- v = '学校教职工';
- item.tags.push({ 人员类别: v });
- }
- {
- let v;
- v = '小学部德育处';
- item.tags.push({ 部门: v });
- }
- {
- let v;
- v = '女性';
- item.tags.push({ 性别: v });
- }
- item.buttons = [];
- item.buttons.push(
- {
- id: "no-Button3",
- titlexxx: "变动人员(陈丽花)",
- class: "cart-list-setting",
- title: "变动",
- onclick: () => {
- wd.display.showComponent({ getSize: 1, width: ((1100 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=c0aea92348dd4cadaceef1cb50561c41&P_A=ry_bd_objChg_ssObjId111123000ssObjNameryryid111123000notInrylbm11005100sfyzry1", title: "变动人员(陈丽花)", height: "600", minHeight: "84", maxHeight: "783" });
- }
- }
- );
- }
- {
- let item = {};//列表的其中一行的属性
- window.ss.dom.listConfig.list.push(item);
- item.titlexxx = "查看人员(黄文东)";
- item.onclick = function () {
- wd.display.showComponent({ getSize: 1, width: ((880 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=d7ea3255174346739c8bb813bff85921&P_A=ry_ck_objPlay_ssObjId111123001ssObjNameryryid111123001notInrylbm11005100sfyzry1", title: "查看人员(黄文东)", height: "650", minHeight: "109", maxHeight: "808" });
- }
- item.title = "黄文东";
- item.tags = [];
- {
- let v;
- v = '学校教职工';
- item.tags.push({ 人员类别: v });
- }
- {
- let v;
- v = '艺体中心';
- item.tags.push({ 部门: v });
- }
- {
- let v;
- v = '男性';
- item.tags.push({ 性别: v });
- }
- item.buttons = [];
- item.buttons.push(
- {
- id: "no-Button4",
- titlexxx: "变动人员(黄文东)",
- class: "cart-list-setting",
- title: "变动",
- onclick: () => {
- wd.display.showComponent({ getSize: 1, width: ((1100 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=d6b72d581a724a528a5b7e07ed18d928&P_A=ry_bd_objChg_ssObjId111123001ssObjNameryryid111123001notInrylbm11005100sfyzry1", title: "变动人员(黄文东)", height: "600", minHeight: "84", maxHeight: "783" });
- }
- }
- );
- }
- {
- let item = {};//列表的其中一行的属性
- window.ss.dom.listConfig.list.push(item);
- item.titlexxx = "查看人员(张春英)";
- item.onclick = function () {
- wd.display.showComponent({ getSize: 1, width: ((880 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=c38a5fd0066b409fb8280bb88b19da8c&P_A=ry_ck_objPlay_ssObjId111123002ssObjNameryryid111123002notInrylbm11005100sfyzry1", title: "查看人员(张春英)", height: "650", minHeight: "109", maxHeight: "808" });
- }
- item.title = "张春英";
- item.tags = [];
- {
- let v;
- v = '学校教职工';
- item.tags.push({ 人员类别: v });
- }
- {
- let v;
- v = '小学部德育处';
- item.tags.push({ 部门: v });
- }
- {
- let v;
- v = '女性';
- item.tags.push({ 性别: v });
- }
- item.buttons = [];
- item.buttons.push(
- {
- id: "no-Button5",
- titlexxx: "变动人员(张春英)",
- class: "cart-list-setting",
- title: "变动",
- onclick: () => {
- wd.display.showComponent({ getSize: 1, width: ((1100 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=1dcdc0625b15423ca6ad71b7a3d93f25&P_A=ry_bd_objChg_ssObjId111123002ssObjNameryryid111123002notInrylbm11005100sfyzry1", title: "变动人员(张春英)", height: "600", minHeight: "84", maxHeight: "783" });
- }
- }
- );
- }
- {
- let item = {};//列表的其中一行的属性
- window.ss.dom.listConfig.list.push(item);
- item.titlexxx = "查看人员(江雅诗)";
- item.onclick = function () {
- wd.display.showComponent({ getSize: 1, width: ((880 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=f5e38a2a826b463389110a2b64f2eeef&P_A=ry_ck_objPlay_ssObjId111123004ssObjNameryryid111123004notInrylbm11005100sfyzry1", title: "查看人员(江雅诗)", height: "650", minHeight: "109", maxHeight: "808" });
- }
- item.title = "江雅诗";
- item.tags = [];
- {
- let v;
- v = '学校教职工';
- item.tags.push({ 人员类别: v });
- }
- {
- let v;
- v = '初中部德育处';
- item.tags.push({ 部门: v });
- }
- {
- let v;
- v = '女性';
- item.tags.push({ 性别: v });
- }
- item.buttons = [];
- item.buttons.push(
- {
- id: "no-Button6",
- titlexxx: "变动人员(江雅诗)",
- class: "cart-list-setting",
- title: "变动",
- onclick: () => {
- wd.display.showComponent({ getSize: 1, width: ((1100 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=6c222f70c61c4e15ba21447648f6bec3&P_A=ry_bd_objChg_ssObjId111123004ssObjNameryryid111123004notInrylbm11005100sfyzry1", title: "变动人员(江雅诗)", height: "600", minHeight: "84", maxHeight: "783" });
- }
- }
- );
- }
- {
- let item = {};//列表的其中一行的属性
- window.ss.dom.listConfig.list.push(item);
- item.titlexxx = "查看人员(刘海鸥)";
- item.onclick = function () {
- wd.display.showComponent({ getSize: 1, width: ((880 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=80ea5c7cdc23426ab126473d9228fc9f&P_A=ry_ck_objPlay_ssObjId111123005ssObjNameryryid111123005notInrylbm11005100sfyzry1", title: "查看人员(刘海鸥)", height: "650", minHeight: "109", maxHeight: "808" });
- }
- item.title = "刘海鸥";
- item.tags = [];
- {
- let v;
- v = '学校教职工';
- item.tags.push({ 人员类别: v });
- }
- {
- let v;
- v = '初中部德育处';
- item.tags.push({ 部门: v });
- }
- {
- let v;
- v = '女性';
- item.tags.push({ 性别: v });
- }
- item.buttons = [];
- item.buttons.push(
- {
- id: "no-Button7",
- titlexxx: "变动人员(刘海鸥)",
- class: "cart-list-setting",
- title: "变动",
- onclick: () => {
- wd.display.showComponent({ getSize: 1, width: ((1100 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=a87f50f2c3654eba849ca0f03409831b&P_A=ry_bd_objChg_ssObjId111123005ssObjNameryryid111123005notInrylbm11005100sfyzry1", title: "变动人员(刘海鸥)", height: "600", minHeight: "84", maxHeight: "783" });
- }
- }
- );
- }
- {
- let item = {};//列表的其中一行的属性
- window.ss.dom.listConfig.list.push(item);
- item.titlexxx = "查看人员(罗桂秀)";
- item.onclick = function () {
- wd.display.showComponent({ getSize: 1, width: ((880 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=980c1860fbaa45b1888faea7c97e4ab4&P_A=ry_ck_objPlay_ssObjId111123006ssObjNameryryid111123006notInrylbm11005100sfyzry1", title: "查看人员(罗桂秀)", height: "650", minHeight: "109", maxHeight: "808" });
- }
- item.title = "罗桂秀";
- item.tags = [];
- {
- let v;
- v = '学校教职工';
- item.tags.push({ 人员类别: v });
- }
- {
- let v;
- v = '生活一部';
- item.tags.push({ 部门: v });
- }
- {
- let v;
- v = '女性';
- item.tags.push({ 性别: v });
- }
- item.buttons = [];
- item.buttons.push(
- {
- id: "no-Button8",
- titlexxx: "变动人员(罗桂秀)",
- class: "cart-list-setting",
- title: "变动",
- onclick: () => {
- wd.display.showComponent({ getSize: 1, width: ((1100 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=4613780c52534a79ba80c0aaddd3b9c7&P_A=ry_bd_objChg_ssObjId111123006ssObjNameryryid111123006notInrylbm11005100sfyzry1", title: "变动人员(罗桂秀)", height: "600", minHeight: "84", maxHeight: "783" });
- }
- }
- );
- }
- {
- let item = {};//列表的其中一行的属性
- window.ss.dom.listConfig.list.push(item);
- item.titlexxx = "查看人员(何秋冬)";
- item.onclick = function () {
- wd.display.showComponent({ getSize: 1, width: ((880 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=5a8db34cc8a04be0a08cc0e3f6fe00c6&P_A=ry_ck_objPlay_ssObjId111123007ssObjNameryryid111123007notInrylbm11005100sfyzry1", title: "查看人员(何秋冬)", height: "650", minHeight: "109", maxHeight: "808" });
- }
- item.title = "何秋冬";
- item.tags = [];
- {
- let v;
- v = '学校教职工';
- item.tags.push({ 人员类别: v });
- }
- {
- let v;
- v = '生活一部';
- item.tags.push({ 部门: v });
- }
- {
- let v;
- v = '女性';
- item.tags.push({ 性别: v });
- }
- item.buttons = [];
- item.buttons.push(
- {
- id: "no-Button9",
- titlexxx: "变动人员(何秋冬)",
- class: "cart-list-setting",
- title: "变动",
- onclick: () => {
- wd.display.showComponent({ getSize: 1, width: ((1100 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=18e085e0c31549efa9597733d32e32a0&P_A=ry_bd_objChg_ssObjId111123007ssObjNameryryid111123007notInrylbm11005100sfyzry1", title: "变动人员(何秋冬)", height: "600", minHeight: "84", maxHeight: "783" });
- }
- }
- );
- }
- {
- let item = {};//列表的其中一行的属性
- window.ss.dom.listConfig.list.push(item);
- item.titlexxx = "查看人员(黄智霖)";
- item.onclick = function () {
- wd.display.showComponent({ getSize: 1, width: ((880 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=ba8f7c48fea14306900c50e668b64621&P_A=ry_ck_objPlay_ssObjId111123008ssObjNameryryid111123008notInrylbm11005100sfyzry1", title: "查看人员(黄智霖)", height: "650", minHeight: "109", maxHeight: "808" });
- }
- item.status = "unavailable";
- item.title = "黄智霖";
- item.tags = [];
- {
- let v;
- v = '学校教职工';
- item.tags.push({ 人员类别: v });
- }
- {
- let v;
- v = '生活二部';
- item.tags.push({ 部门: v });
- }
- {
- let v;
- v = '男性';
- item.tags.push({ 性别: v });
- }
- item.buttons = [];
- item.buttons.push(
- {
- id: "no-Button10",
- titlexxx: "变动人员(黄智霖)",
- class: "cart-list-setting",
- title: "变动",
- onclick: () => {
- wd.display.showComponent({ getSize: 1, width: ((1100 + DOM_SIZE_objInfoTabWidth) + ""), show: ["wdDialog"], url: "/service?ssToken=8f5a0337b9f1436ca8a053586f6020cf&P_A=ry_bd_objChg_ssObjId111123008ssObjNameryryid111123008notInrylbm11005100sfyzry1", title: "变动人员(黄智霖)", height: "600", minHeight: "84", maxHeight: "783" });
- }
- }
- );
- }
- </script>
- <!-- 功能说明:卡片区域使用 grid 自动分列,剩余宽度平分(不锁死 max-width) by xu 20260109 -->
- <div :class="['content-area','item-content-area', cardGridKind ? ('ss-card-grid--' + cardGridKind) : '']" style="flex: 1; overflow-y: auto;">
- <template v-for="(item, i) in listConfig.draftbox" :key="i">
- <ss-folder-card v-if="item.children" :item="item"></ss-folder-card>
- <!-- 功能说明:通过 props 传 ssObjName(用于无图占位 biz icon) by xu 20260109 -->
- <ss-list-card v-else :item="item" :ss-obj-name="ssObjName" :card-click-action="cardClickAction" @toggle-select="handleToggleSelect"></ss-list-card>
- </template>
- <template v-for="(item, i) in listConfig.list" :key="i">
- <ss-folder-card v-if="item.children" :item="item"></ss-folder-card>
- <!-- 功能说明:通过 props 传 ssObjName(用于无图占位 biz icon) by xu 20260109 -->
- <ss-list-card v-else :item="item" :ss-obj-name="ssObjName" :card-click-action="cardClickAction" @toggle-select="handleToggleSelect"></ss-list-card>
- </template>
- <ss-page v-show="575" :total="575" :size="10" :page="1" @change="handlePageChange">
- </ss-page>
- </div>
- </div>
- <!-- 右侧:ss-sidebar(方案A:父级 state 中转) by xu 20260106 -->
- <ss-sidebar
- :buttons="sidebarButtons"
- :panels="sidebarPanels"
- @remove="handleSidebarRemove"
- ></ss-sidebar>
- </div>
- </form>
- </div>
- </body>
- </html>
- <!-- Sortable:业务面板拖拽排序 by xu 20260106 -->
- <script src="../js/Sortable/Sortable.min.js"></script>
- <script type="module">
- // function objectPickMockAjax(url) {
- // return new Promise((resolve) => {
- // setTimeout(() => {
- // resolve([
- // { label: '学校领导', value: '190'},
- // { label: '业务部', value: '101241' },
- // { label: '男', value: '1' },
- // { label: '女', value: '2' }
- // ]);
- // }, 1000);
- // });
- // }
- // 定义 objPickerLoad 函数
- // async function objPickerLoad(url, optionsName) {
- // const result = await objectPickMockAjax(url);
- // return result;
- // }
- window.ss.dom.formElemConfig.testtime = {
- type: '34',
- desc: '时间',
- name: 'testtime',
- value: '',
- };
- window.ss.dom.formElemConfig.testdatetime = {
- type: '35',
- desc: '日期时间',
- name: 'testdatetime',
- value: '',
- };
- console.log(window.ss.dom.formElemConfig);
- const data = {
- ssObjName:"ry",
- cardClickAction: "single", // 功能:卡片主体点击动作(view=查看;single=单选互斥;角标仍多选) by xu 20260109
- systemType: window.ss.dom.TYPE,
- listConfig: window.ss.dom.listConfig,
- formElemConfig: window.ss.dom.formElemConfig,
- btnElemConfig: window.ss.dom.btnElemConfig,
- cardGridKind: '', // 功能:卡片网格布局类型(none/photo/thumbnail) by xu 20260109
- // 右侧边栏:已选列表(左侧卡片选中 -> 进入“已选”面板) by xu 20260106
- selectedItems: [],
- // 右侧边栏:顶部固定按钮 mock(复用 ss-search-button) by xu 20260106
- sidebarButtons: [
- { id: 'reserve', text: '预定', onClick: () => console.log('点击:预定') },
- { id: 'checkin', text: '入住', onClick: () => console.log('点击:入住') },
- { id: 'checkout', text: '退房', onClick: () => console.log('点击:退房') },
- { id: 'clean', text: '清洁', onClick: () => console.log('点击:清洁') },
- ],
- // 右侧边栏:除“人员”外其他分区先写死 mock by xu 20260106
- sidebarMockSelected: [
- { title: '木色咖啡厅' },
- { title: '图书馆阅览室1号间' },
- { title: '羽毛球馆1号' },
- ],
- sidebarMockService: [
- { title: '木色咖啡厅' },
- ],
- sidebarMockReserve: [
- { title: '木色咖啡厅' },
- { title: '图书馆阅览室1号间' },
- { title: '羽毛球馆1号' },
- ],
- // 右侧边栏:图表 mock(ECharts) by xu 20260106
- sidebarMockChart: {
- title: '校舍建筑面积和总体分布',
- height: '220px',
- options: {
- grid: { left: 40, right: 10, top: 20, bottom: 30 },
- xAxis: { type: 'category', data: ['教学及科研', '行政办公', '生活用房', '教工住宅', '其他用房'] },
- yAxis: { type: 'value' },
- series: [
- {
- type: 'bar',
- data: [90.6, 4.5, 50, 10, 7],
- label: { show: true, position: 'inside', formatter: '{c}%' },
- },
- ],
- color: ['#4A90E2'],
- },
- },
- // 右侧边栏:第二个图表 mock(测试多图) by xu 20260108
- sidebarMockChart2: {
- title: '校舍使用率趋势',
- height: '220px',
- options: {
- grid: { left: 40, right: 10, top: 20, bottom: 30 },
- xAxis: { type: 'category', data: ['1月', '2月', '3月', '4月', '5月', '6月'] },
- yAxis: { type: 'value' },
- series: [
- {
- type: 'line',
- data: [65, 72, 78, 85, 82, 88],
- label: { show: true, position: 'top', formatter: '{c}%' },
- },
- ],
- color: ['#50C878'],
- },
- },
- // 右侧边栏:第三个图表 mock(饼图) by xu 20260108
- sidebarMockChart3: {
- title: '设施类型分布',
- height: '220px',
- options: {
- tooltip: { trigger: 'item' },
- legend: { orient: 'vertical', left: 'left' },
- series: [
- {
- type: 'pie',
- radius: '60%',
- data: [
- { value: 1048, name: '教学楼' },
- { value: 735, name: '宿舍楼' },
- { value: 580, name: '办公楼' },
- { value: 484, name: '实验楼' },
- { value: 300, name: '食堂' },
- ],
- label: { show: true, formatter: '{b}: {c}' },
- },
- ],
- color: ['#5470C6', '#91CC75', '#FAC858', '#EE6666', '#73C0DE'],
- },
- },
- // 右侧边栏:第四个图表 mock(堆叠柱状图) by xu 20260108
- sidebarMockChart4: {
- title: '各区域预约情况',
- height: '220px',
- options: {
- grid: { left: 40, right: 10, top: 30, bottom: 30 },
- xAxis: { type: 'category', data: ['东区', '西区', '南区', '北区', '中区'] },
- yAxis: { type: 'value' },
- legend: { data: ['已预约', '使用中', '空闲'] },
- series: [
- {
- type: 'bar',
- name: '已预约',
- stack: 'total',
- data: [120, 132, 101, 134, 90],
- },
- {
- type: 'bar',
- name: '使用中',
- stack: 'total',
- data: [220, 182, 191, 234, 290],
- },
- {
- type: 'bar',
- name: '空闲',
- stack: 'total',
- data: [150, 232, 201, 154, 190],
- },
- ],
- color: ['#5470C6', '#91CC75', '#FAC858'],
- },
- },
- // 右侧边栏:第五个图表 mock(雷达图) by xu 20260108
- sidebarMockChart5: {
- title: '设施综合评分',
- height: '220px',
- options: {
- radar: {
- indicator: [
- { name: '设备', max: 100 },
- { name: '环境', max: 100 },
- { name: '服务', max: 100 },
- { name: '维护', max: 100 },
- { name: '安全', max: 100 },
- { name: '管理', max: 100 },
- ],
- },
- series: [
- {
- type: 'radar',
- data: [
- {
- value: [85, 90, 78, 82, 88, 80],
- name: '本季度',
- },
- ],
- },
- ],
- color: ['#5470C6'],
- },
- },
- // 右侧边栏:分区配置 by xu 20260106
- sidebarPanels: [],
- searchButtonConfigCheckId: '99',
- searchButtonConfig: [
- {
- id: "99",
- desc: "所有",
- callback: () => {
- $("[name=pageNo]").val('1');
- $("[name=management]").val('99');
- $("#myForm").submit();
- },
- },
- {
- id: "2",
- desc: "管理",
- callback: () => {
- $("[name=pageNo]").val('1');
- $("[name=management]").val('2');
- $("#myForm").submit();
- },
- },
- {
- id: "1",
- desc: "创建",
- callback: () => {
- $("[name=pageNo]").val('1');
- $("[name=management]").val('1');
- $("#myForm").submit();
- },
- },
- {
- id: "3",
- desc: "已办",
- callback: () => {
- $("[name=pageNo]").val('1');
- $("[name=management]").val('3');
- $("#myForm").submit();
- },
- },
- {
- id: "55",
- desc: "停用",
- callback: () => {
- $("[name=pageNo]").val('1');
- $("[name=management]").val('55');
- $("#myForm").submit();
- },
- },
- ],
- // 状态筛选配置 by xu 20260105
- statusFilterCheckId: 'all',
- statusFilterConfig: [
- {
- id: "all",
- desc: "状态",
- callback: () => {
- console.log('筛选:全部状态');
- // 这里添加筛选逻辑
- },
- },
- {
- id: "available",
- desc: "可选",
- callback: () => {
- console.log('筛选:可选状态');
- // 这里添加筛选逻辑
- },
- },
- {
- id: "unavailable",
- desc: "已选",
- callback: () => {
- console.log('筛选:已选状态');
- // 这里添加筛选逻辑
- },
- },
- {
- id: "disabled",
- desc: "禁选",
- callback: () => {
- console.log('筛选:禁选状态');
- // 这里添加筛选逻辑
- },
- },
- ],
- }
- if (window.ss.dom.formElemConfig) {
- Object.entries(window.ss.dom.formElemConfig).forEach(([key, config]) => {
- data[key] = config.value;
- // 处理 objPicker
- if (config.type === window.ss.dom.TYPE.OBJPICKER) {
- data[key + "ObjPicker"] = true;
- data[key + "Option"] = [];
- data[key + "Url"] = config.optUrl;
- }
- })
- }
- console.log('data:' + JSON.stringify(data));
- SS.ready(function () {
- window.ss.dom.initializeFormApp({
- el: "#app",
- data() {
- return data;
- },
- methods: {
- // 功能:探测当前业务列表卡片类型,用于网格列最小宽度 by xu 20260109
- detectCardGridKind() {
- const all = []
- .concat(this.listConfig?.draftbox || [])
- .concat(this.listConfig?.list || []);
- // 真实业务中形态一致;这里按“最大”优先:thumbnail > photo > none by xu 20260109
- if (all.some(it => String(it?.thumbType || '').trim() === 'thumbnail')) return 'thumbnail';
- if (all.some(it => !!it?.thumb || !!it?.thumbType)) return 'photo';
- return 'none';
- },
- // 初始化右侧边栏分区(人员分区 items 指向 selectedItems) by xu 20260106
- initSidebarPanels() {
- this.sidebarPanels = [
- {
- type: 'list',
- title: '人员',
- count: 0,
- // header:仅保留一个筛选条件(下拉)+ 搜索按钮(mock) by xu 20260106
- iconClass: 'menu-icon icon-obj-ry',
- headerFilters: [
- {
- // 关键词筛选(使用封装组件,不做下拉 mock) by xu 20260106
- key: 'keyword',
- component: 'ss-search-input',
- props: { name: 'keyword', placeholder: '人员', width: '140px' },
- value: '',
- },
- ],
- headerSearchButton: true,
- onSearch: ({ keyword, filters }) => console.log('人员搜索', keyword, filters),
- // 人员列表暂不承载“已选”,后续接接口返回列表 by xu 20260106
- mode: 'selected',
- items: [],
- itemAction: false,
- },
- {
- type: 'list',
- title: '已选',
- // 左侧选中进入此面板 by xu 20260106
- count: this.selectedItems.length,
- iconClass: 'menu-icon icon-obj-xcd',
- // 选中类分区:右侧关闭按钮=清空 by xu 20260106
- closable: true,
- mode: 'selected',
- items: this.selectedItems,
- itemLayout: 'person',
- itemAction: true,
- onClear: () => {
- // 清空已选并重置左侧角标状态 by xu 20260106
- this.selectedItems.forEach((it) => { if (it) it._ssSelected = false; });
- this.selectedItems.splice(0);
- this.updatePickedPanelCount();
- console.log('清空:已选');
- },
- },
- {
- type: 'list',
- title: '服务',
- count: this.sidebarMockService.length,
- iconClass: 'menu-icon icon-obj-wp',
- // 选中类分区:右侧关闭按钮=清空 by xu 20260106
- closable: true,
- mode: 'selected',
- items: this.sidebarMockService,
- itemAction: false,
- onClear: () => { this.sidebarMockService.splice(0); console.log('清空:服务'); },
- },
- {
- type: 'list',
- title: '预定',
- count: this.sidebarMockReserve.length,
- iconClass: 'menu-icon icon-obj-cd',
- // 选中类分区:右侧关闭按钮=清空 by xu 20260106
- closable: true,
- mode: 'selected',
- items: this.sidebarMockReserve,
- itemAction: false,
- onClear: () => { this.sidebarMockReserve.splice(0); console.log('清空:预定'); },
- },
- {
- type: 'chart',
- title: this.sidebarMockChart.title,
- iconClass: 'menu-icon icon-obj-jzw',
- height: this.sidebarMockChart.height,
- options: this.sidebarMockChart.options,
- },
- {
- type: 'chart',
- title: this.sidebarMockChart2.title,
- iconClass: 'menu-icon icon-obj-jzw',
- height: this.sidebarMockChart2.height,
- options: this.sidebarMockChart2.options,
- },
- {
- type: 'chart',
- title: this.sidebarMockChart3.title,
- iconClass: 'menu-icon icon-obj-jzw',
- height: this.sidebarMockChart3.height,
- options: this.sidebarMockChart3.options,
- },
- {
- type: 'chart',
- title: this.sidebarMockChart4.title,
- iconClass: 'menu-icon icon-obj-jzw',
- height: this.sidebarMockChart4.height,
- options: this.sidebarMockChart4.options,
- },
- {
- type: 'chart',
- title: this.sidebarMockChart5.title,
- iconClass: 'menu-icon icon-obj-jzw',
- height: this.sidebarMockChart5.height,
- options: this.sidebarMockChart5.options,
- },
- ];
- },
- // 更新已选分区计数 by xu 20260106
- updatePickedPanelCount() {
- const pickedPanel = this.sidebarPanels?.[1];
- if (pickedPanel) pickedPanel.count = this.selectedItems.length;
- },
- // 左侧卡片角标选中 -> 同步到右侧边栏 by xu 20260106
- handleToggleSelect({ item, selected, exclusive }) {
- if (!item) return;
- // 已选分区:补充人员号(中间槽位) by xu 20260106
- if (!item.meta) item.meta = String(202500000 + this.selectedItems.length + 1);
- // 卡片主体单选互斥:仅当本次切到选中时清理其他选择 by xu 20260109
- if (exclusive && selected && this.cardClickAction === 'single') {
- this.selectedItems.forEach((it) => { if (it && it !== item) it._ssSelected = false; });
- // 重要:不要重新赋值数组,否则 sidebarPanels 内部 items 仍引用旧数组 by xu 20260109
- this.selectedItems.splice(0, this.selectedItems.length);
- this.selectedItems.push(item);
- this.updatePickedPanelCount();
- return;
- }
- const idx = this.selectedItems.indexOf(item);
- if (selected) {
- if (idx === -1) this.selectedItems.push(item);
- } else {
- if (idx > -1) this.selectedItems.splice(idx, 1);
- }
- this.updatePickedPanelCount();
- },
- // 右侧边栏移除 -> 反向同步左侧卡片状态 by xu 20260106
- handleSidebarRemove(item) {
- if (!item) return;
- item._ssSelected = false;
- const idx = this.selectedItems.indexOf(item);
- if (idx > -1) this.selectedItems.splice(idx, 1);
- this.updatePickedPanelCount();
- },
- handlePageChange({ pageNo, rowNumPer, rowNum }) {
- // 更新隐藏表单值
- document.getElementsByName('pageNo')[0].value = pageNo;
- document.getElementsByName('rowNumPer')[0].value = rowNumPer;
- document.getElementsByName('rowNum')[0].value = rowNum;
- // 提交表单
- document.getElementById('myForm').submit();
- },
- search() {
- document.getElementById('myForm').submit();
- }
- },
- mounted() {
- // 初始化 sidebar 分区 by xu 20260106
- this.initSidebarPanels();
- // 初始化卡片网格类型(用于自动分列/宽度平分) by xu 20260109
- this.cardGridKind = this.detectCardGridKind();
- // const self = this;
- // // 在这里可以使用 Vue 实例
- // Object.entries(this.$data).forEach(([key, value]) => {
- // // 处理 objPicker
- // if (key.includes('ObjPicker')) {
- // const originalKey = key.replace('ObjPicker', '');
- // if (value) {
- // objPickerLoad(value, key).then(result => {
- // if(self.formElemConfig[originalKey]) {
- // self.formElemConfig[originalKey].name = originalKey;
- // self.formElemConfig[originalKey].options = result;
- // }
- // });
- // }
- // }
- // });
- }
- });
- });
- tokenCleanser("/service?ssToken=f6ecb50245aa478b95d800e754fa86eb&P_A=ss.clearPageToken__", { tokenList: "d66b3011932e436f841ea8cacc05209f,b59e43bcf08b490c80a473de3b24c941,f5c366661b004dfbb69ea6ed72fa8eb3,b2f666ee35f5439e99339cff519c8234,ecf4a2c3a58c487f83cf58058c0da8e6,1d1a696ba493452d9f688344eff45b21,31d5c01f958f4532b503179fe9e06569,cb131510e4df4a558cc61095f4d6d6ff,c0aea92348dd4cadaceef1cb50561c41,d7ea3255174346739c8bb813bff85921,d6b72d581a724a528a5b7e07ed18d928,c38a5fd0066b409fb8280bb88b19da8c,1dcdc0625b15423ca6ad71b7a3d93f25,f5e38a2a826b463389110a2b64f2eeef,6c222f70c61c4e15ba21447648f6bec3,80ea5c7cdc23426ab126473d9228fc9f,a87f50f2c3654eba849ca0f03409831b,980c1860fbaa45b1888faea7c97e4ab4,4613780c52534a79ba80c0aaddd3b9c7,5a8db34cc8a04be0a08cc0e3f6fe00c6,18e085e0c31549efa9597733d32e32a0,ba8f7c48fea14306900c50e668b64621,8f5a0337b9f1436ca8a053586f6020cf,f6ecb50245aa478b95d800e754fa86eb" });
- </script>
|