| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370 |
- /**
- * grid render
- */
- Ext.QuickTips.init();
- Ext.define('erp.util.RenderUtil', {
- /**
- * @PLM
- */
- render_change: function(val, meta, record){
- if(record && record.data.percentdone < 30)
- return '<img src="'+basePath+'resource/images/renderer/remind2.png">'+'<span style="color:#436EEE;padding-left:2px">' + val + '</span>';
- else if(record && record.data.percentdone > 30 && record.data.percentdone < 50)
- return '<img src="'+basePath+'resource/images/renderer/remind.png">'+'<span style="color:#5F9EA0;padding-left:2px">' + val + '</span>';
- else if(record && record.data.point == 100){
- return '<img src="'+basePath+'resource/images/renderer/award1.png">'+'<span style="color:blue;padding-left:2px">' + val + '</span>';
- }else if(record && record.data.point > 80){
- return '<img src="'+basePath+'resource/images/renderer/award2.png">'+'<span style="color:green;padding-left:2px">' + val + '</span>';
- }
- else return val;
- },
- /**
- * @PLM
- */
- plm_recordchange: function(val, meta, record){
- if(record && record.data.wr_percentdone == 100){
- if(record.data.wr_haveattach==1){
- return '<img src="'+basePath+'resource/images/renderer/finishrecord.png">'+'<span style="color:blue;padding-left:2px">' + val + '</span><img style="padding-right:2px" src="../../resource/images/renderer/attach.png">';
- }
- else return '<img src="'+basePath+'resource/images/renderer/finishrecord.png">'+'<span style="color:blue;padding-left:2px">' + val + '</span>';
- }
- else {
- if(record.data.wr_haveattach==1){
- return '<span style="color:green;padding-left:2px">' + val + '</span><img align="right" style="padding-right:2px" src="'+basePath+'resource/images/renderer/attach.png">';
- }
- else return '<span style="color:green;padding-left:2px">' + val + '</span>';
- }
- },
- /**
- * @PLM
- */
- plm_projectbudget:function(val,meta,record){
- if(record.data.cost>record.data.budget){
- return '<div class="color-column-inner" style="background-color:red" align="center"> </div>';
- }else return '<div class="color-column-inner" style="background-color:green" align="center"> </div>';
- },
- plm_projectchange: function(val, meta, record){
- if(record && record.data.prjplan_prjname == 'ERP')
- return '<img src="'+basePath+'resource/images/renderer/important.png">'+'<span style="color:blue;padding-left:2px">' + val + '</span>';
- else return '<span style="color:green;padding-left:2px">' + val + '</span>';
- },
- plm_reduce: function(val, meta, record, x, y, store, view){
- var me = this.RenderUtil || this;
- var field = this.columns[y].dataIndex;
- if(me.args){
- var arg = me.args.plm_reduce[field];
- var maxValue = 0;
- if(arg && arg.length > 0){
- var v = 0;
- Ext.each(arg, function(a, index){
- if(Ext.isNumber(a)){
- v = a;
- } else {
- v = record.data[a] || 0;
- }
- if(index == 0){
- maxValue = Number(v);
- } else {
- maxValue -= Number(v);
- }
- });
- }
- val = (val == null || val == 0) ? maxValue : val;
- if(record.data[field] != val){
- record.set(field, val);
- }
- if(val > 0){
- return '<img src="' + basePath + 'resource/images/icon/need.png">' +
- '<span style="color:blue;padding-left:2px">' + val + '</span>';
- } else if(val < 0){
- return 0;
- } else {
- return val;
- }
- } else {
- return val;
- }
- },
- /**
- * @PLM
- */
- plm_resource_rank:function(val,meta,record){
- if(record&&record.data.percentdone>89){
- return '<img src="'+basePath+'resource/images/renderer/start1.png">'+'<img src="'+basePath+'resource/images/renderer/start1.png">'+'<img src="'+basePath+'resource/images/renderer/start1.png">'+'<span style="color:blue;padding-left:2px">' + val + '</span>';
- }else if(record&&record.data.percentdone>69&&record.data.percentdone<90){
- return '<img src="'+basePath+'resource/images/renderer/start1.png">'+'<img src="'+basePath+'resource/images/renderer/start1.png">'+'<span style="color:blue;padding-left:2px">' + val + '</span>';
- }else if(record&&record.data.percentdone>50&&record.data.percentdone<70){
- return '<img src="'+basePath+'resource/images/renderer/start1.png">'+'<img src="'+basePath+'resource/images/renderer/start2.png">'+'<span style="color:blue;padding-left:2px">' + val + '</span>';
- }
- },
- /**
- *@PLM
- * */
- PLM_planstatus:function(val,meta,record){
- var statuscode=record.data['prjplan_statuscode'];
- if(statuscode=='FINISHED'){
- return '<img src="' + basePath + 'resource/images/renderer/finishrecord.png" >' +
- '<span style="color:green;padding-left:2px;">' + val + '</span>';
- }else if(statuscode=='DOING'){
- return '<img src="' + basePath + 'resource/images/renderer/doing.png" >' +
- '<span style="color:blue;padding-left:2px;">' + val + '</span>';
- }else return '<img src="' + basePath + 'resource/images/renderer/remind2.png" >'+'<span style="color:red;padding-left:2px;">' + val + '</span>';
- },
- PLM_MainTaskStatus:function(val,meta,record){
- var statuscode=record.data['handstatuscode'];
- if(statuscode=='FINISHED'){
- return '<img src="' + basePath + 'resource/images/renderer/finishrecord.png" >' +
- '<span style="color:green;padding-left:2px;">' + val + '</span>';
- }else if(statuscode=='DOING'){
- return '<img src="' + basePath + 'resource/images/renderer/doing.png" >' +
- '<span style="color:blue;padding-left:2px;">' + val + '</span>';
- }else if(statuscode=='ACTIVE'||statuscode=='STOP'){
- return '<img src="' + basePath + 'resource/images/renderer/key2.png" >' +
- '<span style="color:red;padding-left:2px;" >' + val + '</span>';
- }else {
- return '<img src="' + basePath + 'resource/images/renderer/key1.png">'+'<span style="color:#8B8B83;padding-left:2px ">' + val + '<a/></span>';
- }
- },
- PLM_TaskStatus:function(val,meta,record){
- var statuscode=record.data['ra_statuscode'];
- if(statuscode=='FINISHED'){
- return '<img src="' + basePath + 'resource/images/renderer/finishrecord.png" >' +
- '<span style="color:green;padding-left:2px;">' + val + '</span>';
- }else if(statuscode=='START'){
- return '<img src="' + basePath + 'resource/images/renderer/doing.png" >' +
- '<span style="color:blue;padding-left:2px;">' + val + '</span>';
- }else if(statuscode=='STOP'){
- return '<img src="' + basePath + 'resource/images/renderer/key1.png">'+'<span style="color:#8B8B83;padding-left:2px ">' + val + '<a/></span>';
- }else {
- return '<img src="' + basePath + 'resource/images/renderer/key2.png">'+'<span style="color:#8B8B83;padding-left:2px ">' + val + '<a/></span>';
- }
- },
- /**
- *@PLM
- * */
- plm_BUGAttach:function(val,meta,record){
- if(record&&record.data.cld_attach!=null&&record.data.cld_attach!=""){
- var attach=record.data.cld_attach;
- //var path="dsd";
- // return '<a href=' + basePath + 'common/downloadbyId.action>下载</a>';
- return '<img align= style="padding-left:2px" src="'+basePath+'resource/images/renderer/attach.png"></span>'+val+'</br><a href="' + basePath + 'common/downloadbyId.action?id='+attach.split(";")[1]+'">' + attach.split(";")[0] + '</a>';
- }else return '<img src="' + basePath + 'resource/images/icon/need.png" title="'+val+'">' +
- '<span style="color:blue;padding-left:2px;" title="'+val+'">' + val + '</span>';
- },
- plm_BUGTurn:function(val,meta,record){
- if(record&&record.data.cc_turn!=null&&record.data.cc_turn!=""){
- var turn=record.data.cc_turn;
- meta.style = "text-align:center";
- return '<sapn style="color:blue;padding-left:20px;">'+turn.split(";")[0]+'</span><img style="padding-left:10px;padding-top:3px;padding-right:10px;" src="'+basePath+'resource/images/renderer/turn.png">'+turn.split(";")[1];
- }else return "";
- },
- /**
- *@PLM
- * */
- plm_BUGStatus:function(val,meta,record){
- var statuscode=record.data.cld_statuscode?record.data.cld_statuscode:record.data.cbd_statuscode;
- if(statuscode=='PENDING'){
- return '<img src="' + basePath + 'resource/images/renderer/key2.png" title="'+val+'">' +
- '<span style="color:red;padding-left:2px;" title="'+val+'">' + val + '</span>';
- }else if(statuscode=='TESTING'){
- return '<img src="' + basePath + 'resource/images/renderer/test.png" title="'+val+'">' +
- '<span style="color:blue;padding-left:2px;" title="'+val+'">' + val + '</span>';
- }else if(statuscode=='HANDED'){
- return '<img src="' + basePath + 'resource/images/renderer/finishrecord.png" title="'+val+'">' +
- '<span style="color:green;padding-left:2px;" title="'+val+'">' + val + '</span>';
- }else if(statuscode=='NOTDEAL'){
- return '<img src="' + basePath + 'resource/images/renderer/key1.png" title="'+val+'">' +
- '<span style="color:#8B8B83;padding-left:2px;" title="'+val+'">' + val + '</span>';
- }
- },
- plm_BUGTest:function(val,meta,record){
- if(val&&val!=null){
- if(val=='-1'){
- return '<span style="color:green;padding-left:2px;" title="'+val+'">测试通过</span>';
- }else if(val=='0'){
- return '<span style="color:red;padding-left:2px;" title="'+val+'">测试失败</span>';
- }
- }else return null;
- },
- /**
- *稽核查看单据信息
- * */
- SysCheckHref:function(val,meta,record){
- var url=null;
- if(record.data.scd_url.indexOf('?')>0){
- if(record.data.sf_mainfield){
- //主从记录都有
- url=record.data.scd_url+"&formCondition="+record.data.sf_keyfield+"IS"+record.data.scd_sourceid+"&gridCondition="+record.data.sf_mainfield+"IS"+record.data.scd_sourceid;
- }else url=record.data.scd_url+"&formCondition="+record.data.sf_keyfield+"IS"+record.data.scd_sourceid;
- }else {
- if(record.data.sf_mainfield){
- //主从记录都有
- url=record.data.scd_url+"?formCondition="+record.data.sf_keyfield+"IS"+record.data.scd_sourceid+"&gridCondition="+record.data.sf_mainfield+"IS"+record.data.scd_sourceid;
- }else url=record.data.scd_url+"?formCondition="+record.data.sf_keyfield+"IS"+record.data.scd_sourceid;
- }
- return '<a href="javascript:openUrl(\''+url+'\');">' + val + '</a>';
- },
- /**
- *查看工作日程
- * */
- seeCalendar:function(val,meta,record){
- if(record.data.epd_emcode!=''&&record.data.epd_starttime!=null && record.data.epd_epid!=0){
- var time=Ext.Date.format(record.data.epd_starttime, 'Y-m-d');
- return "<input type='button' value='查看工作日程' name='detailbutton' style='color:gray;font-size:13px;cursor:pointer;height:25px;' onClick='Ext.getCmp(\"form\").seec(\""+record.data.epd_emcode+"\",\""+time+"\",\""+record.data.epd_epid+"\",\""+caller+"\")'>";
- }
- return '';
- },
- /**
- * 生产计划链接
- * */
- MakePlanHref:function(val,meta,record){
- var url='jsps/pm/make/makeBase.jsp?whoami=Make!Base';
- var code=record.data.ma_code;
- var keyValue=record.data.ma_id;
- url+='&formCondition=ma_idIS'+keyValue+'&gridCondition=mm_maidIS'+keyValue;
- return '<a href="javascript:openUrl(\''+url+'\');">' + code + '</a>';
- },
- /**
- * 生产计划链接
- * */
- MakeHref:function(val,meta,record){
- var url='jsps/pm/make/makeBase.jsp?whoami=Make';
- var code=record.data.ma_code;
- var keyValue=record.data.ma_id;
- url+='&formCondition=ma_idIS'+keyValue+'&gridCondition=mm_maidIS'+keyValue;
- return '<a href="javascript:openUrl(\''+url+'\');">' + code + '</a>';
- },
- /**
- * 应付发票 付款详情
- * */
- PayApbillHref:function(val,meta,record){
- var url='jsps/common/commonpage.jsp?whoami=PayAPBill';
- var code=record.data.ppdd_billcode;
- url+='&formCondition=ab_codeIS'+code+'&gridCondition=pa_codeIS'+code;
- return '<a href="javascript:openUrl(\''+url+'\');">' + code + '</a>';
- },
- /**
- * 采购订单链接
- * */
- PurchaseHref:function(val,meta,record){
- var url='jsps/scm/purchase/purchase.jsp';
- var code=record.data.vad_pucode;
- url+='?formCondition=pu_codeIS'+code+'&gridCondition=pd_codeIS'+code;
- return '<a href="javascript:openUrl(\''+url+'\');">' + code + '</a>';
- },
- /**
- * 付款申请单 应付发票链接
- * */
- ApbillHref:function(val,meta,record){
- var url='jsps/fa/ars/apbill.jsp?whoami=APBill!CWIM';
- var code=record.data.ppdd_billcode;
- url+='&formCondition=ab_codeIS'+code+'&gridCondition=abd_codeIS'+code;
- return '<a href="javascript:openUrl(\''+url+'\');">' + code + '</a>';
- },
- /**
- * 预付款申请单 采购订单链接
- * */
- PurcYFHref:function(val,meta,record){
- var url='jsps/scm/purchase/purchase.jsp';
- var code=record.data.ppdd_pucode;
- url+='?formCondition=pu_codeIS'+code+'&gridCondition=pd_codeIS'+code;
- return '<a href="javascript:openUrl(\''+url+'\');">' + code + '</a>';
- },
- /**
- *
- * 检验单链接
- * */
- IQCHref:function(val,meta,record){
- var url='jsps/scm/qc/verifyApplyDetail2.jsp?whoami=VerifyApplyDetail';
- var code=record.data.ve_code;
- url+='&formCondition=ve_codeIS'+code+'&gridCondition=ved_codeIS'+code;
- return '<a href="javascript:openUrl(\''+url+'\');">' + code + '</a>';
- },
- /*
- *点开链接
- */
- Href: function(val, meta, record,x,y){
- var me = this.RenderUtil || this;
- var field = this.columns[y].dataIndex;
- var KeyValue = 0;
- var url='';
- var title='';
- var arg = me.args.Href[field];
- var keyField=arg[0];
- var data=record.data;
- if(arg && arg.length > 0){
- KeyValue=data[keyField];
- url=arg[1];
- title=arg[2];
- }
- if(val==''||val==$I18N.common.grid.emptyText) return val;
- if(keyField.indexOf('code')>=0){
- return '<a href="javascript:openFormUrl(\'' + KeyValue + '\',\''+keyField+'\',\''+url+'\',\''+title+'\''+ ');">' + val + '</a>';
- }
- return '<a href="javascript:openFormUrl(' + KeyValue + ',\''+keyField+'\',\''+url+'\',\''+title+'\''+ ');">' + val + '</a>';
- },
- /**
- * 生产计划已分拆
- * */
- MakePlanSplited:function(val,meta,record){
- if(record.data.ma_version){
- meta.tdCls = "x-grid-cell-renderer-cl";
- }
- },
- SysCheckStatus:function(val,meta,record){
- var statuscode=record.data.scd_statuscode;
- if(statuscode=='UNEXECUTE'){
- return '<img src="' + basePath + 'resource/images/icon/execute.png">' +
- '<span style="color:red;padding-left:2px">' + val + '</span>';
- }else if(statuscode=='EXECUTE'){
- return '<img src="' + basePath + 'resource/images/renderer/finishrecord.png">' +
- '<span style="color:green;padding-left:2px">' + val + '</span>';
- }else if(statuscode='FREEZE') return '<img src="' + basePath + 'resource/images/renderer/locked.png">' +
- '<span style="color:blue;padding-left:2px">' + val+ '</span>';
- else return null;
- },
- SysCheckMethod:function(val,meta,record){
- var method=record.data.scd_method;
- if(method=='-1'){
- return '<span style="color:red;padding-left:2px">扣分</span>';
- }else if(method=='0') return '<span style="color:blue;padding-left:2px">提醒</span>';
- else return null;
- },
- SysCheckPunish:function(val,meta,record){
- var method=record.data.scd_method;
- meta.align='left';
- if(record.data.scd_ispunished=='-1'){
- return '<span style="color:blue;padding-left:2px">已生成</span>';
- }else if(record.data.scd_ispunished=='0'&&method=='-1'){
- return '<span style="color:green;padding-left:2px">未生成</span>';
- }else return '<span style="color:#8B8B83;padding-left:2px">无</span>';
- },
- /**
- * 显示所有信息
- * */
- showAll:function(val,meta,record){
- if(val&&val!=null&&val.length>20){
- return val.substring(0,20)+'<button onClick="javascript:showAll(' + '\''+val+'\'' +');">详细</button>';
- }else return val;
- },
- /**
- * 通过args传递参数到function
- */
- args: new Object(),
- /**
- * 公式计算
- * 通用方法
- * @expression formula:pd_orderprice/(1+pd_taxrate/100)*pd_inqty
- *
- */
- formula: function(val, meta, record, x, y, store, view){
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex;
- var editvalue=val;
- if(!me || !me.args){
- grid = grid.ownerCt, me = grid.RenderUtil;
- if(!me || !me.args){
- return val;
- }
- }
- var arg = me.args.formula[field];
- if(arg && arg.length > 0){
- var data = record.data,keys = Ext.Object.getKeys(data),formu = arg[0];
- Ext.each(keys, function(k){
- if(contains(formu, k, true)) {
- formu = formu.replace(new RegExp(k,"gm"), '(' + data[k] + ')');
- }
- });
- var d = 0;
- try {
- d = eval(formu);
- } catch (e) {
- d = 0;
- }
- if(d == null || d == '' || String(d) == 'NaN' || String(d).length == 0)
- d = 0;
- var _val = val, _d = d;
- if(column.format) {
- _val = Ext.util.Format.number(val, column.format);
- _d = Ext.util.Format.number(d, column.format);
- }
- val = _val;
- //用原值赋值
- if(_val != _d) {
- val = d;
- record.set(field, d);
- val = _d;
- }
- }
- if(record.get(field) != 0)
- return val;
- return "";
- },
- /**
- * 通过args传递参数到function
- */
- args: new Object(),
- /**
- * 公式计算
- * 通用方法
- * @expression formula:pd_orderprice/(1+pd_taxrate/100)*pd_inqty
- */
- _formula: function(val, meta, record, x, y, store, view){
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex;
- if(!me || !me.args){
- grid = grid.ownerCt, me = grid.RenderUtil;
- if(!me || !me.args){
- return val;
- }
- }
- var arg = me.args._formula[field];
- if(arg && arg.length > 0){
- var data = record.data,keys = Ext.Object.getKeys(data),formu = arg[0];
- Ext.each(keys, function(k){
- if(contains(formu, k, true)) {
- formu = formu.replace(new RegExp(k,"gm"), '(' + data[k] + ')');
- }
- });
- var d = 0;
- try {
- d = eval(formu);
- } catch (e) {
- d = 0;
- }
- if(d == null || d == '' || String(d) == 'NaN' || String(d).length == 0)
- d = 0;
- var fsize = (column.format && column.format.indexOf('.') > -1) ?
- column.format.substr(column.format.indexOf('.') + 1).length : 2,
- _d = d.toFixed(fsize);
- //按设置的格式长度赋值
- if(val != _d) {
- record.set(field, _d);
- val = _d;
- }
- val = Ext.util.Format.number(val, column.format || '0,000.00');
- }
- if(record.get(field) != 0)
- return val;
- return "";
- },
- /**
- * 公式计算
- * 通用方法
- * @expression formula:pd_orderprice/(1+pd_taxrate/100)*pd_inqty
- */
- overqty: function(val, meta, record, x, y, store, view){
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex;
- if(!me || !me.args){
- grid = grid.ownerCt, me = grid.RenderUtil;
- if(!me || !me.args){
- return val;
- }
- }
- var arg = me.args.overqty[field];
- if(arg && arg.length > 0){
- var data = record.data,keys = Ext.Object.getKeys(data),formu = arg[0];
- Ext.each(keys, function(k){
- if(contains(formu, k, true)) {
- formu = formu.replace(new RegExp(k,"gm"), '(' + data[k] + ')');
- }
- });
- var d = 0;
- try {
- d = eval(formu);
- } catch (e) {
- d = 0;
- }
- if(d == null || d == '' || String(d) == 'NaN' || String(d).length == 0)
- d = 0;
- var _val = val, _d = d;
- if(column.format) {
- _val = Ext.util.Format.number(val, column.format);
- _d = Ext.util.Format.number(d, column.format);
- }
- val = _val;
- if(_val != _d) {
- //鉴于小数问题 保留2位小数
- if(column.editor || (column.getEditor && column.getEditor())) {
- val = (!Ext.isNumber(val) || val == 0) ? d : val;
- if(Number(val) - d > 0){
- val = d;
- showError('请不要输入超过最大数量' + d + "的值!");
- }
- } else {
- val = d;
- }
- var _v = val;
- if(column.xtype == 'numbercolumn') {
- _v = Ext.util.Format.number(val, column.format);
- }
- if(Ext.util.Format.number(record.data[field], column.format) != _v){
- record.set(field, val);
- }
- return _v;
- } else {
- return val;
- }
- }
- },
- /**
- * 公式计算
- * 通用方法
- * @expression eval:pd_orderprice/(1+pd_taxrate/100)*pd_inqty
- */
- eval: function(val, meta, record, x, y, store, view){
- meta.tdCls = "x-grid-cell-renderer-bl";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex;
- if(!me || !me.args){
- grid = grid.ownerCt, me = grid.RenderUtil;
- if(!me || !me.args){
- return val;
- }
- }
- var arg = me.args.eval[field];
- if(arg && arg.length > 0){
- val = record.get(field);
- var data = record.data,keys = Ext.Object.getKeys(data),formu = arg[0];
- Ext.each(keys, function(k){
- if(contains(formu, k, true)) {
- formu = formu.replace(new RegExp(k,"gm"), '(' + data[k] + ')');
- }
- });
- var d = 0;
- try {
- d = eval(formu);
- } catch (e) {
- d = 0;
- }
- if(d == null || d == '' || String(d) == 'NaN' || String(d).length == 0)
- return val;
- var _val = val, _d = d;
- if(column.format) {
- _val = Ext.util.Format.number(val, column.format);
- _d = Ext.util.Format.number(d, column.format);
- }
- if(_val != _d) {
- if(record.modified == null || record.modified[field] == null) {
- val = d;
- record.set(field, d);
- record.modified[field] = d;
- }
- }
- }
- return val;
- },
- /**
- * 适用于所有日期类型
- * 超时提示
- * 当v < 当前日期时,表示超时
- * 需要在dataListDetail表的dld_render 配置 overtime:{dateField}
- * 注意:日期类型貌似不能直接render,所以要借助其他字段
- * @expression overtime:pu_delivery
- */
- overtime: function(val, meta, record, x, y, store, view){
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex;
- if(!me || !me.args){
- grid = grid.ownerCt, me = grid.RenderUtil;
- if(!me || !me.args){
- return val;
- }
- }
- var d = new Date();
- var arg = me.args.overtime[field];
- if(arg && arg.length > 0){
- d = record.data[arg[0]];//me.args[0]为需要逻辑判断的日期字段
- }
- if(!Ext.isDate(d)){
- d = Ext.Date.parse(d, 'Y-m-d H:i:s') || Ext.Date.parse(d, 'Y-m-d');
- }
- if(d < new Date()){
- return '<img src="' + basePath + 'resource/images/renderer/important.png" title="时间结束:' + Ext.Date.toString(d) + '">' +
- '<span style="color:blue;padding-left:2px" title="时间结束:' + Ext.Date.toString(d) + '">' + val + '</span>';
- } else {
- return val;
- }
- },
- pd_auditstatus_show:function(val, meta, record, x, y, store, view){
- var grid = view.ownerCt,column = grid.columns[y],field = column.dataIndex;
- var returnStr;
- if(val == 'PARTAR'||val == '部分开票'){
- returnStr = '部分开票';
- }else if(val == 'TURNAR'||val == '已开票'){
- returnStr = '已开票';
- }else{
- returnStr = '未开票';
- }
- if(val != returnStr) {
- val = returnStr;
- record.set(field, val);
- }
- return val;
- },
-
- defaultValue:function(val, meta, record, x, y, store, view){
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex;
- if(val == null || val == '' || val == 0){
- if(!me || !me.args){
- grid = grid.ownerCt, me = grid.RenderUtil;
- if(!me || !me.args){
- return val;
- }
- }
- var v = record.data[field];
- if(v == null || v == '' || (column.xtype == 'numbercolumn' && v == 0)){
- var arg = me.args.defaultValue[field];
- if(arg && arg.length > 0){
- val = arg[0];
- }
- if(val != null && val != '' && val != 0){
- record.set(field, val);
- }
- }
- }
- if(column.xtype == 'numbercolumn' && val != 0){
- val = Ext.util.Format.number(val, column.format);
- }
- return val;
- },
- /**
- * 解析链接,并打开
- * @expression jsps/scm/sale/sendnotify.jsp?formConditionISsn_id={snd_snid}&gridConditionISsnd_snid={snd_snid}
- */
- link: function(val, m, record, x, y, store, view) {
- var grid = view.ownerCt, me = grid.RenderUtil,column = grid.columns[y], url = column.logic || (me.args ? me.args.link[column.dataIndex][0] : '');
- if(url) {
- var res = '';
- if(url == 'necessaryField' || url == 'orNecessField') {
- if(!val)
- res = '<img src="' + basePath + 'resource/images/icon/need.png" title="必填字段">';
- url = me.args ? me.args.link[column.dataIndex][0] : '';
- }
- var index = 0, length = url.length, s, e;
- while(index < length) {
- if((s = url.indexOf('{', index)) != -1 && (e = url.indexOf('}', s + 1)) != -1) {
- url = url.substring(0, s) + record.get(url.substring(s+1, e)) + url.substring(e+1);
- index = e + 1;
- } else {
- break;
- }
- }
- return res + '<a href="javascript:openUrl(\'' + url + '\');">' + val + '</a>';
- }
- return val;
- },
- /**
- * val不能小于当前日期
- * @expression undertime
- */
- undertime: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- var d = Ext.Date.parse(Ext.Date.toString(new Date()), 'Y-m-d');
- var grid = view.ownerCt,column = grid.columns[y],field = column.dataIndex;
- val = record.data[field];
- if(val == null) {
- val = Ext.Date.toString(d);
- } else {
- if(!Ext.isDate(val)){
- val = Ext.Date.parse(val, 'Y-m-d');
- }
- if(val < d){
- val = Ext.Date.toString(d);
- showError("日期不能小于当前日期!");
- } else {
- val = Ext.Date.toString(new Date(val));
- }
- }
- if(Ext.isDate(record.data[field])){
- if(Ext.Date.toString(record.data[field]) != val){
- record.set(field, val);
- }
- } else {
- if(record.data[field] != val){
- record.set(field, val);
- }
- }
- return val;
- },
- /**
- * 适用于所有数字类型
- * 数量过大提示
- * 当val > d时,表示过大
- * 需要在dataListDetail表的dld_render 配置 oversize:{num}
- * @expression oversize:100
- * @expression oversize:pd_qty
- */
- oversize: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex;
- if(!me || !me.args){
- grid = grid.ownerCt, me = grid.RenderUtil;
- if(!me || !me.args){
- return val;
- }
- }
- var d = val;
- var arg = me.args.oversize[field];
- if(arg && arg.length > 0){
- if(Ext.isNumber(arg[0])){
- d = Number(arg[0]);
- } else {
- d = Number(record.data[arg[0]]);
- }
- }
- if(val > d){
- return '<img src="' + basePath + 'resource/images/renderer/important.png" title="数值过大:' + val + '>' + d + '">' +
- '<span style="color:blue;padding-left:2px" title="数值过大:' + val + '>' + d + '">' + val + '</span>';
- } else {
- return val;
- }
- },
- /**
- * 适用于所有数字类型
- * 数量过小提示
- * 当val < d时,表示过小
- * 需要在dataListDetail表的dld_render 配置 undersize:{num}
- * @param arg为number类型或某字段
- * @expression undersize:100
- * @expression undersize:pd_yqty
- */
- undersize: function(val, meta, record, x, y, store, view){
- meta.style = "background:#CDB5CD;";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex,uCol = null;
- if(!me || !me.args){
- grid = grid.ownerCt, me = grid.RenderUtil;
- if(!me || !me.args){
- return val;
- }
- }
- var d = val;
- var arg = me.args.undersize[field];
- if(arg && arg.length > 0){
- if(!Ext.isNumber(Number(arg[0]))){
- d = Number(record.data[arg[0]]);
- var rr = grid.columns.filter(function(c){
- return c.dataIndex == arg[0];
- });
- if(rr.length > 0) {
- uCol = rr[0];
- }
- } else {
- d = Number(arg[0]);
- }
- }
- if(record.data[field] != val){
- record.set(field, val);
- }
- if(!Ext.isNumber(val)){
- val = d;
- record.set(field, val);
- showError('请输入数字!');
- } else{
- if(val < d){
- if(val != 0) {
- var err = '请不要输入低于';
- if(uCol != null) {
- err += '<' + uCol.text + '>';
- }
- showError(err + '<' + d + ">的值!");
- }
- val = d;
- record.set(field, val);
- }
- }
- var str = val;
- if(column.format) {
- str = Ext.util.Format.number(val, column.format);
- }
- if(val < d){
- return '<img src="' + basePath + 'resource/images/renderer/important.png" title="数值过小:' + val + '<' + d + '">' +
- '<span style="color:blue;padding-left:2px" title="数值过小:' + val + '<' + d + '">' + str + '</span>';
- } else {
- return str;
- }
- },
- /**
- * 适用于所有数字类型
- * 数量介于{min}~{max}
- * @expression betweensize:0:100
- * @expression betweensize:0:pd_qty
- * @expression betweensize:pd_tqty:pd_qty
- */
- betweensize: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex;
- if(!me || !me.args){
- grid = grid.ownerCt, me = grid.RenderUtil;
- if(!me || !me.args){
- return val;
- }
- }
- var arg = me.args.betweensize[field];
- var min = 0;
- var max = 0;
- if(arg && arg.length > 0){
- if(!Ext.isNumber(Number(arg[0]))){
- min = record.modified[arg[0]];
- } else {
- min = Number(arg[0]);
- }
- if(!Ext.isNumber(Number(arg[1]))){
- max = record.modified[arg[1]];
- } else {
- max = Number(arg[1]);
- }
- }
- if(record.data[field] != val){
- record.set(field, val);
- }
- if(!Ext.isNumber(val)){
- val = max;
- record.set(field, val);
- showError('请输入数字!');
- } else{
- if(val < min){
- val = max;
- record.set(field, val);
- showError('请不要输入低于' + min + "的值!");
- } else if(val > max){
- val = max;
- record.set(field, val);
- showError('请不要输入大于' + max + "的值!");
- }
- }
- if(val < min){
- return '<img src="' + basePath + 'resource/images/renderer/important.png" title="数值过小:' + val + '<' + min + '">' +
- '<span style="color:blue;padding-left:2px" title="数值过小:' + val + '<' + min + '">' + val + '</span>';
- } else if(val > max){
- return '<img src="' + basePath + 'resource/images/renderer/important.png" title="数值过大:' + val + '<' + max + '">' +
- '<span style="color:blue;padding-left:2px" title="数值过大:' + val + '<' + max + '">' + val + '</span>';
- } else {
- return val;
- }
- },
- /**
- * 通用方法
- * 值是否为空
- * @expression isnull
- */
- isnull: function(val, meta, record){
- meta.style = "background:#C6E2FF;";
- if(val == null || val == ''){
- return '<img src="' + basePath + 'resource/images/renderer/important.png" title="无数据">' +
- '<span style="color:blue;padding-left:2px" title="无数据">' + val + '</span>';
- } else {
- return val;
- }
- },
- /**
- * 通用方法
- * 值=arg[0]+arg[1]+...
- * @expression plus:pd_tqty:pd_yqty
- * @expression plus:pd_tqty:100:pd_yqty
- */
- plus: function(val, meta, record, x, y, store, view){
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex,format = column.format,type = column.xtype;
- if(!me || !me.args){
- grid = grid.ownerCt, me = grid.RenderUtil;
- if(!me || !me.args){
- return val;
- }
- }
- var d = 0;
- var arg = me.args.plus[field];
- if(arg && arg.length > 0){
- Ext.each(arg, function(a, index){
- if(Ext.isNumber(a)){
- d += Number(a);
- } else {
- d += Number(record.data[a]);
- }
- if(format&&type =='numbercolumn'){
- d = Ext.util.Format.number(d,format);
- }
- });
- }
- if(record.data[field] != d){
- record.set(field, d);
- }
- return '<img src="' + basePath + 'resource/images/renderer/finishrecord.png">' +
- '<span style="color:blue;padding-left:2px">' + d + '</span>';
- },
- /**
- * 通用乘法方法
- * 值=arg[0]*arg[1]*...
- * @expression multiply:pd_tqty:pd_price
- * @expression multiply:pd_tqty:100:pd_rate
- */
- multiply: function(val, meta, record, x, y, store, view){
- var grid = view.ownerCt, me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex,format = column.format,type = column.xtype;
- if(!me || !me.args){
- grid = grid.ownerCt, me = grid.RenderUtil;
- if(!me || !me.args){
- return val;
- }
- }
- var d = 1;
- var red= d;
- var arg = me.args.multiply[field];
- if(arg && arg.length > 0){
- Ext.each(arg, function(a, index){
- if(Ext.isNumber(a)){
- d = d * Number(a);
- } else {
- d = d * Number(record.data[a]);
- }
- if(format&&type =='numbercolumn'){
- red = Ext.util.Format.number(d,format);
- }else{
- red = d;
- }
- });
- }
- if(record.data[field] != d){
- record.set(field, d);
- }
- return '<img src="' + basePath + 'resource/images/renderer/finishrecord.png">' +
- '<span style="color:blue;padding-left:2px">' + red + '</span>';
- },
- /**
- * 通用方法
- * A floating:B
- * 比较A相对于B的浮动变化
- * @expression floating:B
- */
- floating: function(val, meta, record, x, y, store, view) {
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex;
- if(!me || !me.args){
- return val;
- }
- var arg = me.args.floating[field], a = null, b = null, f = null, n = null, istxt = true;
- if(column.xtype == 'datecolumn') {
- if(!val) return null;
- a = record.get(arg);
- b = val;
- f = (column.format || 'Y-m-d');
- n = Ext.Date.format(val, f);
- istxt = false;
- } else if(column.xtype == 'numbercolumn') {
- a = Number(record.get(arg));
- b = Number(val);
- f = (column.format || '0,000');
- n = Ext.util.Format.number(val, f);
- istxt = false;
- } else {
- a = record.get(arg);
- b = val;
- }
- if(istxt) {
- if(a != b) {
- return '<span style="color:red;padding-left:2px">' + val + '</span>';
- } else {
- return val;
- }
- } else {
- if(a < b) {
- return '<img src="' + basePath + 'resource/images/16/up.png">' +
- '<span style="color:red;padding-left:2px">' + n + '</span>';
- } else if(a > b) {
- return '<img src="' + basePath + 'resource/images/16/down.png">' +
- '<span style="color:red;padding-left:2px">' + n + '</span>';
- } else if(a == 0 && b == 0) {
- return '';
- }
- }
- return n;
- },
- ars_prodtoapbill_outqty:function(val, meta, record, x, y){
- var inqty = 0;
- var outqty = 0;
- var returnqty = 0;
- if(record.data['pd_inqty']!=null&&record.data['pd_inqty']){
- inqty = Ext.Number.from(record.data['pd_inqty'],0);
- }
- if(record.data['pd_outqty']!=null&&record.data['pd_outqty']){
- inqty = Ext.Number.from(record.data['pd_inqty'],0);
- }
- returnqty=outqty-inqty;
- if(val != returnqty){
- record.set('pd_outqty', returnqty);
- val = returnqty;
- }
- return val;
- },
- ars_prodtoarbill_price:function(val, meta, record, x, y){
- var orderprice = 0.00;
- var sendprice = 0.00;
- var returnprice = 0.00;
- if(record.data['pd_orderprice']!=null&&record.data['pd_orderprice']){
- orderprice = Ext.Number.from(record.data['pd_orderprice'],0.00);
- }
- if(record.data['pd_sendprice']!=null&&record.data['pd_sendprice']){
- sendprice = Ext.Number.from(record.data['pd_sendprice'],0.00);
- }
- returnprice=Math.abs(orderprice-sendprice);
- returnprice=Ext.util.Format.number(returnprice,'0.00');
- if(val != returnprice){
- record.set('pd_showprice', returnprice);
- val = returnprice;
- }
- return val;
- },
- /**
- * 出货数量 outqty - inqty
- * @param val
- * @param meta
- * @param record
- * @param x
- * @param y
- * @returns
- */
- ars_prodtoapbill_outqty:function(val, meta, record, x, y){
- var inqty = 0;
- var outqty = 0;
- var returnqty = 0;
- if(record.data['pd_inqty']!=null&&record.data['pd_inqty']){
- inqty = Ext.Number.from(record.data['pd_inqty'],0);
- }
- if(record.data['pd_outqty']!=null&&record.data['pd_outqty']){
- outqty = Ext.Number.from(record.data['pd_outqty'],0);
- }
- returnqty=outqty-inqty;
- if(val != returnqty){
- record.set('pd_showqty', returnqty);
- val = returnqty;
- }
- return val;
- },
- /**
- * @CRM
- * 客户关系商机状态显示
- */
- chanceAllstatus: function(val, meta, record,x,y){
- var code=record.data['cd_chancecode'];
- var str=val.replace(/1/g,'√');
- str=str.replace(/0/g,'O');
- return '<a href="javascript:showchancestatus(' + '\''+code+'\'' +');">' + str + '</a>';
- },
- /**
- * @CRM
- * 客户关系商机状态显示
- */
- chancestatus: function(val, meta, record,x,y){
- var str='';
- if(val=='0'){
- str='O';
- }
- if(val=='1'){
- str='√';
- }
- return str;
- },
- /**
- * @CRM
- * 客户关系商机状态显示
- */
- inquiryturnstatus: function(val, meta, record,x,y){
- var str='';
- if(val=='0'){
- str='否';
- }
- if(val=='1'){
- str='未选择';
- }
- if(val=='-1'){
- str='是';
- }
- return str;
- },
- oameeting:function(val,meta, record){
- if(val=='0'){
- return ' ';
- }
- var url='jsps/oa/meeting/meetingroomapply.jsp';
- var title='会议室申请单';
- return '<a href="javascript:openGridUrl(\''+val+'\''+',\'ma_id\',\'mad_maid\',\''+url+'\',\''+title+'\''+ ');">' + '√' + '</a>';
- },
- /**
- * 验收数量 inqty - outqty
- * @param val
- * @param meta
- * @param record
- * @param x
- * @param y
- * @returns
- */
- ars_prodtoapbill_inqty:function(val, meta, record, x, y){
- var inqty = 0;
- var outqty = 0;
- var returnqty = 0;
- if(record.data['pd_inqty']!=null&&record.data['pd_inqty']){
- inqty = Ext.Number.from(record.data['pd_inqty'],0);
- }
- if(record.data['pd_outqty']!=null&&record.data['pd_outqty']){
- outqty = Ext.Number.from(record.data['pd_outqty'],0);
- }
- returnqty=inqty-outqty;
- if(val != returnqty){
- record.set('pd_showqty', returnqty);
- val = returnqty;
- }
- return val;
- },
- /**
- * 验收数量的绝对值 pd_inqty -已经转发票数量 pd_showinvoqty = 本次可转发票数量 pd_thisvoqty
- * @param val
- * @param meta
- * @param record
- * @param x
- * @param y
- * @returns
- */
- ars_prodtoapbill_thisqty:function(val, meta, record, x, y){
- meta.style = "background:#C6E2FF;";
- //pd_thisvoqty = pd_inqty-pd_showinvoqty inqty要绝对值
- var thisvoqty = 0;
- var inqty = 0;
- var invoqty = 0;
- if(record.data['pd_showqty']!=null&&record.data['pd_showqty']!=''){
- inqty = Math.abs(Ext.Number.from(record.data['pd_showqty'],0));
- }
- if(record.data['pd_showinvoqty']!=null&&record.data['pd_showinvoqty']){
- invoqty = Ext.Number.from(record.data['pd_showinvoqty'],0);
- }
- thisvoqty=inqty-invoqty;
- if(val != thisvoqty){
- record.set('pd_thisvoqty', thisvoqty);
- val = thisvoqty;
- }
- return val;
- },
- /**
- * 出入库单号链接
- *
- **/
- ProdioHref:function(val,meta,record){
- var url='jsps/scm/reserve/prodInOut.jsp?whoami=';
- var caller;
- var piclass=record.data.pi_class, piid = record.data.pi_id;
- if(piclass == '采购验收单'){
- caller = 'ProdInOut!PurcCheckin';
- } else if(piclass == '采购验退单'){
- caller = 'ProdInOut!PurcCheckout';
- } else if(piclass == '其它采购入库单'){
- caller = 'ProdInOut!OtherPurcIn';
- } else if(piclass == '完工入库单'){
- caller = 'ProdInOut!Make!In';
- } else if(piclass == '其它采购出库单'){
- caller = 'ProdInOut!OtherPurcOut';
- } else if(piclass == '换货出库单'){
- caller = 'ProdInOut!ExchangeOut';
- } else if(piclass == '换货入库单'){
- caller = 'ProdInOut!ExchangeIn';
- } else if(piclass == '出货单'){
- caller = 'ProdInOut!Sale';
- } else if(piclass == '委外领料单'){
- caller = 'ProdInOut!OutsidePicking';
- } else if(piclass == '研发退料单'){
- caller = 'ProdInOut!YFIN';
- } else if(piclass == '研发领料单'){
- caller = 'ProdInOut!YFOUT';
- } else if(piclass == '辅料入库单'){
- caller = 'ProdInOut!FLIN';
- } else if(piclass == '辅料出库单'){
- caller = 'ProdInOut!FLOUT';
- } else if(piclass == '借货出货单'){
- caller = 'ProdInOut!SaleBorrow';
- } else if(piclass == '借货归还单'){
- caller = 'ProdInOut!OutReturn';
- } else if(piclass == '委外补料单'){
- caller = 'ProdInOut!OSMake!Give';
- } else if(piclass == '不良品入库单'){
- caller = 'ProdInOut!DefectIn';
- } else if(piclass == '不良品出库单'){
- caller = 'ProdInOut!DefectOut';
- } else if(piclass == '库存初始化'){
- caller = 'ProdInOut!ReserveInitialize';
- } else if(piclass == '报废单'){
- caller = 'ProdInOut!StockScrap';
- } else if(piclass == '盘亏调整单'){
- caller = 'ProdInOut!StockLoss';
- } else if(piclass == '盘盈调整单'){
- caller = 'ProdInOut!StockProfit';
- } else if(piclass == '拆件入库单'){
- caller = 'ProdInOut!PartitionStockIn';
- } else if(piclass == '其它入库单'){
- caller = 'ProdInOut!OtherIn';
- } else if(piclass == '生产领料单'){
- caller = 'ProdInOut!Picking';
- } else if(piclass == '生产退料单'){
- caller = 'ProdInOut!Make!Return';
- } else if(piclass == '销售退货单'){
- caller = 'ProdInOut!SaleReturn';
- } else if(piclass == '委外验收单'){
- caller = 'ProdInOut!OutsideCheckIn';
- } else if(piclass == '委外验退单'){
- caller = 'ProdInOut!OutesideCheckReturn';
- } else if(piclass == '委外退料单'){
- caller = 'ProdInOut!OutsideReturn';
- } else if(piclass == '拨出单'){
- caller = 'ProdInOut!AppropriationOut';
- } else if(piclass == '拨入单'){
- caller = 'ProdInOut!AppropriationIn';
- } else if(piclass == '销售拨出单'){
- caller = 'ProdInOut!SaleAppropriationOut';
- } else if(piclass == '销售拨入单'){
- caller = 'ProdInOut!SalePutIn';
- } else if(piclass == '其它出库单'){
- caller = 'ProdInOut!OtherOut';
- } else if(piclass == '生产补料单'){
- caller = 'ProdInOut!Make!Give';
- }
- url = url + caller + '&formCondition=pi_idIS'+piid+'&gridCondition=pd_piidIS'+piid;
- return '<a href="javascript:openUrl(\''+url+'\');">' + val + '</a>';
- },
- /**
- * 应收发票维护 计算不含税金额 不含税金额,需要改为“本次开票不含税金额”=本次开票价税合计 / (1+税率)
- *
- *
- *
- */
- ars_arbill_tax: function(val, meta, record, x, y, store, view){
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y];
- var tax = Number(record.data['abd_qty'])*Number(record.data['abd_thisvoprice'])/(1+Number(record.data['abd_taxrate'])/100);
- if(tax != null && tax >= 0) {
- record.set('abd_noaramount', tax);
- val = tax;
- }
- if(column.format)
- val = Ext.util.Format.number(val, column.format);
- return val;
- },
- /**
- * 应收发票维护 计算不含税金额 不含税金额,需要改为“本次开票不含税金额”=本次开票价税合计 / (1+税率)
- *
- *
- *
- */
- arp_apbill_tax: function(val, meta, record, x, y, store, view){
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y];
- var tax = Number(record.data['abd_apamount'])/(1+Number(record.data['abd_taxrate'])/100);
- if(tax != null && tax >= 0) {
- record.set('abd_noapamount', tax);
- val = tax;
- }
- if(column.format)
- val = Ext.util.Format.number(val, column.format);
- return val;
- },
- /**
- * 应收发票维护 计算不含税金额 不含税金额,需要改为“本次开票不含税金额”=本次开票价税合计 / (1+税率)
- *
- *
- *
- */
- arbill_show_invototal: function(val, meta, record, x, y, store, view){
- var sourcekind = record.data['abd_sourcekind'];
- var grid = view.ownerCt,column = grid.columns[y];
- var pd_invototal = Number(record.data['pd_invototal']); //出入库单转出
- var gsd_invototal = Number(record.data['gsd_invototal']); //发出商品数据
- var abd_totalbillprice = Number(record.data['abd_totalbillprice']);//初始化数据
- //转发类型是发出商品
- if(sourcekind == 'GOODSSEND'){
- if(val!=gsd_invototal){
- record.set('abd_totalbillprice', gsd_invototal);
- gsd_invototal=val;
- }
- return Ext.util.Format.number(gsd_invototal, column.format);
- //出入库单转出
- }else if(sourcekind == 'PRODIODETAIL'){
- if(val!=pd_invototal){
- record.set('abd_totalbillprice', pd_invototal);
- pd_invototal=val;
- }
- return Ext.util.Format.number(pd_invototal, column.format);
- //初始化
- }else if(sourcekind == 'INITIALIZATION'){
- if(val!=abd_totalbillprice){
- record.set('abd_totalbillprice', abd_totalbillprice);
- abd_totalbillprice=val;
- }
- return Ext.util.Format.number(abd_totalbillprice, column.format);
- }
- },
- /**
- * 应收发票维护 计算不含税金额 不含税金额,需要改为“本次开票不含税金额”=本次开票价税合计 / (1+税率)
- *
- *
- *
- */
- apbill_show_invototal: function(val, meta, record, x, y, store, view){
- var sourcekind = record.data['abd_sourcekind'];
- var grid = view.ownerCt,column = grid.columns[y];
- var pd_invototal = Number(record.data['pd_invototal']); //出入库单转出
- var esd_invototal = Number(record.data['esd_invototal']); //发出商品数据
- var abd_totalbillprice = Number(record.data['abd_totalbillprice']);//初始化数据
- //转发类型是发出商品
- if(sourcekind == 'ESTIMATE'){
- if(val!=esd_invototal){
- record.set('abd_totalbillprice', esd_invototal);
- esd_invototal=val;
- }
- return Ext.util.Format.number(esd_invototal,column.format);
- //出入库单转出
- }else if(sourcekind == 'PRODIODETAIL'){
- if(val!=pd_invototal){
- record.set('abd_totalbillprice', pd_invototal);
- pd_invototal=val;
- }
- return Ext.util.Format.number(pd_invototal,column.format);
- //初始化
- }else if(sourcekind == 'INITIALIZATION'){
- if(val!=abd_totalbillprice){
- record.set('abd_totalbillprice', abd_totalbillprice);
- abd_totalbillprice=val;
- }
- return Ext.util.Format.number(abd_totalbillprice, column.format);
- }
- },
- /**
- * 应付发票维护 计算不含税金额 不含税金额,需要改为“本次开票不含税金额”=本次开票价税合计 / (1+税率)
- *
- *
- *
- */
- ars_apbill_tax: function(val, meta, record, x, y){
- var tax = Number(record.data['abd_apamount'])/(1+Number(record.data['abd_taxrate'])/100);
- var tval=Ext.util.Format.number(tax,'0.00');
- if(val != tval){
- record.set('abd_noapamount', tval);
- val = tval;
- }
- return tval;
- },
- colspan: function(val, meta, record, x, y, store, view){
- meta.tdAttr = "rowspan=8;";
- },
- nullcolspan: function(val, meta){
- meta.tdAttr = "rowspan=0;";
- },
- CRMHref:function(val, meta, record,x,y){
- var me = this.RenderUtil || this;
- var field = this.columns[y].dataIndex;
- var KeyValue = 0;
- var url='';
- var title='';
- var arg = me.args.CRMHref[field];
- var keyField=arg[0];
- var data=record.data;
- if(arg && arg.length > 0){
- KeyValue=data[field];
- url=arg[1];
- title=arg[2];
- }
- if(keyField.indexOf('code')>=0){
- url+='?mr_taskcode='+KeyValue;
- Ext.Ajax.request({
- url: basePath+'crm/getReportCode.action',
- async:false,
- params:{
- mt_code:KeyValue
- },
- method:'post',
- callback:function(options,success,response){
- var res = new Ext.decode(response.responseText);
- url+='&whoami='+res.mt_reportcode;
- }
- });
- }else{
- url+='?mr_id='+KeyValue;
- url+='&formCondition=mr_idIS'+KeyValue+'&gridCondition=mrd_mridIS'+KeyValue;
- Ext.Ajax.request({
- url: basePath+'crm/getReportCodeById.action',
- async:false,
- params:{
- mr_id:KeyValue
- },
- method:'post',
- callback:function(options,success,response){
- var res = new Ext.decode(response.responseText);
- url+='&whoami='+res.mr_reportcode;
- }
- });
- }
- if(val==''||val==$I18N.common.grid.emptyText) return val;
- if(keyField.indexOf('code')>=0){
- return '<a href="javascript:openUrl(\''+url+'\');">' + val + '</a>';
- }
- return '<a href="javascript:openFormUrl(' + KeyValue + ',\''+keyField+'\',\''+url+'\',\''+title+'\''+ ');">' + val + '</a>';
- },
- CRMtaskHref:function(val, meta, record,x,y){
- var me = this.RenderUtil || this;
- var rt_foid=record.data['rt_foid'];
- var url='jsps/crm/marketmgr/marketresearch/multiform.jsp?'+
- 'formCondition=fo_idIS'+rt_foid+'&gridCondition=fd_foidIS'+rt_foid+'&whoami='+record.data['rt_code']+'&cond=rt_idIS'+record.data['rt_id']+'&type=crm';
- var keyField='rt_code';
- var KeyValue=record.data['rt_code']
- var title='调研模板';
- return '<a href="javascript:openUrl2(\''+url+'\',\''+title+'\',\''+keyField+'\',\''+KeyValue+'\');">' + KeyValue + '</a>';
- },
- PXtaskHref:function(val, meta, record,x,y){
- var me = this.RenderUtil || this;
- var rt_foid=record.data['px_foid'];
- var url='jsps/crm/marketmgr/marketresearch/multiform.jsp?'+
- 'formCondition=fo_idIS'+rt_foid+'&gridCondition=fd_foidIS'+rt_foid+'&whoami='+record.data['px_code']+'&cond=px_idIS'+record.data['px_id']+'&type=ProductTrain';
- var keyField='px_code';
- var KeyValue=record.data['px_code']
- var title='考核模板';
- return '<a href="javascript:openUrl2(\''+url+'\',\''+title+'\',\''+keyField+'\',\''+KeyValue+'\');">' + KeyValue + '</a>';
- },
- CRMtaskReport:function(val, meta, record,x,y){
- var me = this.RenderUtil || this;
- var reporttemplatecode=record.data['reporttemplatecode'];
- var url='jsps/crm/marketmgr/marketresearch/taskReport.jsp?'+
- 'whoami='+reporttemplatecode+'&cond=idIS'
- +record.data['id'];
- var keyField='taskcode';
- var KeyValue=record.data['taskcode']
- var title='调研报告';
- return '<a href="javascript:openUrl2(\''+url+'\',\''+title+'\',\''+keyField+'\',\''+KeyValue+'\');">' + KeyValue + '</a>';
- },
- CRMResearchReport:function(val, meta, record,x,y){
- var me = this.RenderUtil || this;
- var reporttemplatecode=record.data['manuallyscheduled'];
- var url='jsps/crm/marketmgr/marketresearch/researchReport.jsp?'+
- 'whoami='+reporttemplatecode+'&cond=idIS'
- +record.data['id'];
- if(record.data['mr_id']!=0){
- url=url+'&formCondition=mr_idIS'+record.data['mr_id']+'&gridCondition=mrd_mridIS'+record.data['mr_id'];
- }
- var keyField='taskcode';
- var KeyValue=record.data['taskcode']
- var title='调研报告';
- return '<a href="javascript:openUrl2(\''+url+'\',\''+title+'\',\''+keyField+'\',\''+KeyValue+'\');">' + KeyValue + '</a>';
- },
- CRMTrainReport:function(val, meta, record,x,y){
- var me = this.RenderUtil || this;
- var reporttemplatecode=record.data['to_tpcode'];
- var url="jsps/crm/marketmgr/resourcemgr/trainReport.jsp?whoami="
- +reporttemplatecode+"&cond=to_idIS"+record.data['to_id']+"&formCondition=tr_idIS"+record.data['tr_id'];
- var keyField='tr_code';
- var KeyValue=record.data['tr_code']
- var title='产品培训考核报告';
- return '<a href="javascript:openUrl2(\''+url+'\',\''+title+'\',\''+keyField+'\',\''+KeyValue+'\');">' + KeyValue + '</a>';
- },
- CRMReport:function(val, meta, record,x,y){
- var me = this.RenderUtil || this;
- var reporttemplatecode=record.data['mr_reportcode'];
- var url='jsps/crm/marketmgr/marketresearch/researchReport.jsp?'+
- 'whoami='+reporttemplatecode+'&cond=idIS'
- +record.data['id']+"&formCondition=mr_idIS"+record.data['mr_id']+'&gridCondition=mrd_mridIS'+record.data['mr_id'];
- var keyField='mr_code';
- var KeyValue=record.data['mr_code']
- var title='调研报告';
- return '<a href="javascript:openUrl2(\''+url+'\',\''+title+'\',\''+keyField+'\',\''+KeyValue+'\');">' + KeyValue + '</a>';
- },
- Vehicle:function(val, meta, record,x,y){
- var url='jsps/oa/vehicle/vehiclereturn.jsp?cond=va_code='+val;
- var title='返车维护单';
- var keyField='va_code';
- return '<a href="javascript:openUrl2(\''+url+'\',\''+title+'\',\''+keyField+'\',\''+val+'\');">' + val + '</a>';
- },
- /**
- * 会议室申请,确认出席人员,如果已经确认出席的默认选上
- */
- confirmMan:function(val, meta, record, x, y, store, view){
- var grid = view.ownerCt;
- if(record.data['md_attend']=='是'){
- grid.selModel.select(record,true);
- }
- return val;
- },
- /**
- * 会议室申请,确认出席人员,如果已经确认出席的默认选上
- */
- oa_confirmMan:function(val, meta, record, x, y, store, view){
- var grid = view.ownerCt;
- if(record.data['md_isconfirmed']=='-1'){
- grid.selModel.select(record,true);
- }
- return val;
- },
- /**
- * 通用方法
- * 值=arg[0]-arg[1]-...
- * @expression reduce:pd_qty:pd_yqty
- * @expression reduce:pd_qty:100:pd_yqty
- */
- reduce: function(val, meta, record, x, y, store, view){
- meta.tdCls = "x-grid-cell-renderer-bl";
- var grid = view.ownerCt, me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex;
- if(!me || !me.args){
- grid = grid.ownerCt, me = grid.RenderUtil;
- if(!me || !me.args){
- return val;
- }
- }
- if(me.args){
- var arg = me.args.reduce[field];
- var maxValue = 0;
- if(arg && arg.length > 0){
- var v = 0;
- Ext.each(arg, function(a, index){
- if(Ext.isNumber(a)){
- v = a;
- } else {
- v = record.data[a] || 0;
- }
- if(index == 0){
- maxValue = Number(v);
- } else {
- maxValue -= Number(v);
- }
- });
- }
- //鉴于小数问题 保留2位小数
- //maxValue=maxValue.toFixed(4);
- if(column.editor || (column.getEditor && column.getEditor())) {//在允许编辑的情况下,修改值不能大于maxValue
- val = (!Ext.isNumber(val) || val == 0) ? maxValue : val;
- if(Number(val) > maxValue ){
- val = maxValue;
- showError('请不要输入超过最大数量' + maxValue + "的值!");
- }
- } else {
- val = maxValue;
- }
- var _v = val;
- if(column.xtype == 'numbercolumn') {
- _v = Ext.util.Format.number(val, column.format);
- }
- if(Ext.util.Format.number(record.data[field], column.format) != _v){
- record.set(field, val);
- }
- return _v;
- } else {
- return val;
- }
- },
- /**
- * @OA
- * 信息发布 Note
- */
- emergency: function(val, meta, record){
- var d = Number(val);
- var str = '';
- switch (d){
- case 1:
- str = '<span style="color:#20B7B9;padding-left:2px">一般</span>';
- break;
- case 2:
- str = '<img src="' + basePath + 'resource/images/renderer/remind.png">' +
- '<span style="color:blue;padding-left:2px">平急</span>';
- break;
- case 3:
- str = '<img src="' + basePath + 'resource/images/renderer/remind2.png">' +
- '<span style="color:red;padding-left:2px">特急</span>';
- break;
- }
- return str;
- },
- /**
- * @OA流程催办
- * */
- remindprocess:function(val,meta,record){
- var min=0,a=0,b=0,str='';
- if(record && record.data.jp_id){
- var launchTime=record.data.jp_launchTime;
- min=parseInt((new Date().getTime()-new Date(launchTime).getTime())/60000);
- a=parseInt(min/60);
- b=min%60;
- if(a>0) str+=a+'小时';
- if(b>0) str+=b+'分钟';
- if(a>2) meta.style = 'color:red;';
- else meta.style='color:green';
- return str;
- }
- else return null;
- },
- /**
- *@OA 版本管理
- **/
- Version: function(val, meta, record){
- if(val == 0)
- return '当前版本|阅读版本';
- else
- return '';
- },
- /**
- *@OA 阅读状态
- */
- State: function(val, meta, record){
- if(val == 0){
- var str = '<img src="' + basePath + 'resource/images/renderer/remind.png">' +
- '<span style="color:blue;padding-left:2px">未阅</span>';
- return str ;
- } else
- return '已阅';
- },
- /**
- *@OA attentionGrade
- */
- Grade:function(val,meta,record,x,y){
- var field = this.columns[y].dataIndex;
- var me = this.RenderUtil || this;
- var arg = me.args.Grade[field];
- var colorfield=arg[0];
- var color=record.data[colorfield];
- if(color) return '<span style="color:#'+color+'">'+val+'</span>';
- },
- GradeColor:function(val,meta,record){
- meta.style = "background:#"+val+";";
- return '';
- } ,
- /**
- *@OA 知识权限控制
- */
- OAHref: function(val, meta, record,x,y){
- var scanpersonid=record.data.kl_scanpersonid+'#';
- var authorid=record.data.kl_authorid;
- var me = this.RenderUtil || this;
- var field = this.columns[y].dataIndex;
- var KeyValue = 0;
- var url='';
- var title='';
- var arg = me.args.OAHref[field];
- var keyField=arg[0];
- var data=record.data;
- if(arg && arg.length > 0){
- KeyValue=data[keyField];
- url=arg[1];
- title=arg[2];
- }
- if(val==''||val==$I18N.common.grid.emptyText) return val;
- if(scanpersonid.indexOf(emid)>0||authorid==emid){
- return '<img src="' + basePath + 'resource/images/renderer/key2.png">'+'<span><a href="javascript:openUrl(' + KeyValue + ',\''+keyField+'\',\''+url+'\',\''+title+'\''+ ');">' + val + '</a></span>';
- }
- return '<img src="' + basePath + 'resource/images/renderer/key1.png">'+'<span style="color:#8B8B83;padding-left:2px "><a href="javascript:openWin();" style="text-decoration: none||blink;" active="color:#8B8B83; text-decoration:none;">' + val + '<a/></span>';
- },
- oa_oaacceptancedetail_status:function(val, meta, record){
- if(val=='1'){
- return '已转采购';
- }else{
- return '未转采购';
- }
- },
- /**
- * @SCM.Purchase
- * 采购明细数量的修改限制
- */
- scm_purc_pdqty: function(val, meta, record){
- meta.style = "background:#C6E2FF;";
- if(!Ext.isNumber(val)) {
- record.set('pd_qty', 0);
- return 0;
- } else {
- var adid = record.data['ad_qty'];oldqty = 0;
- if(adid != null && adid > 0 ) {
- if(val > adid) {
- oldqty = record.modified.pd_qty || record.data.pd_qty || adid;
- if (val != oldqty){
- val = oldqty;
- record.set('pd_qty', oldqty);
- showError('请不要超过请购数<' + adid + '>修改!');
- }
- }
- }
- return val;
- }
- },
- /**
- * @PM.MakeNotice
- * 制造通知单明细数量的修改限制
- */
- pm_mano_mndqty: function(val, meta, record){
- meta.style = "background:#C6E2FF;";
- var sdid = record.data['sd_qty'];oldqty = 0;
- if(sdid != null && sdid > 0) {
- if(val > sdid) {
- oldqty = record.modified.mnd_qty || record.data.mnd_qty || sdid;
- val = oldqty;
- record.set('mnd_qty', oldqty);
- showError('请不要超过订单数<' + sdid + '>修改!');
- }
- }
- return val;
- },
- /**
- * @SCM.Sale
- * 销售通知单明细数量的修改限制
- */
- scm_send_sndqty: function(val, meta, record){
- meta.style = "background:#C6E2FF;";
- var sdid = record.data['sd_qty'];oldqty = 0;
- if(sdid != null && sdid > 0) {
- if(val > sdid) {
- oldqty = record.modified.snd_outqty || record.data.snd_outqty || sdid;
- val = oldqty;
- record.set('snd_outqty', oldqty);
- showError('请不要超过订单数<' + sdid + '>修改!');
- }
- }
- return val;
- },
- /**
- * @SCM.AcceptNotify
- * 收料通知单明细数量的修改限制
- */
- scm_acceptnotify_andinqty: function(val, meta, record){
- meta.style = "background:#C6E2FF;";
- var sdid = record.data['pd_qty'];oldqty = 0;
- if(sdid != null && sdid > 0) {
- if(val > sdid) {
- oldqty = record.modified.and_inqty || record.data.and_inqty || sdid;
- val = oldqty;
- record.set('and_inqty', oldqty);
- showError('请不要超过采购单数<' + sdid + '>修改!');
- }
- }
- return val;
- },
- /**
- * @SCM.VerifyApply
- * 收料单明细数量的修改限制
- */
- scm_acceptnotify_vadqty: function(val, meta, record){
- meta.style = "background:#C6E2FF;";
- var sdid = record.data['pd_qty'];oldqty = 0;
- if(sdid != null && sdid > 0) {
- if(val > sdid) {
- oldqty = record.modified.vad_qty || record.data.vad_qty || sdid;
- val = oldqty;
- record.set('vad_qty', oldqty);
- showError('请不要超过采购单数<' + sdid + '>修改!');
- }
- }
- return val;
- },
- /**
- * @SCM.ProdIODetail
- * 出货单明细数量的修改限制
- */
- scm_prodio_pdqty: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y];
- if(record.get('pd_snid') != null && record.get('pd_snid') != 0) {
- var snid = record.data['snd_outqty'];oldqty = 0;
- if(snid != null && snid > 0) {
- if(val > snid) {
- oldqty = record.modified.pd_outqty || record.data.pd_outqty || sdid;
- val = oldqty;
- record.set('pd_outqty', oldqty);
- showError('请不要超过通知单数<' + snid + '>修改!');
- }
- }
- }
- if(column.format)
- val = Ext.util.Format.number(val, column.format);
- return val;
- },
- /**
- * @PM.Dispatch
- * 完成数不能大于流程单数量
- */
- pm_dispatch_overqty: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y];
- var q = record.data['mf_qty'];
- if(q != null && q > 0) {
- if(val > q) {
- val = q;
- record.set('did_overqty', q);
- showError('完成数请不要超过流程单数量<' + q + '>!');
- }
- }
- if(column.format)
- val = Ext.util.Format.number(val, column.format);
- return val;
- },
- /**
- * @SCM.Sale.ReturnApply
- * 退货申请单
- */
- returnapply_qty: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y];
- var q = record.data['sd_sendqty'];
- if(q != null && q > 0) {
- if(val > q) {
- val = q;
- record.set('rad_qty', q);
- showError('请不要超过订单发货数<' + q + '>退货!');
- }
- }
- if(column.format)
- val = Ext.util.Format.number(val, column.format);
- return val;
- },
- /**
- * @SCM.ProdIODetail
- * 采购验收单明细数量的修改限制
- */
- scm_prodio_okqty: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y];
- if(record.get('pd_vacode') != null&&record.get('pd_vacode')!="") {
- var vadid = record.data['ve_okqty'];oldqty = 0;
- if(vadid != null && vadid > 0) {
- if(val > vadid) {
- oldqty = record.modified.pd_inqty || record.data.pd_inqty || vadid;
- val = oldqty;
- record.set('pd_inqty', oldqty);
- showError('请不要超过收料合格数<' + vadid + '>修改!');
- }
- }
- }
- if(column.format)
- val = Ext.util.Format.number(val, column.format);
- return val;
- },
- /**
- * 研发采购变更 限制数量
- * @param val
- * @param meta
- * @param record
- * @returns
- */
- plm_pc_yqty: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y];
- var vadid = record.data['pcd_newqty'];
- if(vadid != null && vadid > 0) {
- if(val > vadid) {
- val = oldqty;
- record.set('pcd_newqty', val);
- showError('新采购数请不要小于已转数量<' + val + '>!');
- }
- }
- if(column.format)
- val = Ext.util.Format.number(val, column.format);
- return val;
- },
- /**
- * @SCM.ProdIODetail
- * 不良品入库单明细数量的修改限制
- */
- scm_prodio_ngqty: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y];
- if(record.get('pd_vacode') != null) {
- var vadid = record.data['ve_notokqty'];oldqty = 0;
- if(vadid != null && vadid > 0) {
- if(val > vadid) {
- oldqty = record.modified.pd_inqty || record.data.pd_inqty || vadid;
- val = oldqty;
- record.set('pd_inqty', oldqty);
- showError('请不要超过收料不合格数<' + vadid + '>修改!');
- }
- }
- }
- if(column.format)
- val = Ext.util.Format.number(val, column.format);
- return val;
- },
- /**
- * PM.makeScrap 生产报废单报废数量限制
- */
- md_qty_mm_havegetqty: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y];
- var have = record.data['mm_havegetqty'] || 0,
- oldqty = 0;
- if(val > have) {
- oldqty = record.modified.md_qty || record.data.md_qty || have;
- val = oldqty;
- if(record.data.md_qty != oldqty) {
- record.set('md_qty', oldqty);
- showError('请不要超过已领数<' + have + '>!');
- }
- }
- if(column.format)
- val = Ext.util.Format.number(val, column.format);
- return val;
- },
- /**
- * @SCM.Sale.SaleChange
- * 销售变更单新数量(原数量为0的时候不考虑)
- */
- scm_sale_change_qty: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y];
- var adq = record.data['sd_qty'];
- var acq = record.data['sd_sendqty'];
- var yq = Math.min(record.data['sd_yqty'], adq);
- if(adq != null && adq > 0) {
- if(val > adq) {
- showError('请不要超过原订单数<' + adq + '>!');
- val = adq;
- record.set('scd_newqty', adq);
- }
- }
- if(acq != null && acq > 0) {
- if(val == 0) {
- val = acq;
- record.set('scd_newqty', acq);
- } else if(val < acq) {
- showError('请不要小于已发货数<' + acq + '>!');
- val = acq;
- record.set('scd_newqty', acq);
- }
- }
- if(yq != null && yq > 0) {
- if(val == 0) {
- val = yq;
- record.set('scd_newqty', yq);
- } else if(val < yq) {
- showError('请不要小于已转发货通知数<' + yq + '>!');
- val = yq;
- record.set('scd_newqty', yq);
- }
- }
- if(column.format)
- val = Ext.util.Format.number(val, column.format);
- return val;
- },
- /**
- * @SCM.Sale.SaleChange
- * 销售变更单新数量(原数量为0的时候也要考虑)
- */
- scm_sale_change_qty2: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y];
- var adq = record.data['sd_qty'];
- var acq = record.data['sd_sendqty'];
- var yq = Math.min(record.data['sd_yqty'], adq);
- if(adq != null && adq >= 0) {
- if(val > adq) {
- showError('请不要超过原订单数<' + adq + '>!');
- val = adq;
- record.set('scd_newqty', adq);
- }
- }
- if(acq != null && acq >= 0) {
- if(val == 0) {
- val = acq;
- record.set('scd_newqty', acq);
- } else if(val < acq) {
- showError('请不要小于已发货数<' + acq + '>!');
- val = acq;
- record.set('scd_newqty', acq);
- }
- }
- if(yq != null && yq >= 0) {
- if(val == 0) {
- val = yq;
- record.set('scd_newqty', yq);
- } else if(val < yq) {
- showError('请不要小于已转发货通知数<' + yq + '>!');
- val = yq;
- record.set('scd_newqty', yq);
- }
- }
- if(column.format)
- val = Ext.util.Format.number(val, column.format);
- return val;
- },
- /**
- * @SCM.Purchase.PurchaseChange
- * 采购变更单新数量
- */
- scm_purc_change_qty: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y];
- var adq = record.data['ad_qty'];oldqty = 0;
- var acq = record.data['pd_acceptqty'];
- var yq = record.data['pd_yqty'];
- if(adq != null && adq > 0) {
- if(val > adq) {
- val = adq;
- showError('请不要超过请购数<' + adq + '>!');
- }
- }
- if(acq != null && acq > 0) {
- if(val == 0) {
- val = acq;
- } else if(val < acq) {
- val = acq;
- showError('请不要小于验收数<' + acq + '>!');
- }
- }
- if(yq != null && yq > 0) {
- if(val == 0) {
- val = yq;
- } else if(val < yq) {
- val = yq;
- showError('请不要小于采购已转数<' + yq + '>!');
- }
- }
- if(record.get('pcd_newqty') != val) {
- record.set('pcd_newqty', val);
- }
- if(column.format)
- val = Ext.util.Format.number(val, column.format);
- return val;
- },
- /**
- * @SCM.Purchase.PurchaseChange
- * 采购变更单新数量(易方)
- */
- scm_purc_change_qty2: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y];
- var adq = record.data['pcd_oldqty'];oldqty = 0;
- var acq = record.data['pd_acceptqty'];
- var yq = record.data['pd_yqty'];
- if(adq != null && adq > 0) {
- if(val > adq) {
- val = adq;
- showError('请不要超过原采购订单数<' + adq + '>!');
- }
- }
- if(acq != null && acq > 0) {
- if(val == 0) {
- val = acq;
- } else if(val < acq) {
- val = acq;
- showError('请不要小于验收数<' + acq + '>!');
- }
- }
- if(yq != null && yq > 0) {
- if(val == 0) {
- val = yq;
- } else if(val < yq) {
- val = yq;
- showError('请不要小于采购已转数<' + yq + '>!');
- }
- }
- if(record.get('pcd_newqty') != val) {
- record.set('pcd_newqty', val);
- }
- if(column.format)
- val = Ext.util.Format.number(val, column.format);
- return val;
- },
- /**
- * @PM.Make.MakeChange
- * 制造变更单新数量(易方)
- */
- pm_make_change_qty: function(val, meta, record){
- meta.style = "background:#C6E2FF;";
- var adq = record.data['md_qty'];oldqty = 0;
- var acq = record.data['ma_madeqty'];
- var yq = record.data['ma_toquaqty'];
- if(adq != null && adq > 0) {
- if(val > adq) {
- val = adq;
- showError('请不要超过原制造单数<' + adq + '>!');
- }
- }
- if(acq != null && acq > 0) {
- if(val == 0) {
- val = acq;
- } else if(val < acq) {
- val = acq;
- showError('请不要小于已完工数<' + acq + '>!');
- }
- }
- if(yq != null && yq > 0) {
- if(val == 0) {
- val = yq;
- } else if(val < yq) {
- val = yq;
- showError('请不要小于已转检验数<' + yq + '>!');
- }
- }
- if(record.get('md_newqty') != val) {
- record.set('md_newqty', val);
- }
- return val;
- },
- /**
- * @PM.Make.MakeChangeOS
- * 委外变更单新数量(易方)
- */
- pm_makeos_change_qty: function(val, meta, record){
- meta.style = "background:#C6E2FF;";
- var adq = record.data['md_oldqty'];oldqty = 0;
- var acq = record.data['ma_madeqty'];
- var yq = record.data['ma_haveqty'];
- if(adq != null && adq > 0) {
- if(val > adq) {
- val = adq;
- showError('请不要超过原委外单数<' + adq + '>!');
- }
- }
- if(acq != null && acq > 0) {
- if(val == 0) {
- val = acq;
- } else if(val < acq) {
- val = acq;
- showError('请不要小于已生产数量<' + acq + '>!');
- }
- }
- if(yq != null && yq > 0) {
- if(val == 0) {
- val = yq;
- } else if(val < yq) {
- val = yq;
- showError('请不要小于已转收料数<' + yq + '>!');
- }
- }
- if(record.get('md_newqty') != val) {
- record.set('md_newqty', val);
- }
- return val;
- },
- /**
- * @SCM.Sale.SendNotify
- * 出货通知变更单新数量
- */
- scm_sendnotify_change_qty: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y];
- var adq = record.data['scd_oldqty'];
- var yq = Math.min(record.data['snd_yqty'], adq);
- if(adq != null && adq > 0) {
- if(val > adq) {
- showError('请不要超过原通知单数<' + adq + '>!');
- val = adq;
- record.set('scd_qty', adq);
- }
- }
- if(yq != null && yq > 0) {
- if(val == 0) {
- val = yq;
- record.set('scd_qty', yq);
- } else if(val < yq) {
- showError('请不要小于已转出货数<' + yq + '>!');
- val = yq;
- record.set('scd_qty', yq);
- }
- }
- if(column.format)
- val = Ext.util.Format.number(val, column.format);
- return val;
- },
- /**
- * @SCM.Sale.SaleForecastChange
- * 预测变更单明细数量的修改限制
- */
- scm_sale_sfchange_qty: function(val, meta, record){
- meta.style = "background:#C6E2FF;";
- var sdq = record.data['scd_oldqty'];
- var kq = record.data['scd_minqty'];
- if(sdq != null && sdq > 0) {
- if(val > sdq) {
- val = sdq;
- showError('请不要超过原预测数量<' + sdq + '>!');
- }
- }
- if(kq != null && kq > 0) {
- if(val == 0) {
- val = kq;
- } else if(val < kq) {
- val = kq;
- showError('请不要小于最小变更数<' + kq + '>!');
- }
- }
- if(record.get('scd_newqty') != val) {
- record.set('scd_newqty', val);
- }
- return val;
- },
- /**
- * @SCM.Sale
- * 销售单明细数量的修改限制
- */
- scm_sale_sdqty: function(val, meta, record){
- meta.style = "background:#C6E2FF;";
- var status = Ext.getCmp('sa_statuscode') == null ? null : Ext.getCmp('sa_statuscode').value;
- var maxValue = record.modified.sd_qty || record.data.sd_qty;
- if(status == null || status == 'ENTERING' || status == 'COMMITED'){
- var sd_sourceid = record.data['sd_sourceid'];
- if(sd_sourceid != null && sd_sourceid != '0' && sd_sourceid != 0){//有来源
- //限制val<maxValue
- if(val > maxValue){
- val = maxValue;
- record.set('sd_qty', val);
- showError('请不要输入超过来源数量' + maxValue + "的值!");
- }
- }
- if(!Ext.isNumber(val)){
- val = maxValue;
- record.set('sd_qty', val);
- showError('请输入数字!');
- }
- if(val < 0){
- val = maxValue;
- record.set('sd_qty', val);
- showError("请不要输入小于0的值!");
- }
- } else {
- if(val != maxValue){
- val = maxValue;
- record.set('sd_qty', val);
- showError("该单据已审核,无法修改,请申请变更!");
- }
- }
- return val;
- },
- /**
- * @SCM.Purchase.VerifyApply
- * 收料单明细数量的修改限制
- */
- scm_purc_vadqty: function(val, meta, record){
- meta.style = "background:#C6E2FF;";
- var andid = record.data['vad_andid'];
- if(andid == null || andid == 0){
- var pdid = record.data['pd_qty'],qty = 0;
- if(pdid != null && pdid > 0) {
- if(val > pdid) {
- qty = record.modified.vad_qty || record.data.vad_qty || pdid;
- val = qty;
- record.set('vad_qty', qty);
- showError('请不要超过采购数<' + pdid + '>修改!');
- }
- }
- } else {
- var andqty = record.data['and_inqty'],oldqty = 0;
- if(andqty != null && andqty > 0) {
- if(val > andqty) {
- oldqty = record.modified.vad_qty || record.data.vad_qty || andqty;
- val = oldqty;
- record.set('vad_qty', oldqty);
- showError('请不要超过收料通知单数<' + andqty + '>修改!');
- }
- }
- }
- return val;
- },
- /**
- * 通用方法
- * 仅仅是改变该列的背景颜色
- * @arg red/black.../C6E2FF/B376F5/..null..
- * @expression color:red
- * @expression color:#C1D0D9
- */
- color: function(val, meta, record, x, y, store, view){
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex;
- if(!me || !me.args){
- meta.style = "background:#C6E2FF;";
- return val;
- }
- me.args.color = me.args.color || new Object();
- var arg = me.args.color[field];
- if(arg && arg.length > 0){
- meta.style = "background:" + arg[0] + ";";
- } else {
- meta.style = "background:#C6E2FF;";
- }
- return val;
- },
- /**
- * 通用方法
- * 如果当前字段的值为空或空字符串,就获取指定字段的值赋给当前字段
- * @expression copy:pcd_oldprodcode
- */
- copy: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex;
- if(val == null || val == '' || val == 0){
- if(!me || !me.args){
- grid = grid.ownerCt, me = grid.RenderUtil;
- if(!me || !me.args){
- return val;
- }
- }
- var v = record.data[field];
- if(v == null || v == '' || (column.xtype == 'numbercolumn' && v == 0)){
- var arg = me.args.copy[field];
- if(arg && arg.length > 0){
- val = record.data[arg[0]];
- }
- if(val != null && val != '' && val != 0){
- record.set(field, val);
- }
- }
- }
- if(column.xtype == 'numbercolumn' && val != 0){
- val = Ext.util.Format.number(val, column.format);
- }
- return val;
- },
- /**
- * 通用方法
- * 如果指定字段的值为空或空字符串,就获取当前值赋给指定字段
- * @expression paste:pcd_newprodcode
- */
- paste: function(val, meta, record, x, y, store, view){
- meta.style = "background:#C6E2FF;";
- if(val != null && val != ''){
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex;
- if(!me || !me.args){
- grid = grid.ownerCt, me = grid.RenderUtil;
- if(!me || !me.args){
- return val;
- }
- }
- var arg = me.args.paste[field];
- var value = null;
- if(arg && arg.length > 0){
- value = record.data[arg[0]];
- if(value == null || value == ''){
- if(column.xtype == 'numbercolumn' && val != 0){
- record.set(arg[0], val);
- } else {
- if(Ext.isDate(val)){
- val = Ext.Date.toString(val);
- }
- record.set(arg[0], val);
- }
- }
- }
- }
- return val;
- },
- /**
- * 必填字段
- */
- necessary: function(val, meta, record, x, y, store, view){
- return '<img src="' + basePath + 'resource/images/icon/need.png" title="必填字段">' +
- '<span style="color:blue;padding-left:2px;" title="必填字段">' + val + '</span>';
- },
- /**
- * @FA
- * 应收系统参数设置
- */
- stringToDate: function(val, meta, record, x, y){
- meta.style = "background:#C6E2FF;";
- var reg = /\d{2}-\d{1,2}月-\d{2}/;
- var field = this.columns[y].dataIndex;
- if(val == 'true'){
- record.set(field,'是');
- }
- if(val == 'false'){
- record.set(field,'否');
- }
- if(reg.test(val)){
- var day = val.split('-')[0];
- var month = val.split('-')[1].replace('月', '');
- if(Number(month) < 10){
- month = '0' + month;
- }
- var year = '20' + val.split('-')[2];
- val = year + '-' + month + '-' + day;
- record.set(field, val);
- }
- return val;
- },
- /**
- * @PM.Make
- * 成套发料,本次发料套数
- */
- pm_make_issue_thisqty: function(val, meta, record, x, y){
- var code = record.data['ma_code'], busy = Ext.getCmp('grid').busy;
- record.hasdataChanged=false;
- if(!Ext.isEmpty(record.data['ma_id']) && !Ext.isEmpty(code)) {
- var nQty = record.data['ma_qty'] - record.data['ma_haveqty'];
- if(record.maxQty!=nQty){
- record.maxQty=nQty;
- record.hasdataChanged=true;
- }
- var maxQty = nQty;
- if(val > maxQty) {
- if(!busy && !record.hasdataChanged)
- showError('本次发料套数不能超过<' + maxQty + '>,单号:' + code);
- val = maxQty;
- if(record.data['ma_thisqty'] != val) {
- record.set('ma_thisqty', val);
- }
- } else{
- if(record.hasdataChanged) val=maxQty;
- val= val==0?maxQty:val;
- if(record.data['ma_thisqty'] != val) {
- record.set('ma_thisqty', val);
- }
- }
- var grid = Ext.getCmp('editorColumnGridPanel'),items = grid.store.data.items;
- if(!grid.lockrender && Ext.getCmp('set').value) {
- Ext.each(items, function(item){
- if(item.data['mm_code'] == code){
- var max = item.data['mm_oneuseqty'] * val;
- var t = 0;
- if(item.data.isrep) {
- t = item.data['mm_canuserepqty'] - item.data['mm_totaluseqty'];
- } else {
- t = item.data['mm_qty'] - item.data['mm_canuserepqty'] - (item.data['mm_havegetqty'] +
- item.data['mm_returnmqty'] - item.data['mm_addqty'] - item.data['mm_haverepqty']) -
- item.data['mm_totaluseqty'];
- }
- max = Math.min(t, max);
- if(item.data['mm_thisqty'] > max){
- item.set('mm_thisqty', max);
- }
- }
- });
- }
- }
- return val;
- },
- /**
- * @PM.Make
- * 制造单本次领料数mm_thisqty=mm_qty(制单数)-mm_canuserepqty(替代维护数)-mm_havegetqty(已领)+mm_returnmqty(不良数)
- * -mm_addqty(补料数)-mm_haverepqty(替代已领)-mm_totaluseqty(已转领料)
- */
- pm_make_thisqty: function(val, meta, record, x, y){
- meta.tdCls = "x-grid-cell-renderer-bl";
- var t = 0,busy = Ext.getCmp('editorColumnGridPanel').busy;
- if(record.data.isrep) {
- t = record.data['mm_qty'] - (record.data['mm_havegetqty'] - record.data['mm_addqty'] + record.data['mm_returnmqty'] ) - record.data['mm_totaluseqty'] ;
- } else {
- t = record.data['mm_qty'] - record.data['mm_canuserepqty'] - (record.data['mm_havegetqty'] - record.data['mm_haverepqty'] +
- record.data['mm_returnmqty'] - record.data['mm_repreturnmqty'] - record.data['mm_addqty'] + record.data['mm_repaddqty']) -
- record.data['mm_totaluseqty'];
- }
- t = t < 0 ? 0 : t;
- var max = t.toFixed(3);
- max = max < 0 ? 0 : max;
- //ma_thisqty*mm_oneuseqty
- var tqty = max;
- if(Ext.getCmp('set').value) {
- var items = Ext.getCmp('grid').store.data.items,mItem = null;
- Ext.each(items, function(item){
- if(item.data['ma_code'] != null && item.data['ma_code'].toString().trim() != ''
- && item.data['ma_code'] == record.data['mm_code']){
- mItem = item;
- if(item.data['ma_thisqty'] > 0 && record.data['mm_oneuseqty'] > 0){
- max = item.data['ma_thisqty'] * record.data['mm_oneuseqty'];
- tqty = Math.min(max, t);
- tqty = Number(tqty.toFixed(3));
- }
- }
- });
- }
- val = Number(val.toFixed(3));
- if(val > tqty) {
- if(!busy)
- showError("本次领料数不得超过" + tqty);
- val = tqty;
- record.set('mm_thisqty', val);
- } else if(val < 0){
- if(!busy)
- showError("本次领料数不能是负数");
- val = tqty;
- record.set('mm_thisqty', val);
- } else if(val == 0 && tqty != 0){
- val = tqty;
- record.set('mm_thisqty', val);
- } else {
- // if(val < max && mItem) {//本次领料数 <本次发料套数*单位用量
- // mItem.maxQty = Math.ceil(val/record.data['mm_oneuseqty']);
- // mItem.set('ma_thisqty', mItem.maxQty);
- // }
- }
- return val;
- },
- /**
- * @PM.Make
- * 替代料,特殊样式
- */
- pm_isrep: function(val, meta, record, x, y){
- var field = this.columns[y].dataIndex;
- if(record.data.isrep) {
- meta.tdCls = "x-grid-cell-renderer-cl";
- if(field == 'mm_code') {
- return '<img src="' + basePath + 'resource/images/renderer/important.png">' +
- '替代料';
- } else {
- return val;
- }
- }
- return val;
- },
- /**
- * @PM.Make
- * 成套退料,本次退料套数
- */
- pm_make_return_thisqty: function(val, meta, record, x, y){
- var code = record.data['ma_code'], busy = Ext.getCmp('grid').busy;
- record.hasdataChanged=false;
- if(!Ext.isEmpty(record.data['ma_id']) && !Ext.isEmpty(code)) {
- var nQty = record.data['ma_qty'];
- if(record.maxQty!=nQty){
- record.maxQty=nQty;
- record.hasdataChanged=true;
- }
- var maxQty = Math.min(record.maxQty, nQty);
- if(val > maxQty) {
- if(!busy && !record.hasdataChanged)
- showError('本次退料套数不能超过<' + maxQty + '>,单号:' + code);
- val = maxQty;
- if(record.data['ma_thisqty'] != val) {
- record.set('ma_thisqty', val);
- }
- } else {
- if(record.hasdataChanged) val=maxQty;
- val= val==0?maxQty:val;
- if(record.data['ma_thisqty'] != val) {
- record.set('ma_thisqty', val);
- }
- }
- var grid = Ext.getCmp('editorColumnGridPanel'),items = grid.store.data.items;
- if(!grid.lockrender) {
- Ext.each(items, function(item){
- if(item.data['mm_code'] == code){
- var max = item.data['mm_oneuseqty'] * val;
- var t = item.data['mm_onlineqty'] || 0;
- max = Math.min(t, max);
- if(item.data['mm_thisqty'] > max){
- item.set('mm_thisqty', max);
- }
- }
- });
- }
- }
- return val;
- },
- /**
- * @PM.Make
- * 制造单本次退料数mm_thisqty<=mm_onlineqty(在制数)
- */
- pm_make_rqty: function(val, meta, record, x, y, store){
- meta.style = "background:#C6E2FF;";
- if(record.data['mm_onlineqty'] < 0) {// 返修工单退料
- return val;
- }
- var mrec = record;
- if(record.data.isrep) {
- //替代料 本次数量 按主料本次数量计算
- store.each(function(d){
- if(d.data.mm_id == record.data.mm_id && !d.data.isrep) {
- mrec = d;return;
- }
- });
- }
- var t = ((mrec.data['mm_onlineqty'] || 0) - (mrec.data['mm_backqty'] || 0)),
- busy = Ext.getCmp('editorColumnGridPanel').busy;
- var max = t;
- max = max < 0 ? 0 : max;
- var tqty = max;
- /*退料不需要此限制
- var items = Ext.getCmp('grid').store.data.items;
- Ext.each(items, function(item){
- if(item.data['ma_code'] != null && item.data['ma_code'].toString().trim() != ''
- && item.data['ma_code'] == mrec.data['mm_code']){
- mItem = item;
- if(item.data['ma_thisqty'] > 0 && mrec.data['mm_oneuseqty'] > 0){
- max = item.data['ma_thisqty'] * mrec.data['mm_oneuseqty'];
- tqty = Math.min(max, t);
- }
- }
- });
- */
- if(val > tqty) {
- if(!busy)
- showError("本次退料数不得超过" + tqty);
- val = tqty;
- } else if(val < 0){
- if(!busy)
- showError("本次退料数不能是负数");
- val = tqty;
- } else if(val == 0 && tqty != 0){
- val = tqty;
- }
- if(record.get('mm_thisqty') != val)
- record.set('mm_thisqty', val);
- return val;
- },
- /**
- * @PM.Make
- * 成套补料,本次补料套数
- */
- pm_make_add_thisqty: function(val, meta, record, x, y){
- var code = record.data['ma_code'], busy = Ext.getCmp('grid').busy;
- if(!Ext.isEmpty(record.data['ma_id']) && !Ext.isEmpty(code)) {
- var nQty = record.data['ma_qty'] - record.data['ma_haveqty'];
- record.maxQty = record.maxQty || nQty;
- var maxQty = Math.min(record.maxQty, nQty);
- if(val > maxQty) {
- if(!busy)
- showError('本次补料套数不能超过<' + maxQty + '>,单号:' + code);
- val = maxQty;
- if(record.data['ma_thisqty'] != val) {
- record.set('ma_thisqty', val);
- }
- } else if(val == 0) {
- val = maxQty;
- if(record.data['ma_thisqty'] != val) {
- record.set('ma_thisqty', val);
- }
- }
- var grid = Ext.getCmp('editorColumnGridPanel'),items = grid.store.data.items;
- if(!grid.lockrender) {
- Ext.each(items, function(item){
- if(item.data['mm_code'] == code){
- var max = item.data['mm_oneuseqty'] * val;
- var t = 0;
- if(item.data.isrep) {
- t = 0;
- } else {
- t = item.data['mm_scrapqty'] + item.data['mm_returnmqty'] - item.data['mm_balance']
- - item.data['mm_addqty'] ;//- item.data['mm_totaluseqty']
- }
- max = Math.min(t, max);
- if(item.data['mm_thisqty'] > max){
- item.set('mm_thisqty', max);
- }
- }
- });
- }
- }
- return val;
- },
- /**
- * @PM.Make
- * 本次补料数: mm_scrapqty(报废) + mm_returnmqty(制程不良退料数) - mm_balance(备损数) - mm_addqty(补料数)// - mm_totaluseqty(已转领料数量)
- *
- */
- pm_make_thisadd: function(val, meta, record, x, y) {
- meta.tdCls = "x-grid-cell-renderer-bl";
- var t = 0,busy = Ext.getCmp('editorColumnGridPanel').busy;
- if(record.data.isrep) {
- return val;
- } else {
- t = record.data['mm_scrapqty'] + record.data['mm_returnmqty'] - record.data['mm_balance']
- - record.data['mm_addqty'];// - record.data['mm_totaluseqty']
- }
- var max = t;
- max = max < 0 ? 0 : max;
- var tqty = max;
- var items = Ext.getCmp('grid').store.data.items;
- Ext.each(items, function(item){
- if(item.data['ma_code'] != null && item.data['ma_code'].toString().trim() != ''
- && item.data['ma_code'] == record.data['mm_code']){
- mItem = item;
- if(item.data['ma_thisqty'] > 0 && record.data['mm_oneuseqty'] > 0){
- max = item.data['ma_thisqty'] * record.data['mm_oneuseqty'];
- tqty = Math.min(max, t);
- }
- }
- });
- if(val > tqty) {
- if(!busy)
- showError("本次补料数不得超过" + tqty);
- val = tqty;
- record.set('mm_thisqty', val);
- } else if(val < 0){
- if(!busy)
- showError("本次补料数不能是负数");
- val = tqty;
- record.set('mm_thisqty', val);
- } else if(val == 0 && tqty != 0){
- val = tqty;
- record.set('mm_thisqty', val);
- }
- return val;
- },
- /**
- * @PM.Make
- * ProductAll!Query MRP仓剩余可用=pr_mrponhand-pr_commited
- */
- pm_ProductAll_onhandlack: function(val, meta, record, x, y){
- var t = 0 ;
- t = record.data['v_po_mrponhand'] - record.data['v_mrpsaqty'] - record.data['v_forecastqty'] - record.data['v_mrpmmqty'] ;
- var field = this.columns[y].dataIndex;
- return t;
- //record.set(field, t);
- },
- /**
- * @PM.Make
- * ProductAll!Query 收料仓剩余可用=pr_mrponhand+pr_reconhand-pr_commited
- */
- pm_ProductAll_reconhandlack: function(val, meta, record, x, y){
- var t = 0 ;
- t = record.data['v_po_mrponhand'] + record.data['v_reconhand'] - record.data['v_mrpsaqty'] - record.data['v_forecastqty'] - record.data['v_mrpmmqty'] ;
- var field = this.columns[y].dataIndex;
- return t;
- },
- /**
- * @PM.Make
- * ProductAll!Query MRP在途剩余可用=pr_mrponhand+pr_onorder-pr_commited
- */
- pm_ProductAll_onorderlack: function(val, meta, record, x, y){
- var t = 0 ;
- t = record.data['v_po_mrponhand'] + record.data['v_mrppoqty'] + record.data['v_mrpmaqty'] - record.data['v_forecastqty'] - record.data['v_mrpsaqty']- record.data['v_mrpmmqty'] ;
- var field = this.columns[y].dataIndex;
- return t;
- },
- /**
- * @PM.Make
- * ProductAll!Query MRP请购剩余可用=pr_mrponhand+pr_onorder+pr_arkqty-pr_commited
- */
- pm_ProductAll_arklack: function(val, meta, record, x, y){
- var t = 0;
- t = record.data['v_po_mrponhand'] + record.data['v_mrppoqty'] + record.data['v_mrpmaqty'] + record.data['v_arkqty'] - record.data['v_mrpsaqty'] - record.data['v_forecastqty'] - record.data['v_mrpmmqty'] ;
- var field = this.columns[y].dataIndex;
- return t;
- },
- /**
- *@PM.MakePlan 生产计划维护
- * */
- pm_make_presMakePlan:function(val,meta,record,rol){
- if(val)
- return '<a href="javascript:showWin('+ '\''+rol+'\''+');">' + val + '</a>';
- else return null;
- },
- /**
- * 颜色列
- * @expression bgcolor
- */
- bgcolor: function(val, meta, record, x, y){
- return "<div style='background:#" + val + " !important'>" + val + "</div>";
- },
- /**
- * 颜色列
- * @expression bgcolor2
- */
- bgcolor2: function(val, meta, record, x, y){
- return '<div style="background:#' + val + '"> </div>';
- },
- /**
- * 年和月
- */
- yearmonth: function(val, meta, record, x, y){
- meta.style = "background:#C6E2FF;";
- if(val == null || val == ''){
- var date = new Date();
- var year = date.getFullYear();
- var month = date.getMonth() + 1;
- month = month < 10 ? '0' + month : month;
- val = '' + year + month;
- }
- var field = this.columns[y].dataIndex;
- if(record.data[field] != val){
- record.set(field, val);
- }
- return val;
- },
- /**
- * ??
- */
- date: function(val, meta, record){
- meta.style = "background:#C6E2FF;";
- if(val){
- return '<span style="color:blue;padding-left:2px">' + Ext.Date.toString(val); + '</span>';
- } else
- return '<span style="color:blue;padding-left:2px"></span>';
- },
- /**
- * 网络寻呼-状态prd_status
- * -1未读 1已读 0保留
- */
- pagingReleaseStatus: function(val, meta, record){
- var d = Number(val);
- var str = '';
- switch (d){
- case 0:
- str = '<span style="color:#20B7B9;padding-left:2px">保留</span>';
- break;
- case 1:
- str = '<img src="' + basePath + 'resource/images/renderer/remind.png">' +
- '<span style="color:blue;padding-left:2px">已阅</span>';
- break;
- case -1:
- str = '<img src="' + basePath + 'resource/images/renderer/remind2.png">' +
- '<span style="color:red;padding-left:2px">未阅</span>';
- break;
- }
- return str;
- },
- /**
- * @OA
- * 不通过监听itemmousedown来查看明细,
- * 而是点击button
- */
- detailbutton: function(msg, meta, record){
- /**
- * 寻呼内容列表显示时
- * 将表情代码转化成图片。
- * 插入的图片和附件代码不转化
- */
- if(msg){
- msg = msg.toString();
- var faces = msg.match(/&f\d+;/g);
- Ext.each(faces, function(f){//表情
- msg = msg.replace(f, '<img src="' + basePath + 'resource/images/face/' + f.substr(2).replace(';', '') + '.gif">');
- });
- }
- return (msg || ' ') + "<input type='button' value='查看详细' name='detailbutton' style='float:right;color:gray;font-size:13px;cursor:pointer;height:25px;' onClick='Ext.getCmp(\"grid\").onGridItemClick();'/>";
- },
- opendetail: function(val, meta, record) {
- if(!Ext.isEmpty(val)){
- var sd_id = record.get('sd_id');
- return val + "<input type='button' value='出货排程' name='detailbutton' " +
- "style='float:right;color:gray;font-size:13px;cursor:pointer;height:25px;' onClick='window.open(\"" + basePath +
- "jsps/scm/sale/saleDetail.jsp?formCondition=sd_id="+sd_id+"&gridCondition=sdd_sdid="+sd_id+"\", \"测试\", \"width=800,height=600,top=30,left=200\")'/>";
- }
- },
- /**
- * 不直接显示附件的ID字符串,转化显示附件数
- */
- attachcolumn: function(val, meta, record){
- if(val != null && val != ''){
- return val.split(',').length + ' 个';
- } else {
- return '无';
- }
- },
- /**
- * 对任务完成率不同阶段进行图片标识
- */
- percentdone: function(val, meta, record){
- val == null || 0;
- if(val < 30)
- return '<img src="' + basePath + 'resource/images/renderer/remind2.png">'+'<span style="color:#436EEE;padding-left:2px">' + val + '</span>';
- else if(val > 30 && val < 50)
- return '<img src="' + basePath + 'resource/images/renderer/remind.png">'+'<span style="color:#5F9EA0;padding-left:2px">' + val + '</span>';
- else if(val == 100){
- return '<img src="' + basePath + 'resource/images/renderer/award1.png">'+'<span style="color:blue;padding-left:2px">' + val + '</span>';
- }else if(val > 80){
- return '<img src="' + basePath + 'resource/images/renderer/award2.png">'+'<span style="color:green;padding-left:2px">' + val + '</span>';
- }
- else
- return val;
- },
- /**
- * SCM 请购转采购替代料
- * */
- ap_isrep: function(val, meta, record, x, y){
- if(record.data.ad_ifrep==-1) {
- meta.tdCls = "x-grid-cell-renderer-cl";
- return '<img src="' + basePath + 'resource/images/taskdescription.png">' + val;
- }
- return val;
- },
- isDateModel_type: function(val){
- if(val =='zhou'){
- return '周';
- } else if(val == 'yue'){
- return '月';
- } else {
- return '未知';
- }
- },
- string_substring: function(val, meta, record, x, y, store, view){
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex;
- if(!me || !me.args){
- return val;
- } else {
- var i=me.args['string_substring'][field];
- return val.substring(Number(i[0]),Number(i[1]));
- }
- },
- /**
- * @MA
- */
- logicDesc_type: function(val){
- if (val == 1) {
- return '主算法';
- } else if(val == 0){
- return '一般算法';
- } else {
- return '系统算法';
- }
- },
- /**
- * 通用方法
- * 获取本地常用属性
- * em_name,em_code,em_uu,en_uu...
- * 以及获取本地时间
- * @expression getLocal(em_code),getLocal(Y-m-d),getLocal(time)
- */
- getLocal: function(val, meta, record, x, y, store, view){
- var grid = view.ownerCt,me = grid.RenderUtil,column = grid.columns[y],field = column.dataIndex;
- if(!me || !me.args){
- grid = grid.ownerCt, me = grid.RenderUtil;
- if(!me || !me.args){
- return val;
- }
- }
- var arg = me.args.getLocal[field][0],v = val;
- if(contains('Y-m-d H:i:s', arg)) {
- v = Ext.Date.format(new Date(), arg);
- } else if('time' == arg){
- v = Ext.Date.format(new Date(), 'Y-m-d H:i:s');
- } else if('date' == arg){
- v = Ext.Date.format(new Date(), 'Y-m-d');
- } else {
- v = window[arg];
- }
- if(v && Ext.isEmpty(val)) {
- val = v;
- record.set(field, v);
- }
- return val;
- },
- /**
- * @MA
- * 逻辑顺序 0-before,1-after
- */
- logicturn: function(val){
- switch (Number(val)){
- case 0 :
- val = 'before';break;
- case 1 :
- val = 'after';break;
- }
- return val;
- },
- /**
- * @MA
- * form配置界面,将从datadictonary得到的ddd_fieldtype转化为form能识别的fd_type
- */
- form_type: function(val, meta, record, x, y, store, view){
- var grid = view.ownerCt,column = grid.columns[y],e,f, _v = val ? val.toLowerCase() : '', len = 20;
- if(/^(varchar2)/.test(_v)) {
- val = 'S';
- len = Number(_v.substring(_v.indexOf('(') + 1, _v.indexOf(')')));
- } else if (/^(int)/.test(_v)) {
- val = 'N';
- } else if (/^(number)/.test(_v)) {
- val = 'N';
- } else if (/^(float)/.test(_v)) {
- val = 'N';
- } else if (/^(smallint)/.test(_v)) {
- val = 'N';
- } else if ('date' == _v) {
- val = 'D';
- } else if ('timestamp' == _v) {
- val = 'DT';
- }
- if (record.get('fd_type') != val) {
- record.set('fd_type', val);
- record.set('fd_fieldlength', len);
- }
- if ((e = (column.editor || column.filter)) != null && e.store) {
- var s = null,dd = e.store.data;
- s = Ext.Array.filter(dd, function(d, index){
- return d.value == val;
- });
- if(s && s.length > 0) {
- return s[0].display;
- }
- } else if ((f = column.field) != null) {
- return f.rawValue;
- }
- return val;
- },
- /**
- * @FA.VoucherStyle
- */
- fa_vdclass: function(val, meta, record, x, y, store, view) {
- if(!Ext.isEmpty(val)) {
- var count = 0;
- store.each(function(d){
- if(d.get('vd_class') == val) {
- count++;
- }
- });
- var v = record.get('vd_detno');
- if(v <= 0 || v > count) {
- record.set('vd_detno', count);
- }
- }
- return val;
- } ,
- /**
- * @FA.VoucherStyle
- */
- fa_custmonthcys_batch: function(val, meta, record, x, y, store, view) {
- var cm_endamount = record.data['cm_endamount']; //应收金额
- var cm_prepayend = record.data['cm_prepayend']; //预收金额
- if(Ext.isNumber(Number(cm_endamount))&&Ext.isNumber(Number(cm_prepayend))){
- if(cm_endamount == '' && cm_prepayend == ''){
- return '';
- }
- return Number(cm_endamount) > Number(cm_prepayend) ? Ext.util.Format.number(cm_endamount, '0,000.00') :Ext.util.Format.number(cm_prepayend,'0,000.00') ;
- } else {
- return '';
- }
- } ,
- /**
- * @流程等待时间
- */
- WaitTime:function(val, meta, record){
- if(record){
- var launchTime=record.data.jp_launchTime;
- return parseInt((new Date().getTime()-new Date(launchTime).getTime())/60000);
- }
- else return null;
- },
- /**
- * @FA.Voucher
- * VoucherCreate
- * 打开凭证
- */
- openvoucher: function(val, meta, record) {
- if(!Ext.isEmpty(val)) {
- if(!window.__fn) {
- var fn = function(vo_code) {
- Ext.Ajax.request({
- url: basePath + 'common/getFieldData.action',
- params: {
- caller: 'Voucher',
- field: 'vo_id',
- condition: 'vo_code=\'' + vo_code + '\''
- },
- callback: function(opt, s, r) {
- if(s) {
- var rs = Ext.decode(r.responseText);
- if(rs.data != null && rs.data > 0) {
- openUrl('jsps/fa/ars/voucher.jsp?formCondition=vo_idIS' + rs.data +
- '&gridCondition=vd_voidIS' + rs.data);
- }
- }
- }
- });
- };
- window.__fn = fn;
- }
- val = '<a href="javascript:window.__fn(\'' + val + '\');">' + val + '</a>';
- }
- return val;
- },
- prod_disable : function(v, m, r) {
- var s = r.get('pr_status');
- m.style = '';
- if('已删除' == s || '已禁用' == s) {
- m.style = 'color:red;';
- }
- return v;
- },
- /**
- * @PM
- * 制造单批量转FQC前,判断根据物料大类,批号需要手工录入(国扬)
- **/
- turnfqc_requirebatch : function(v, m, r, x, y, store, view) {
- var kinds = ['CWDM模块','PCBA板','PCB板','光开关','结构件','模拟光模块','模拟光器件','数字光模块','数字光器件','数字器件材料','无源半成品','无源器件材料'];
- if(kinds.indexOf(v) > -1 && view.ownerCt.selModel.isSelected(r) && Ext.isEmpty(r.get('ma_contractcode'))) {
- showError('需要填写批号,工单:' + r.get('ma_code'));
- }
- return v;
- },
- /**
- * @Scm.Application
- * 请购单差异天数计算(国扬)
- **/
- application_differdays : function(val, meta, record){
- var v = record.get('ad_delivery');
- if(v != null) {
- return Math.round((v-Ext.getCmp('ap_date').getValue())/86400000)-(record.get('ad_leadtime'));
- }
- return 0;
- },
- /**
- * @Pm.MakeScrap
- * 报废单是否超备损数报废
- **/
- ifoverqtyScrap : function(val, meta, record){
- var v1 = record.get('md_allscrapqty');
- var v2 = record.get('mm_balanceqty');
- var v;
- if(v1>0 && v1>v2) {
- v='是';
- }else
- v= '否';
- return v;
- },
- /**
- * @Scm。ProdInOut
- * 生产退料单,是否超损耗退料
- **/
- ifoverqtyReturn : function(val, meta, record){
- var v1 = record.get('pd_orderqty');
- var v2 = record.get('mm_balanceqty');
- var v;
- if(v1>0 && v1>v2 && record.get('pd_description')=="制程不良") {
- v='是';
- }else
- v= '否';
- return v;
- },
- /**
- * @Pm。
- * 增加物料的关联信息查看render(鼠标停在某个物料上时,显示一个tip提示信息,
- * 包含物料的MRP库存,不良品库存,采购待检数,PO在途数,请购在途数,工单未发料数,工单为完工数)
- **/
- ProductHref : function(val, meta, record,x,y,store, view){
- document.body.addEventListener("mouseover", function(e){
- callValue=e.target.innerHTML;
- var grid = view.ownerCt;
- if(!view.tip) {
- view.tip = Ext.create('Ext.tip.ToolTip', {
- target: view.el,
- delegate: view.itemSelector,
- trackMouse: true,
- renderTo: Ext.getBody(),
- maxWidth :580,
- listeners: {
- beforeshow: function updateTipBody(tip) {
- Ext.Ajax.request({
- url: basePath + 'pm/product/getProductCount.action',
- params: {
- codes: callValue
- },
- callback: function (opt, s, r) {
- if(s) {
- var rs = Ext.decode(r.responseText);
- if(rs.data) {
- tip.down('grid').setTitle(callValue);
- tip.down('grid').store.loadData(rs.data);
- }
- }
- }
- });
- }
- },
- items: [{
- xtype: 'grid',
- width: 580,
- columns: [{
- text: 'MRP库存',
- cls: 'x-grid-header-1',
- dataIndex:'PO_MRPONHAND',
- width: 80
- },{
- text: '不良品库存',
- cls: 'x-grid-header-1',
- dataIndex: 'PO_DEFECTONHAND',
- width: 80
- },{
- text: '采购待检数',
- cls: 'x-grid-header-1',
- xtype: 'numbercolumn',
- align: 'right',
- dataIndex: 'RECONHAND',
- width: 80
- },{
- text: 'PO在途数',
- cls: 'x-grid-header-1',
- xtype: 'numbercolumn',
- align: 'right',
- dataIndex: 'POQTY',
- width: 80
- },{
- text: '请购在途数',
- cls: 'x-grid-header-1',
- xtype: 'numbercolumn',
- align: 'right',
- dataIndex: 'ARKQTY',
- width: 80
- },{
- text: '工单未发料数',
- cls: 'x-grid-header-1',
- xtype: 'numbercolumn',
- align: 'right',
- dataIndex: 'MMQTY',
- width: 80
- },{
- text: '工单未完工数',
- cls: 'x-grid-header-1',
- xtype: 'numbercolumn',
- align: 'left',
- dataIndex: 'MAQTY',
- width: 100
- }],
- columnLines: true,
- title: '物料分仓库存',
- store: new Ext.data.Store({
- fields: ['PO_MRPONHAND', 'PO_DEFECTONHAND', 'RECONHAND','POQTY','ARKQTY','MMQTY','MAQTY'],
- data: [{}]
- })
- }]
- });
- }
- })
- var field = this.columns[y].dataIndex;
- return record.data[field];
- },
- /**
- * @SCM.Purchase.VerifyApplyChange
- * 收料变更单新数量
- */
- scm_verify_change_qty: function(val, meta, record){
- meta.style = "background:#C6E2FF;";
- var pdq = record.data['pd_qty'], oldqty = record.data['vcd_oldqty'],
- yqty = record.data['pd_yqty'];
- if(pdq != null && pdq > 0) {
- if(yqty + (val-oldqty) > pdq) {
- val = pdq-yqty+oldqty;
- showError('请不要超过采购数<' + pdq + '>!');
- }
- }
- if(record.get('vcd_newqty') != val) {
- record.set('vcd_newqty', val);
- }
- return val;
- },
- /**
- * @PM ProdInOut!Partition!Deal
- * 拆件批量入库 (入库数)
- */
- pm_io_thisqty: function(val, meta, record, x, y, store, view){
- meta.tdCls = "x-grid-cell-renderer-bl";
- var grid = view.ownerCt, me = grid.RenderUtil,column = grid.columns[y] ;
- var gqty = record.data['mm_gqty'];
- var yqty = record.data['mm_yqty'];
- if(gqty != null && gqty > 0 ) {
- var maxValue = gqty-yqty;
- if(record.dirty){
- var thisqty = val ;
- if(column.editor || (column.getEditor && column.getEditor())) {//在允许编辑的情况下,修改值不能大于maxValue
- if (thisqty > maxValue){
- val = maxValue;
- showError('请不要输入超过最大数量<' + maxValue + '>的值!');
- }
- }
- }else{
- val = maxValue;
- }
- if(record.data['mm_thisqty'] != val){
- record.set('mm_thisqty', val);
- }
- return val;
- }
- },
- /**
- * @Fa
- * 应付批量开票
- * */
- FA_THISVOQTY: function(val, meta, record, x, y, store, view){
- var maxValue=record.get('pd_showqty')-record.get('pd_showinvoqty');
- var grid = view.ownerCt,column = grid.columns[y],field = column.dataIndex;
- if(maxValue>0 && val<0){
- val=maxValue;
- showError('开票数量不能小于0!');
- record.set(field,val);
-
- }
- else if(maxValue<0 && val>0){
- val=maxValue;
- showError('开票数量不能大于0!');
- record.set(field,val);
-
- }
- if(column.format)
- val = Ext.util.Format.number(val, column.format);
- else
- val = val.toFixed(4);
- return val;
- },
- FA_BILLOUTTHISVOQTY: function(val, meta, record, x, y, store, view){
- var maxValue=record.get('abd_qty')-record.get('abd_yqty');
- var grid = view.ownerCt,column = grid.columns[y],field = column.dataIndex;
- if(maxValue>0 && val<0){
- val=maxValue;
- showError('开票数量不能小于0!');
- record.set(field,val);
- }
- else if(maxValue<0 && val>0){
- val=maxValue;
- showError('开票数量不能大于0!');
- record.set(field,val);
- }
- if(column.format)
- val = Ext.util.Format.number(val, column.format);
- else
- val = val.toFixed(4);
- return val;
- },
- BatchRemind: function(val, meta, record){
- if(record.get('ba_validtime') && Number(record.get('ba_remain'))>0 && new Date()>record.get('ba_validtime'))
- return '<span style="color:red;padding-left:2px">' + val + '</span>';
- else return val;
- },
- SMTMonitor :function(val, meta, record, x, y, store, view){
- var me = this;
- if(Ext.isDefined(me.unitTime)){
- if(Number(me.unitTime)*Number(record.get('msl_remainqty')) < Number(me.warningTime)*60){
- me.getView().getRowClass = function(record, rowIndex, rowParams, store) {
- return 'renderColor';
- };
- var el = Ext.get('audio-error').dom;
- el.play();
- }
- }
- return val;
- },
- /**
- * 明细行附件上传下载
- * */
- detailAttach:function(val, meta, record, x, y, store, view){
- if(record&&record.data["1detailAttach"]!=null&&record.data["1detailAttach"]!=""){
- var attach=record.data["1detailAttach"];
- var grid = view.ownerCt,column = grid.columns[y],field = column.dataIndex;
- if(record.data[field] != attach){
- record.set(field,attach);
- }
- return '<img src="'+basePath+'resource/images/renderer/attach.png">'+'<span style="color:green;padding-left:2px;">' + attach.split(";")[0] + '</span>'+'<a href="' + basePath + 'common/downloadbyId.action?id='+attach.split(";")[1]+'"><img src="' + basePath + 'resource/images/icon/download.png" ></a>';
- }else if(record&&val!=null&&val!=""){
- return '<img src="'+basePath+'resource/images/renderer/attach.png">'+'<span style="color:green;padding-left:2px;">' + val.split(";")[0] + '</span>'+'<a href="' + basePath + 'common/downloadbyId.action?id='+val.split(";")[1]+'"><img src="' + basePath + 'resource/images/icon/download.png" ></a>';
- }else return val;
- },
- /**
- *kpi考核结果 查看分数来源
- * */
- score_from:function(val,meta,record){
- if(record.data.ktd_kiid!=0){
- var ktd_kiid=record.data.ktd_kiid;
- return "<input type='button' value='查看分数来源' name='"+ktd_kiid+"' style='color:gray;font-size:13px;cursor:pointer;height:25px;' onClick='scoreFrom(this.name)' />";
- }
- return '';
- }
- });
|