| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631 |
- <style>
- html,
- body {
- width: 100%;
- height: 100%;
- }
- .mark {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background: rgba(0, 0, 0, 0.1);
- overflow: hidden;
- z-index: 9999;
- display: none;
- }
- .el-dialog__wrapper {
- padding: 20px;
- margin: 100px auto;
- width: 800px;
- height: 700px;
- background-color: #fff;
- border-radius: 5px;
- }
- @media (max-width: 991px) {
- .el-dialog__wrapper {
- width: 820px;
- overflow-y: auto;
- }
- }
- .eixt {
- padding-bottom: 10px;
- width: 100%;
- text-align: right;
- cursor: pointer;
- font-size: 16px;
- color: #909399;
- }
- .top-tab {
- height: 40px;
- border-bottom: 2px solid #e4e7ed;
- }
- .tab-title {
- position: relative;
- bottom: -2px;
- display: inline-block;
- height: 100%;
- line-height: 40px;
- font-size: 14px;
- font-weight: 500;
- margin-right: 20px;
- cursor: pointer;
- }
- .is-active {
- color: #29BA9C;
- border-bottom: 2px solid #29BA9C;
- }
- .upload-btn {
- position: relative;
- float: right;
- padding: 7px 15px;
- background-color: #29BA9C;
- font-size: 12px;
- border-radius: 3px;
- color: #fff;
- cursor: pointer;
- }
- .upload-btn input {
- height: 100%;
- position: absolute;
- right: 0;
- top: 0;
- opacity: 0;
- cursor: pointer;
- }
- .fl {
- float: left;
- }
- .scroll-box {
- width: 150px;
- overflow-y: auto;
- }
- .left-group {
- padding: 10px 0;
- }
- .D-gro {
- margin: 0;
- width: 148px;
- color: #666;
- font-size: 14px;
- white-space: nowrap;
- padding: 3px 0 3px 0px;
- cursor: pointer;
- }
- /*滚动条整体样式*/
- .scroll-box::-webkit-scrollbar {
- width: 2px;
- }
- /*滚动条滑块*/
- .scroll-box::-webkit-scrollbar-thumb {
- border-radius: 30px;
- background: #29BA9C;
- }
- /*滚动条轨道*/
- .scroll-box::-webkit-scrollbar-track {
- -webkit-box-shadow: inset 0 0 1px rgba(0, 0, 0, 0);
- border-radius: 30px;
- background: #f4f4f5;
- }
- .text-bg {
- background: #29BA9C;
- color: #fff;
- }
- .right {
- width: 610px;
- height: 475px;
- }
- .fr {
- float: right;
- }
- .img-source {
- position: relative;
- margin: 10px 0 0 10px;
- width: 7.3vw;
- height: 7.3vw;
- }
- .img-source img {
- width: 100%;
- height:100%;
- object-fit: contain;
- }
- img {
- border: 0;
- }
- .img-source p {
- margin-top: 15px;
- text-align: center;
- padding: 0 5px;
- width: 100%;
- text-overflow: ellipsis;
- white-space: nowrap;
- vertical-align: middle;
- overflow: hidden;
- }
- .img-mark {
- position: absolute;
- /* display: none; */
- visibility:hidden;
- width: 100%;
- height: 100%;
- top: 0px;
- left: 0px;
- background: rgba(41, 186, 156, 0.3);
- border: 1px solid rgb(41, 186, 156);
- }
- .img-source:hover .img-mark {
- visibility: visible;
- }
- .img-mark input {
- margin-left: 5px;
- }
- input[type="checkbox"] {
- zoom: 120%;
- }
- .img-source .sle-img {
- position: absolute;
- top: 5px;
- left: 5px;
- }
- .sel-checkbox {
- margin-left: 5px;
- }
- .foot {
- position: relative;
- margin-top: 15px;
- }
- .newdialog {
- padding: 10px;
- position: absolute;
- display: none;
- background-color: #fff;
- z-index: 2000;
- width: 230px;
- left: -10px;
- top: -136px;
- border-radius: 4px;
- border: 1px solid #ebebeb;
- }
- .clearfix::after {
- content: '';
- display: block;
- clear: both;
- }
- .newgroup {
- color: rgb(64, 158, 255);
- cursor: pointer;
- font-size: 14px;
- }
- .number {
- margin: 0 5px;
- background-color: #f4f4f5;
- color: #666;
- min-width: 30px;
- border-radius: 2px;
- }
- button {
- padding: 0;
- border: none;
- }
- .page,
- .btn-prev,
- .btn-next {
- display: inline-block;
- margin: 0 3px;
- width: 30px;
- height: 30px;
- line-height: 30px;
- font-size: 13px;
- text-align: center;
- color: #666;
- border-radius: 4px;
- background-color: #f4f4f5;
- cursor: pointer;
- }
- .btn-prev,
- .btn-next {
- font-weight: bold;
- border-radius: 4px;
- font-size: 16px;
- cursor: pointer!important;
- }
- .page-active {
- background-color: #29BA9C;
- color: #FFF;
- }
- .foot-btn {
- margin-top: 15px;
- font-size: 14px;
- }
- .bule-text {
- color: rgb(64, 158, 255);
- }
- .sure-cancel {
- margin-left: 180px;
- }
- .footbtn {
- width: 100px;
- height: 40px;
- border-radius: 4px;
- }
- .srue {
- margin-right: 20px;
- color: #fff;
- background-color: #29ba9c;
- }
- .triangle {
- position: absolute;
- left: 15%;
- bottom: -16px;
- width: 0;
- height: 0;
- border-width: 8px;
- border-style: solid;
- border-color: #fff transparent transparent transparent;
- }
- .please-inp {
- margin-bottom: 10px;
- color: #666;
- font-size: 14px;
- }
- .group-inp {
- width: 100%;
- height: 30px;
- border: 1px solid #DCDFE6;
- }
- .dio-btn {
- margin-top: 15px;
- text-align: center;
- }
- .new-group {
- width: 50px;
- height: 30px;
- margin: 0 10px;
- border-radius: 4px;
- }
- .new-group-sure {
- background-color: #54c8b0;
- color: #fff;
- }
- .new-group-cancel {
- border: 1px solid #DCDFE6;
- color: #666;
- }
- #sel-img {
- display: block;
- }
- #collect-img {
- display: none;
- }
- .new-img {
- margin-top: 20px;
- width: 150px;
- height: 150px;
- line-height: 150px;
- text-align: center;
- color: #999;
- line-height: 150px;
- text-align: center;
- margin: 20px auto;
- object-fit: cover;
- }
- .new-img img {
- width: 100%;
- height: 100%;
- display: block;
- border: none;
- }
- .newlink-box {
- text-align: center;
- }
- .netlink {
- padding: 0 10px;
- width: 450px;
- height: 40px;
- border-radius: 4px;
- border: 1px solid #DCDFE6;
- }
- .conversion {
- text-align: center;
- }
- .conversion-btn {
- margin: 30px auto;
- width: 100px;
- display: inline-block;
- cursor: pointer;
- background: #FFF;
- border: 1px solid #DCDFE6;
- color: #666;
- text-align: center;
- box-sizing: border-box;
- padding: 12px 20px;
- font-size: 14px;
- border-radius: 4px;
- }
- /* 提示信息 */
- .success-tip {
- position: fixed;
- left: 50%;
- top: 60px;
- transform: translate(-50%);
- padding: 10px;
- background-color: #f0f9eb;
- border-radius: 10px;
- color: #67c23a;
- font-size: 14px;
- display: none;
- }
- #none-data {
- margin-top: 10px;
- width: 100%;
- text-align: center;
- }
- #pageNum {
- display: inline-block;
- }
- .shows {
- visibility: visible;
- }
- .nones {
- visibility: hidden;
- }
- .paginations {
- font-size: 0;
- text-align: center;
- }
- .paginations .page-li {
- display: inline-block;
- font-size: 15px;
- line-height: 1;
- -ms-user-select: none;
- -moz-user-select: none;
- -webkit-user-select: none;
- user-select: none;
- }
- .paginations .page-li.page-active {
- cursor: default;
- color: #fff;
- border-color: #29BA9C;
- background-color: #29BA9C;
- }
- .paginations .page-li.number-ellipsis {
- border: none;
- cursor: default;
- }
- .paginations .page-number {
- margin: 0 5px;
- padding: 5px 12px;
- text-align: center;
- border-radius: 2px;
- background-color: #f4f4f5;
- cursor: pointer;
- }
- .paginations .page-prev {
- padding: 5px 12px;
- margin-right: 8px;
- background-color: #f4f4f5;
- border-radius: 2px;
- cursor: pointer;
- }
- .paginations .page-next {
- padding: 5px 12px;
- margin-left: 8px;
- background-color: #f4f4f5;
- border-radius: 2px;
- cursor: pointer;
- }
- .paginations .number-ellipsis {
- display: inline-block;
- font-size: 15px;
- padding: 8px 14px;
- }
- .paginations .number-ellipsis.page-hidden {
- display: none;
- }
- #page-go {
- margin-top: 10px;
- text-align: center;
- }
- /* 多图上传 */
- .multi-img-details{margin-top:.5em;position: relative;}
- .multi-img-details .multi-item{max-width: 150px!important; position: absolute!important;left: 0!important;top: 0!important; margin-right: 18px;}
- .multi-img-details .multi-item .img_box{width: 150px!important;height: 150px!important;}
- .multi-img-details .multi-item img{width: 100%!important; height: 100%!important;}
- .multi-img-details .multi-item em{position:absolute; top: 0; right: -14px;}
- #img-dialog.el-dialog__wrapper {
- padding: 20px!important;
- margin: 100px auto!important;
- width: 820px!important;
- height: 77.8vh!important;
- background-color: #fff!important;
- border-radius: 5px!important;
- box-sizing: border-box;
- }
- </style>
- <div class="mark" id="mark-box">
- <div class="el-dialog__wrapper" id="img-dialog" style="display: block;">
- <!-- 右上角的X -->
- <div class="eixt" onclick="closeImgDialog()"><i class="el-icon-close"></i></div>
- <!-- 顶部切换项 -->
- <div class="top-tab">
- <span class="tab-title is-active" onclick="handlSelect()" id="sel-img-btn">选取图片</span>
- <span class="tab-title" onclick="newWorkImg()" id="net-img-btn">提取网络图片</span>
- <div class="upload-btn">点击上传<input type="file" accept="image/*" title="" id="uploadfle" /></div>
- </div>
- <!-- 选取图片start -->
- <div id="sel-img">
- <div style="display:flex">
- <div class="scroll-box" style="flex-shrink: 0;">
- <div class="left-group fl bor-right" id="group-item">
- </div>
- </div>
- <div>
- <div class="el-date-editor el-input el-input--prefix el-input--suffix el-date-editor--month" style="margin:20px 0 0 10px;">
- <input type="month" autocomplete="off" name="imageFilterTime" placeholder="选择月" class="el-input__inner" onchange="getImgList(1,'')">
- <!-- <span class="el-input__prefix"><i class="el-input__icon el-icon-date"></i></span> -->
- <span class="el-input__suffix">
- <span class="el-input__suffix-inner">
- <i class="el-input__icon"></i>
- </span>
- </span>
- </div>
- <div id="imgList"></div>
- </div>
- </div>
- </div>
- <!-- 选取图片end -->
- <div>
- <div class="foot clearfix" id="foot-box">
- <span class="newgroup fl" onclick="newgroup()">新建分组</span>
- <!-- 新建分组弹窗 -->
- <div class="newdialog" id="new-dialog">
- <p class="please-inp">请输入分组名</p>
- <input class="group-inp" id="new-group" type="text" >
- <div class="dio-btn">
- <button class="new-group new-group-sure" onclick="srueGroup()" type="button">确定</button>
- <button class="new-group new-group-cancel" onclick="cancleGroup()" type="button">取消</button>
- </div>
- <div class="triangle"></div>
- </div>
- <div class="fr">
- <div class="page-box">
- </div>
- </div>
- </div>
- </div>
- <!-- 提取网络图片start -->
- <div id="collect-img">
- <div class="new-img" style="display:none">
- <img id="show-net-img" >
- </div>
- <p style="margin-top:5px;text-align: center; color:#666">输入图片链接</p>
- <div class="newlink-box">
- <input type="text" class="netlink" id="net-img" placeholder="图片链接" onfocus="onfocusClick()" onblur="onblurClick()">
- </div>
- <div class="conversion">
- <button class="conversion-btn" onclick="conversion()" type="button">转化</button>
- </div>
- </div>
- <div class="foot-btn clearfix">
- <div class="sel-num fl" id="selNum">
- <span>已选择</span>
- <span class="bule-text" id="startNum">0</span>
- <span class="bule-text">/</span>
- <span class="bule-text" id="totalNum">100</span>
- <span class="bule-text">个图片</span>
- </div>
- <div class="sure-cancel fl">
- <button class="footbtn srue" onclick="determine()" type="button">确定</button>
- <button class="footbtn cancel" onclick="cancle()" type="button">取消</button>
- </div>
- </div>
- </div>
- </div>
- <script>
- var input_image_name = ""
- var byte_type = ""
- var imgDialog = document.getElementById('img-dialog') //获取整个弹窗的id
- var selImg = document.getElementById('sel-img')
- var collectImg = document.getElementById('collect-img')
- var selImgBtn = document.getElementById('sel-img-btn')
- var netImgBtn = document.getElementById('net-img-btn')
- var newDialog = document.getElementById('new-dialog')
- var netlink = document.getElementsByClassName('netlink')[0]
- var footBox = document.getElementById('foot-box')
- var startNum = document.getElementById('startNum')
- var totalNum = document.getElementById('totalNum')
- var checkbox = document.getElementsByClassName('sel-checkbox')
- var imgMark = document.getElementsByClassName('img-mark')
- var imgObj = {}
- var imgArr = [] //选中的图片
- var tag = 'single';//单个选择的标识
- // var tag = 'more';//多个选择的标识
- var id = null;
- var ids = null;
- var groupData = [];//分组列表的数据
- var newName = '';//新建分组的名字
- var netIMgLink = '';//网络的图片链接
- var groupId = '';//分组id
- var imgList = [];
- var total = null;
- var last_page = 0;
- var more_img_arr = [];//当前显示的图片链接(不包括删除)
- //拖放变量初始化配置
- var item_w,item_h,col_len,few_len,box_w,difNum;
- var box_h = [];
- var delete_num = [];//删除数量
- var arrIndex = []; //展示的图片下标
- var srcArr =[];//存所有图片链接(包括删除)
- var current_element_num = 0;
- //已保存的图片加拖放属性
- $(document).ready(function() {
- for(let i=0;i<$('.multi-img-details').length;i++) {
- // 循环每个多图上传
- let arr = [];
- let num_arr = [];
- let count = $('.multi-img-details').eq(i).children('.multi-item').length;//item数量
- if($('.multi-img-details').eq(i).children('.multi-item').length > 0) {
- $('.multi-img-details').eq(i).children('.multi-item').each(function(index){
- $(this).addClass("items");
- $(this).addClass(`${i}-element${index}`);
- let val = $(this).find("input").val();
- arr.push(val);
- num_arr.push(index);
- })
- }
- delete_num.push(0);
- more_img_arr.push(arr);
- srcArr.push(JSON.parse(JSON.stringify(arr))); // 深拷贝
- arrIndex.push(num_arr);
- info(count,i);
- redraw(0,i);
- tuofang(i);
- }
- })
- function selcetImg(str) {
- imgDialog.css("display", "block");
- }
- function getGroupList() {
- var str = ''
- $.ajax({
- url: '{!! yzWebUrl("setting.media.tags") !!}', //请求接口的地址
- type: "POST", //请求的方法GET/POST
- data: { //需要传递的参数
- source_type: 1,
- },
- async : false, //将ajax请求设置为同步请求
- success: function (res) { //请求成功后的操作
- if(res.result == 1) {
- groupData = res.data
- groupData.forEach((item,index) => {
- str += `<p class="D-gro" ids=${item.id === ''?'all':item.id}>${item.title}(<span id=${item.id === ''?'all':item.id}>${item.source_count}</span>)</p>`
- })
- $('#group-item').html(str);
- $('#group-item').find('p:first').addClass('text-bg');//选取第一个默认元素添加背景
- }
- },
- error: function (err) { //请求失败后的操作
- console.log(err); //请求失败在控制台输出22
- }
- })
- }
- getGroupList()//调用 不可去掉
- function handlSelect() {
- selImg.style.display = 'block';
- collectImg.style.display = 'none';
- selImgBtn.classList.add("is-active")
- netImgBtn.classList.remove("is-active");
- imgDialog.style.height = "700px"
- footBox.style.display="block"
- }
- function newWorkImg() {
- selImg.style.display = 'none';
- collectImg.style.display = 'block';
- netImgBtn.classList.add("is-active")
- selImgBtn.classList.remove("is-active");
- imgDialog.style.height = "560px"
- footBox.style.display="none"
- }
- function newgroup() {
- newDialog.style.display = "block"
- }
- //确定新建分组
- function srueGroup() {
- newName=document.getElementById("new-group").value;
- if(newName == '') {
- alert('分组名不能为空!')
- return
- }
- $.ajax({
- url: "{!! yzWebUrl("setting.media.addTag") !!}", //请求接口的地址
- type: "POST", //请求的方法GET/POST
- data: { //需要传递的参数
- source_type:1,
- title:newName
- },
- async : false, //将ajax请求设置为同步请求
- success: function (res) { //请求成功后的操作
- if(res.result == 1) {
- alert('新建分组成功')
- getGroupList()
- getImgList(1,'')
- newDialog.style.display = "none"
- document.getElementById("new-group").value="";
- startNum.innerHTML = '0'
- imgObj = {}
- imgArr =[]
- }
- },
- error: function (err) { //请求失败后的操作
- console.log(err); //请求失败在控制台输出22
- }
- })
- }
- function cancleGroup() {
- newDialog.style.display = "none"
- document.getElementById("new-group").value="";
- }
- function onfocusClick() {
- netlink.style.border = '1px solid #29ba9c'
- }
- function onblurClick() {
- netlink.style.border = '1px solid #DCDFE6'
- }
- function getImgList(page,tag_id) {//默认请求全部图片
- let filterTime=$("input[name='imageFilterTime']").val();
- console.log(filterTime);
- if(filterTime){
- filterTime={
- year:parseInt(filterTime.split("-")[0]),
- month:parseInt(filterTime.split("-")[1])
- }
- }else {
- filterTime={
- year:null,
- month:null
- };
- }
- $.ajax({
- url: '{!! yzWebUrl("upload.uploadV3.getImage") !!}',
- type: "POST",
- data: {
- page:page,
- pageSize: 12,
- tag_id:tag_id,
- date:filterTime
- },
- async : false,
- success: function (res) {
- if(res.result == 1) {
- imgList = res.data.data;
- // console.log(imgList,'11111111111111')
- total = res.data.total;
- last_page = res.data.last_page || 1;
- let str = ''
- imgList.forEach((item,index) => {
- str += ` <div class="img-source fl" id="sel-input"><img src="${item.url}" alt="">
- <!--<p>${item.filename}</p>-->
- <div class="img-mark" id=${item.id}>
- <input type="checkbox" class="sel-checkbox" srcs=${item.url} id=${item.id} attachments=${item.attachment}>
- </div>
- </div>`
- })
- if(imgList.length <= 0) {
- str = `<div id="none-data">暂无数据</div>`
- }
- $('#imgList').html(str)
- }
- },
- error: function (err) {
- console.log(err);
- }
- })
- };
- (function() {
- getImgList(1,'');
- })();
- var file = document.getElementById('uploadfle')
- // 点击上传
- file.onchange = function () {
- console.log(this.files,"this.files")
- // var fileData = this.files[0]; //获取到一个FileList对象中的第一个文件( File 对象),是我们上传的文件
- uploadImage(this.files, 0);
- }
- function uploadImage(files, index) {
- let fileData = files[index];
- let fd = new FormData();
- fd.append("file", fileData);
- $.ajax({
- url: "{!! yzWebUrl("upload.uploadV3.upload") !!}"+'&upload_type=image'+"&tag_id=" + groupId,
- type: "POST",
- contentType: false,
- // 告诉jQuery不要去设置Content-Type请求头
- processData: false,
- // 告诉jQuery不要去处理发送的数据
- data: fd ,
- async : false,
- success: function (res) {
- if(res.result == 1) {
- // alert('图片上传成功!')
- if(index < files.length-1) {
- // 多图采用递归上传
- index++;
- uploadImage(files, index);
- return
- }
- getImgList(1, groupId)
- imgArr = []
- imgObj ={}
- // 已经在getImgList方法里面执行;没必要再执行一次
- // let str = ''
- // imgList.forEach((item,index) => {
- // str += ` <div class="img-source fl" id="sel-input"><img src="${item.url}" alt="">
- // <!--<p>${item.filename}</p>-->
- // <div class="img-mark" id=${item.id}>
- // <input type="checkbox" class="sel-checkbox" srcs=${item.url} id=${item.id} attachments=${item.attachment}>
- // </div>
- // </div>`
- // })
- // $('#imgList').html(str)
- // if(total == 0) {
- // totalPage = 1;
- // }
- var slp = new SimplePagination(last_page)
- slp.init({
- container: '.page-box',
- // maxShowBtnCount: 3,
- onPageChange: state => {
- page = state.pageNumber
- // console.log(page)
- getImgList(page,groupId)
- slectImg()
- startNum.innerHTML = '0'
- imgObj = {}
- imgArr =[]
- }
- })
- totalNum.innerHTML = total
- slectImg()
- // 上传成功默认选中
- // console.log(document.getElementsByClassName('sel-checkbox')[0])
- // 可以勾选多个的时候执行
- if(tag== "more") {
- let defaultSels = document.getElementsByClassName('sel-checkbox')
- for(let i = 0; i < files.length; i++) {
- defaultSels[i].checked = true;
- defaultSels[i].parentNode.classList.add('shows');
- ids = defaultSels[i].attributes["id"].value;
- let path = defaultSels[i].attributes["attachments"].value;
- let paths = defaultSels[i].attributes["srcs"].value;
- imgArr.push({"id":ids,"url":paths,"attachment":path});
- }
- startNum.innerHTML = imgArr.length
- }
- // 只能勾选单个的时候执行
- if(tag== "single") {
- let defaultSel = document.getElementsByClassName('sel-checkbox')[0]
- defaultSel.checked = true
- defaultSel.parentNode.classList.add('shows')
- id = defaultSel.attributes["id"].value
- let path = defaultSel.attributes["attachments"].value
- let paths = defaultSel.attributes["srcs"].value
- imgObj.id = id
- imgObj.url = paths
- imgObj.attachment = path
- startNum.innerHTML = '1'
- }
- let gid = getEle()
- // console.log(gid)
- if(gid == '') {
- gid ='all'
- }
- var newNum = document.getElementById(gid)
- let num = Number(newNum.innerHTML)
- num += 1
- newNum.innerHTML = num
- file.value = ''
- } else {
- alert(res.msg)
- }
- },
- error: function (err) {
- console.log(err);
- }
- })
- }
- function getEle() {
- return groupId
- }
- function getNteImg(url,tag_id) {
- $.ajax({
- url: "{!! yzWebUrl("upload.uploadV3.fetch") !!}", //请求接口的地址
- type: "POST", //请求的方法GET/POST
- data: { //需要传递的参数
- url:url,
- tag_id:tag_id
- },
- async : false, //将ajax请求设置为同步请求
- success: function (res) { //请求成功后的操作
- if(res.result == 1) {
- }
- },
- error: function (err) { //请求失败后的操作
- console.log(err); //请求失败在控制台输出22
- }
- })
- }
- function conversion() {
- document.querySelector(".new-img").style.display="block";
- netIMgLink = document.getElementById("net-img").value;
- // console.log(netIMgLink)
- var showNetImg = document.getElementById('show-net-img')
- showNetImg.src = netIMgLink
- getNteImg(netIMgLink,0)//转入未分组,未分组的id是0
- document.getElementById("net-img").value = '';
- alert('图片提取到未分组')
- }
- function slectImg() {
- imgObj ={}
- if(tag == 'single' ) {
- for (let index = 0; index < imgMark.length; index++) {
- const imgMarkEl = imgMark[index];
- imgMarkEl.onclick=function(){
- id=imgMarkEl.id;
- const checkEl= this.querySelector("input[type=checkbox]");
- let checkedStatus=checkEl.checked= !checkEl.checked;
- if(checkedStatus == true) {
- id = checkEl.attributes["id"].value
- var img = document.getElementById(id);
- img.classList.add("shows");
- let path = checkEl.attributes["attachments"].value
- let paths = checkEl.attributes["srcs"].value
- imgObj.id = id
- imgObj.url = paths
- imgObj.attachment = path
- startNum.innerHTML = '1'
- imgArr.push({"id":id,"url":paths,"attachment":path})
- } else {
- imgObj ={}
- imgCount = 0
- var img = document.getElementById(id)
- img.classList.remove("shows");
- startNum.innerHTML = '0'
- }
- imgArr.forEach((item,index) => {
- if(item.id == id) {
- imgArr.splice(index,1)
- }
- })
- for(var i = 0;i < checkbox.length;i++) {
- checkbox[i].checked = false
- checkbox[i].parentNode.classList.remove("shows")
- if(id == checkbox[i].id && checkedStatus == true) {
- checkbox[i].checked = true
- var img = document.getElementById(id)
- img.classList.add("shows");
- }
- }
- }
- }
- for(var i = 0;i < checkbox.length;i++) {
- checkbox[i].change = function(e) {
- let checkedStatus = this.checked;
- if(checkedStatus == true) {
- id = this.attributes["id"].value
- var img = document.getElementById(id);
- img.classList.add("shows");
- let path = this.attributes["attachments"].value
- let paths = this.attributes["srcs"].value
- imgObj.id = id
- imgObj.url = paths
- imgObj.attachment = path
- startNum.innerHTML = '1'
- } else {
- imgObj ={}
- imgCount = 0
- var img = document.getElementById(id)
- img.classList.remove("shows");
- startNum.innerHTML = '0'
- }
- for(var i = 0;i < checkbox.length;i++) {
- checkbox[i].checked = false
- checkbox[i].parentNode.classList.remove("shows")
- if(id == checkbox[i].id && checkedStatus == true) {
- checkbox[i].checked = true
- img.classList.add("shows");
- }
- }
- }
- }
- }
- if(tag == 'more') {
- for (let index = 0; index < imgMark.length; index++) {
- const imgMarkEl = imgMark[index];
- imgMarkEl.onclick=function(){
- id=imgMarkEl.id;
- const checkEl= this.querySelector("input[type=checkbox]");
- let checkedStatus= checkEl.checked= !checkEl.checked;
- if(checkedStatus == true) {
- id = checkEl.attributes["id"].value
- var img = document.getElementById(id)
- img.classList.add("shows");
- let path = checkEl.attributes["attachments"].value
- let paths = checkEl.attributes["srcs"].value
- imgArr.push({"id":id,"url":paths,"attachment":path})
- // console.log(imgArr,'执行了吗');
- startNum.innerHTML = imgArr.length;
- } else {
- ids = checkEl.attributes["id"].value
- imgArr.forEach((item,index) => {
- if(item.id == ids) {
- imgArr.splice(index,1)
- }
- })
- var img = document.getElementById(ids)
- img.classList.remove("shows");
- startNum.innerHTML = imgArr.length
- }
- }
- }
- // console.log(imgArr,22);
- for(var i = 0;i < checkbox.length;i++) {
- checkbox[i].onchange = function(e) {
- e.stopPropagation();
- // console.log(i);
- let checkedStatus = this.checked;
- if(checkedStatus == true) {
- id = this.attributes["id"].value
- var img = document.getElementById(id)
- img.classList.add("shows");
- let path = this.attributes["attachments"].value
- let paths = this.attributes["srcs"].value
- imgArr.push({"id":id,"url":paths,"attachment":path})
- // console.log(imgArr,'执行了吗');
- startNum.innerHTML = imgArr.length;
- } else {
- ids = this.attributes["id"].value
- imgArr.forEach((item,index) => {
- if(item.id == ids) {
- imgArr.splice(index,1)
- }
- })
- var img = document.getElementById(ids)
- img.classList.remove("shows");
- startNum.innerHTML = imgArr.length
- }
- }
- }
- }
- }
- // (function() {
- slectImg() //调用 不可去掉
- // })();
- class SimplePagination {
- constructor(totalPageCount) {
- if (!totalPageCount) return
- this.state = {
- pageNumber: 1,
- totalPageCount
- }
- }
- init(paramsObj) {
- let state = this.state
- state.container = paramsObj.container || 'body'
- state.maxShowBtnCount = paramsObj.maxShowBtnCount || 5
- state.pCName = paramsObj.pCName || 'page-li',
- state.activeCName = paramsObj.activeCName || 'page-active',
- state.dataNumberAttr = paramsObj.dataNumberAttr || 'data-number',
- state.prevCName = paramsObj.prevCName || 'page-prev',
- state.nextCName = paramsObj.nextCName || 'page-next',
- state.disbalePrevCName = paramsObj.disbalePrevCName || 'no-prev',
- state.disbaleNextCName = paramsObj.disbaleNextCName || 'no-next',
- state.pageNumberCName = paramsObj.pageNumberCName || 'page-number'
- state.swEvent = paramsObj.swEvent || 'click'
- state.onPageChange = paramsObj.onPageChange
- state.totalPageCount > state.maxShowBtnCount + 2 && (state.activePosition = Math.ceil(state.maxShowBtnCount / 2))
- this.renderPageDOM()
- }
- switchPage() {
- let state = this.state
- let pCNameList = this.selectorEle('.' + state.pCName, true)
- let pageNumber
- pCNameList.forEach(item => {
- item.addEventListener(state.swEvent, e => {
- const currentPageEle = e.target
- if (this.hasClass(currentPageEle, state.activeCName)) return
- let dataNumberAttr = currentPageEle.getAttribute(state.dataNumberAttr)
- if (dataNumberAttr) {
- // 点击 数字 按钮
- pageNumber = +dataNumberAttr
- } else if (this.hasClass(currentPageEle, state.prevCName)) {
- // 点击 上一页 按钮
- state.pageNumber > 1 && (pageNumber = state.pageNumber - 1)
- } else if (this.hasClass(currentPageEle, state.nextCName)) {
- // 点击 下一页 按钮
- state.pageNumber < state.totalPageCount && (pageNumber = state.pageNumber + 1)
- }
- pageNumber && this.gotoPage(pageNumber)
- })
- })
- }
- gotoPage(pageNumber) {
- let state = this.state
- let evaNumberLi = this.selectorEle('.' + state.pageNumberCName, true)
- let len = evaNumberLi.length
- if (!len || this.isIllegal(pageNumber)) return
- // 清除 active 样式
- this.removeClass(this.selectorEle(`.${state.pCName}.${state.activeCName}`), state.activeCName)
- if (state.activePosition) {
- let rEllipseSign = state.totalPageCount - (state.maxShowBtnCount - state.activePosition) - 1
- // 左边不需要出现省略符号占位
- if (pageNumber <= state.maxShowBtnCount && (pageNumber < rEllipseSign)) {
- if (+evaNumberLi[1].getAttribute(state.dataNumberAttr) > 2) {
- for (let i = 1; i < state.maxShowBtnCount + 1; i++) {
- evaNumberLi[i].innerText = i + 1
- evaNumberLi[i].setAttribute(state.dataNumberAttr, i + 1)
- }
- }
- this.hiddenEllipse('.ellipsis-head')
- this.hiddenEllipse('.ellipsis-tail', false)
- this.addClass(evaNumberLi[pageNumber - 1], state.activeCName)
- }
- // 两边都需要出现省略符号占位
- if (pageNumber > state.maxShowBtnCount && pageNumber < rEllipseSign) {
- this.hiddenEllipse('.ellipsis-head', pageNumber === 2 && state.maxShowBtnCount === 1)
- this.hiddenEllipse('.ellipsis-tail', false)
- for (let i = 1; i < state.maxShowBtnCount + 1; i++) {
- evaNumberLi[i].innerText = pageNumber + (i - state.activePosition)
- evaNumberLi[i].setAttribute(state.dataNumberAttr, pageNumber + (i - state.activePosition))
- }
- this.addClass(evaNumberLi[state.activePosition], state.activeCName)
- }
- // 右边不需要出现省略符号占位
- if (pageNumber >= rEllipseSign) {
- this.hiddenEllipse('.ellipsis-tail')
- this.hiddenEllipse('.ellipsis-head', false)
- if (+evaNumberLi[len - 2].getAttribute(state.dataNumberAttr) < state.totalPageCount - 1) {
- for (let i = 1; i < state.maxShowBtnCount + 1; i++) {
- evaNumberLi[i].innerText = state.totalPageCount - (state.maxShowBtnCount - i) - 1
- evaNumberLi[i].setAttribute(state.dataNumberAttr, state.totalPageCount - (state.maxShowBtnCount - i) - 1)
- }
- }
- this.addClass(evaNumberLi[(state.maxShowBtnCount + 1) - (state.totalPageCount - pageNumber)], state.activeCName)
- }
- } else {
- // 不需要省略符号占位
- this.addClass(evaNumberLi[pageNumber - 1], state.activeCName)
- }
- state.pageNumber = pageNumber
- state.onPageChange && state.onPageChange(state)
- // 判断 上一页 下一页 是否可使用
- this.switchPrevNextAble()
- }
- switchPrevNextAble() {
- let state = this.state
- let prevBtn = this.selectorEle('.' + state.prevCName)
- let nextBtn = this.selectorEle('.' + state.nextCName)
- // 当前页已经是第一页,则禁止 上一页 按钮的可用性
- state.pageNumber > 1
- ? (this.hasClass(prevBtn, state.disbalePrevCName) && this.removeClass(prevBtn, state.disbalePrevCName))
- : (!this.hasClass(prevBtn, state.disbalePrevCName) && this.addClass(prevBtn, state.disbalePrevCName))
- // 当前页已经是最后一页,则禁止 下一页 按钮的可用性
- state.pageNumber >= state.totalPageCount
- ? (!this.hasClass(nextBtn, state.disbaleNextCName) && this.addClass(nextBtn, state.disbaleNextCName))
- : (this.hasClass(nextBtn, state.disbaleNextCName) && this.removeClass(nextBtn, state.disbaleNextCName))
- }
- renderPageDOM() {
- // 渲染页码DOM
- let state = this.state
- let pageContainer = this.selectorEle(state.container)
- if (!pageContainer) return
- let { totalPageCount, pCName, prevCName, disbalePrevCName, pageNumberCName,
- activeCName, dataNumberAttr, maxShowBtnCount, nextCName, disbaleNextCName } = state
- let paginationStr = `
- <ul class="clearfix paginations">
- <li class="${pCName} ${prevCName} ${disbalePrevCName}"><</li>
- <li class="${pCName} ${pageNumberCName} ${activeCName}" ${dataNumberAttr}='1'>1</li>
- `
- if (totalPageCount - 2 > maxShowBtnCount) {
- paginationStr += `
- <li class="${pCName} number-ellipsis ellipsis-head" style="display: none;">...</li>`
- for (let i = 2; i < maxShowBtnCount + 2; i++) {
- paginationStr += `<li class="${pCName} ${pageNumberCName} ${i === 1 ? activeCName : ''}" ${dataNumberAttr}='${i}'>${i}</li>`
- }
- paginationStr += `
- <li class="${pCName} number-ellipsis ellipsis-tail">...</li>
- <li class="${pCName} ${pageNumberCName}" ${dataNumberAttr}='${totalPageCount}'>${totalPageCount}</li>
- `
- } else {
- for (let i = 2; i <= totalPageCount; i++) {
- paginationStr += `<li class="${pCName} ${pageNumberCName}" ${dataNumberAttr}='${i}'>${i}</li>`
- }
- }
- paginationStr += `<li class="${pCName} ${nextCName}${totalPageCount === 1 ? ' ' + disbaleNextCName : ''}">></li></ul>`
- pageContainer.innerHTML = paginationStr
- // 切换页码
- this.switchPage()
- }
- isIllegal(pageNumber) {
- let state = this.state
- return (
- state.pageNumber === pageNumber || Math.ceil(pageNumber) !== pageNumber ||
- pageNumber > state.totalPageCount || pageNumber < 1 ||
- typeof pageNumber !== 'number' || pageNumber !== pageNumber
- )
- }
- hiddenEllipse(selector, shouldHidden = true) {
- this.selectorEle(selector).style.display = shouldHidden ? 'none' : ''
- }
- selectorEle(selector, all = false) {
- return all ? document.querySelectorAll(selector) : document.querySelector(selector)
- }
- hasClass(eleObj, className) {
- return eleObj.classList.contains(className);
- }
- addClass(eleObj, className) {
- eleObj.classList.add(className);
- }
- removeClass(eleObj, className) {
- if (this.hasClass(eleObj, className)) {
- eleObj.classList.remove(className);
- }
- }
- }
- totalNum.innerHTML = total
- var slp = new SimplePagination(last_page)
- slp.init({
- container: '.page-box',
- onPageChange: state => {
- page = state.pageNumber
- // console.log(page)
- getImgList(page,groupId)
- slectImg()
- startNum.innerHTML = '0'
- imgObj = {}
- imgArr =[]
- }
- })
- $('#group-item').on('click','.D-gro', function() {
- groupId = $(this).attr('ids')
- $(this).addClass('text-bg');
- $(this).siblings('p').removeClass('text-bg');
- getImgList(1,groupId)
- // if(total == 0) {
- // totalPage = 1;
- // }
- startNum.innerHTML = '0'
- imgObj = {}
- imgArr =[]
- var slp = new SimplePagination(last_page)
- slp.init({
- container: '.page-box',
- onPageChange: state => {
- page = state.pageNumber
- // console.log(page)
- getImgList(page,groupId)
- slectImg()
- startNum.innerHTML = '0'
- imgObj = {}
- imgArr =[]
- }
- })
- totalNum.innerHTML = total
- slectImg()
- });
- // 点击确定函数,获取勾选图片的数据 单个选择获取的是imgObj 多个选择获取到的是imgArr 添加图片
- function determine() {
- // var markBox = document.getElementById('mark-box')
- // var imgDialog = document.getElementById('img-dialog')
- // markBox.style.display = "none"
- // imgDialog.style.display = "none"
- $("#imgList .img-mark").each(function() {
- $(this).removeClass("shows");
- $(this).children(".sel-checkbox").prop("checked",false);
- })
- $("#mark-box").hide();
- if(tag == 'more') {
- difNum = more_img_arr[current_element_num].length;
- for(let i=0;i<imgArr.length;i++) {
- let html = `
- <div class="multi-item items ${current_element_num}-element${difNum+i+delete_num[current_element_num]}">
- <div class="img_box">
- <img onerror="this.src='{{static_url('./resource/images/nopic.jpg')}}'; this.title='图片未找到'" src="${imgArr[i].url}" class="img-responsive img-thumbnail">
- </div>
- <input type="hidden" name="${byte_type}[]" value="${imgArr[i].attachment}">
- <em class="close" title="删除这张图片" onclick="deleteMultiImage2(this,${current_element_num})">×</em>
- </div>
- `
- $(input_image_name).parent().parent().next().append(html);
- arrIndex[current_element_num].push(difNum+i+delete_num[current_element_num]);
- srcArr[current_element_num].push(imgArr[i].attachment);
- more_img_arr[current_element_num].push(imgArr[i].attachment);
- }
- let count = arrIndex[current_element_num].length;
- info(count, current_element_num);
- redraw(0, current_element_num);
- tuofang(current_element_num);
- }else {
- var ipt = $(input_image_name).parent().prev();
- ipt.val(imgObj.attachment);
- ipt.attr("filename",imgObj.filename);
- ipt.attr("url",imgObj.url);
- var img = ipt.parent().next().children();
- img.get(0).src = imgObj.url
- }
- imgArr=[];
- }
- // 初始值
- function info(count, index){
- let curr = -1;
- if(index !== '' && index !== undefined && index !== null) {
- curr = index;
- }else {
- curr = current_element_num;
- }
- box_w = $(`.input-group`).width();//取总宽度
- if(item_w===undefined || item_w===null){
- item_w = $(".multi-item").outerWidth(true);//每个item占的横向位置
- item_h = $(".img_box").outerHeight(true);//每个item占的横向位置
- };
- col_len = Math.floor(box_w/item_w);//共分多少列
- few_len = Math.ceil(count/col_len);//共分多少行
- box_h[index] = item_h*few_len;
- $(`.multi-img-details`).eq(curr).height(box_h[index]+"px");
- }
- //调用绘制
- function redraw(slidetime,index){
- let curr = -1;
- if(index !== '' && index !== undefined && index !== null) {
- curr = index;
- }else {
- curr = current_element_num;
- }
- for(var i=0;i < more_img_arr[curr].length;i++){
- this.computat(i,`${curr}-element${arrIndex[curr][i]}`,slidetime);
- }
- }
- //绘制/移动
- function draw(dom,col,few,slidetime){
- dom.css({
- "transition-duration": slidetime+"ms",
- "transform":"translate("+col+"px,"+few+"px)",
- });
- }
- //计算位置
- function computat(index,domid,slidetime){
- var item = $("."+domid);
- item.attr({
- "item":index,
- });
- var col_aliquot=index%col_len;
- var row_aliquot=Math.floor(index/col_len);
- var index_col = item_w*(col_aliquot);
- var index_few = item_h*row_aliquot;
- draw(item,index_col,index_few,slidetime);
- item.attr({
- "col":index_col,
- "few":index_few
- })
- }
- // 排序图片值
- function sortImg(curr){
- for(let i = 0;i<arrIndex[curr].length;i++){
- $('.multi-img-details').eq(curr).children('.items').eq(i).find("input").val(srcArr[curr][arrIndex[curr][i]]);
- }
- }
- //取消
- function cancle() {
- var markBox = document.getElementById('mark-box');
- markBox.style.display = "none";
- $("#imgList .img-mark").each(function() {
- $(this).removeClass("shows");
- $(this).children(".sel-checkbox").prop("checked",false);
- })
- imgArr=[];
- }
- //关闭选择图片
- function closeImgDialog() {
- $("#imgList .img-mark").each(function() {
- $(this).removeClass("shows");
- $(this).children(".sel-checkbox").prop("checked",false);
- })
- $("#mark-box").hide();
- imgArr=[];
- }
- //打开选择图片
- function showImageDialog2(el,type,b_type,num) {
- $("#mark-box").show();
- input_image_name = el
- tag = type || 'single'
- byte_type = b_type
- current_element_num = num || 0;
- var file = document.getElementById('uploadfle')
- if(tag== "more") {
- // 多图上传
- file.setAttribute('multiple', true);
- }else {
- file.removeAttribute('multiple');
- }
- slectImg();
- }
- //删除图片
- function deleteMultiImage2(elm,index){
- let curr = -1;
- if(index !== '' && index !== undefined && index !== null) {
- curr = index;
- }else {
- curr = current_element_num;
- }
- delete_num[current_element_num]++;//已经删除的个数
- let itemi = parseInt($(elm).parent().attr("item"));
- let arr2 = [];
- for(var i=0;i<arrIndex[curr].length;i++){
- if(i==itemi){
- arrIndex[curr][i]=null;
- }else if(arrIndex[curr][i]!=null){
- arr2.push(arrIndex[curr][i]);
- };
- }
- new Promise(function(resolve) {
- $(elm).parent().remove();
- more_img_arr[curr].splice(itemi,1);
- arrIndex[curr] = arr2;
- redraw(200,curr);
- resolve();
- }).then(function() {
- // sortImg()
- });
- //调整高度
- let count = arr2.length;//item数量
- info(count, curr);
- }
- //拖动排序
- function tuofang(index){
- let curr = -1;
- if(index !== '' && index !== undefined && index !== null) {
- curr = index;
- }else {
- curr = current_element_num;
- }
- var stsrtcol,stsrtfew,//初始位置
- mobiexident,mobieyident,//移动标识
- startindex;//当前点击元素的item值
- var isdrag=false;//是否可以拖动
- var ischange=false;//是否有改动
- var dom;//按下后移动的对象
- $(".multi-img-details").eq(curr).on({
- mousedown:function(e){
- e.preventDefault();
- startindex=parseInt($(this).attr("item"));
- $(this).css({"opacity":"0.8","z-index":"10"});
- var startx=e.pageX;
- var starty=e.pageY;
- dom =e.currentTarget;
- isdrag=true;
- stsrtcol=parseInt($(this).attr("col"));
- stsrtfew=parseInt($(this).attr("few"));
- $(this).off("mousemove").off("mouseup").off("mouseleave").on({
- mousemove:function(e){
- if(isdrag){
- var movex=e.pageX;
- var movey=e.pageY;
- var mobiex=stsrtcol+movex-startx;
- var mobiey=stsrtfew+movey-starty;
- if(mobiex>box_w-item_w){
- mobiex=box_w-item_w;
- }else if(mobiex < 0){
- mobiex=0;
- }
- if(mobiey>box_h[curr]-item_h){
- mobiey=box_h[curr]-item_h;
- }else if(mobiey < 0){
- mobiey=0;
- }
- if(Math.abs(movex-startx)>10||Math.abs(movey-starty)>10){
- ischange=true;
- mobiexident=Math.abs(Math.ceil((mobiex-item_w/2)/item_w));
- mobieyident=Math.abs(Math.ceil((mobiey-item_h/2)/item_h));
- draw($(this),mobiex,mobiey,0);
- }
- }
- },
- mouseup:function(e){
- if(isdrag){
- isdrag=false;
- $(this).css({"opacity":"1","z-index":""});
- draw($(this),stsrtcol,stsrtfew,0);
- if(ischange){
- ischange=false;
- let toposion = mobieyident*col_len+mobiexident;
- let difference=toposion-startindex;
- if(difference > 1){//往后
- let changesitem=arrIndex[curr].splice(startindex,1)[0];
- arrIndex[curr].splice(toposion-1,0,changesitem);
- redraw(200, curr);
- sortImg(curr);
- }else if(difference < 0){//往前
- var changesitem=arrIndex[curr].splice(startindex,1)[0];
- arrIndex[curr].splice(toposion,0,changesitem);
- redraw(200, curr);
- sortImg(curr);
- }
- }
- }
- },
- mouseleave:function(e){
- if(isdrag){
- isdrag=false;
- $(this).css({"opacity":"1","z-index":""});
- draw($(this),stsrtcol,stsrtfew,0);
- }
- },
- })
- },
- },".items")
- }
- function deleteImage2(elm){
- $(elm).prev().attr("src", '{{static_url("resource/images/nopic.jpg")}}');
- $(elm).parent().prev().find("input").val("");
- }
- </script>
|