1#


这个界面为例。

首先新建数据库表:
  1. ——————————————————————————————————————————————————————————————
  2. --建表
  3. if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[My_show_svbill]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  4. drop table [dbo].[My_show_svbill]
  5. GO
  6. CREATE TABLE [dbo].[My_show_svbill] (
  7. [id] [int] IDENTITY (1, 1) NOT NULL ,
  8. [VIP] [int] null,
  9. [VIN] [int] null

  10. )
  11. GO
  12. ————————————————————————————————————————————————————————————————————————————
  13. --插入数据
  14. insert into My_show_svbill(VIP,VIN) values(1,0)
复制代码
然后新建Bean类:
  1. package com.metasoft.autoservice.action;

  2. public class MyShowSvbillBean {
  3. private int id;
  4. private int VIP;
  5. private int VIN;
  6. public int getId() {
  7. return id;
  8. }
  9. public void setId(int id) {
  10. this.id = id;
  11. }
  12. public int getVIP() {
  13. return VIP;
  14. }
  15. public void setVIP(int vIP) {
  16. VIP = vIP;
  17. }
  18. public int getVIN() {
  19. return VIN;
  20. }
  21. public void setVIN(int vIN) {
  22. VIN = vIN;
  23. }
  24. }
复制代码
建立管理类从数据库中查询配置数据:
  1. package com.metasoft.autoservice.action;

  2. import java.sql.ResultSet;
  3. import java.sql.SQLException;

  4. import com.metasoft.basic.cmd.BaseCommand;


  5. public class MyShowSvbillManager {

  6. MyShowSvbillBean myShowSvbillBean = null;

  7. public MyShowSvbillManager() {
  8. BaseCommand command = new BaseCommand();
  9. String query1 = "select top 1 id, VIP, VIN from my_show_svbill";
  10. System.out.println("MyShowSvbillManager is run.................");
  11. ResultSet rst = command.getDAO().selectBySQL(query1.toString());
  12. try {
  13. while(rst.next()) {
  14. myShowSvbillBean = new MyShowSvbillBean();
  15. myShowSvbillBean.setId(rst.getInt("id"));
  16. myShowSvbillBean.setVIP(rst.getInt("VIP"));
  17. myShowSvbillBean.setVIN(rst.getInt("VIN"));
  18. }
  19. } catch (SQLException e) {
  20. // TODO Auto-generated catch block
  21. e.printStackTrace();
  22. } finally {
  23. command.getDAO().closeSession();
  24. }
  25. }

  26. public MyShowSvbillBean getMyShowSvbillBean() {
  27. return myShowSvbillBean;
  28. }
  29. public void setMyShowSvbillBean(MyShowSvbillBean myShowSvbillBean) {
  30. this.myShowSvbillBean = myShowSvbillBean;
  31. }

  32. }
复制代码
把这两个类导入元动metasoft.jar包中 com.metasoft.autoservice.action 文件夹中



改写 D:\Program Files\Metasoft\Auto\webapp\autoservice\ms_svbilljc.jsp 为以下内容:
  1. <%@ page buffer="320kb" autoFlush="true" language="java"
  2. contentType="text/html; charset=GBK" isELIgnored="false"%>
  3. <%@include file="/common/taglibs.jsp"%>
  4. <%@ taglib uri="/WEB-INF/c.tld" prefix="c"%>
  5. <%@page import="com.metasoft.autoservice.action.MyShowSvbillBean" %>
  6. <%@page import="com.metasoft.autoservice.action.MyShowSvbillManager" %><head>
  7. <TITLE>
  8. <bean:message key="sv_menu_3" />
  9. </TITLE>
  10. </head>
  11. <html:html locale="true">

  12. <LINK href="<%=com.metasoft.basic.SysSet.metasoftcss%>" type=text/css
  13. rel=stylesheet>
  14. <SCRIPT language=jscript src="js/Function.js"></SCRIPT>
  15. <script language="JavaScript" src="date-picker.js"></script>
  16. <SCRIPT language=javascript src="js/query-picker.js"></SCRIPT>
  17. <SCRIPT language=javascript src="js/toolbar.js"></SCRIPT>
  18. <SCRIPT language=javascript src="js/detailTable.js"></SCRIPT>
  19. <SCRIPT language=javascript src="js/svbill.js"></SCRIPT>
  20. <SCRIPT language=javascript src="resource/js/utils.js"></SCRIPT>
  21. <SCRIPT language=javascript src="js/openbill.js"></SCRIPT>
  22. <SCRIPT LANGUAGE="JavaScript">function fendanOn(){
  23. document.getElementById('fendantale').style.display = 'block';

  24. }
  25. function fendanOff(){
  26. document.getElementById('fendantale').style.display = 'none';
  27. }
  28. function doStatus(billid,bsvid,billtype,errormessage){
  29. if(window.confirm(errormessage)){
  30. if(billtype=="SV001"){
  31. window.location="ms_svbillAction.do?event=doStatus&billid="+billid+"&bsvid="+bsvid+"&billtype="+billtype;
  32. }
  33. }

  34. }

  35. function doSVBill(billid,bsvid,billtype){
  36. if(billtype=="SV001"){
  37. var location="ms_svbillAction.do?event=open&menu_function_id=004_022&billid="+billid+"&bsvid="+bsvid+"&seriodno="+Math.random();
  38. parent.parent.doOpenAction("004_022",location,"维修单",self,0,0);
  39. }else{
  40. var location="ms_mrbillAction.do?event=open&menu_function_id=005_001&billid="+billid+"&bsvid="+bsvid+"&seriodno="+Math.random();
  41. parent.parent.doOpenAction("005_001",location,"装饰单",self,0,0);
  42. }

  43. }



  44. function doShowAssociatorlHistory(){
  45. var associatorl_no=document.forms[0].elements["metaObject.associatorl.code"].value;
  46. if(associatorl_no==null||associatorl_no=="")
  47. {
  48. doOpenCard();
  49. return;
  50. }
  51. var location="findCountSVItemAction.do?event=init_query&paction=ms_svbillAction&ppage=0&formname=ms_svbillForm&associatorlNo="+associatorl_no+"&seriodno="+Math.random();
  52. parent.parent.doOpenUnCheckAction("SearchCountSVItem",location,"会员卡信息查询",self,800,500);
  53. }

  54. var mstatus=0;
  55. function doPopMenu(cobj,ptype)
  56. {
  57. try
  58. {
  59. if(ptype==0)
  60. {
  61. print_menu.style.display="block";
  62. print_menu.style.posLeft=document.body.scrollLeft+cobj.offsetLeft;
  63. print_menu.style.posTop=document.body.scrollTop+cobj.offsetHeight + cobj.offsetTop+2;
  64. }
  65. else
  66. {
  67. print_menu1.style.display="block";
  68. print_menu1.style.posLeft=document.body.scrollLeft+cobj.offsetLeft;
  69. print_menu1.style.posTop=document.body.scrollTop+cobj.offsetHeight + cobj.offsetTop+2;
  70. }
  71. }catch(e){}
  72. mstatus=1;
  73. }
  74. function doCloseMenu()
  75. {
  76. try
  77. {
  78. if(mstatus==0)
  79. {
  80. print_menu.style.display="none";
  81. print_menu1.style.display="none";
  82. }
  83. }catch(e){}
  84. mstatus=0;
  85. }



  86. function doSVBJBill(){
  87. var billid=document.forms[0].elements['metaObject.id'].value;
  88. if(billid==null||billid==""||billid=="0")
  89. {
  90. alert("请先存档再产生报价单!");
  91. return;
  92. }
  93. var location="ms_svbjbillAction.do?event=open&menu_function_id=004_02105&billid="+billid+"&seriodno="+Math.random();
  94. parent.parent.doOpenAction("004_02105",location,"报价单",self,0,0);

  95. }

  96. function doSVConfirm(){
  97. var billstatus=document.forms[0].elements['metaObject.bill_status'].value;
  98. if(billstatus == 2 && !confirm("是否确认完工审核"))
  99. return;
  100. loadOn();
  101. if(billstatus=="3"||billstatus=="4")
  102. {
  103. confirmtable.style.pixelLeft=(document.body.offsetWidth - 400)/2;
  104. confirmtable.style.pixelTop=60;
  105. confirmtable.style.zIndex = 99999;
  106. confirmtable.style.display='block';
  107. document.forms[0].elements['ttl_cust_amt'].focus();
  108. document.forms[0].elements['ttl_cust_amt'].select();
  109. //为currentfield重新赋值
  110. document.forms[0].elements['currentfield'].value="ttl_cust_amt";
  111. var cardno=document.forms[0].elements["metaObject.associatorl.code"].value;
  112. var card_amt_f=document.forms[0].elements["ttl_card_strike_amt"];
  113. var cash_amt_f=document.forms[0].elements["ttl_cash_strike_amt"];
  114. var yl_amt_f=document.forms[0].elements["ttl_yl_strike_amt"];
  115. if(document.forms[0].elements["metaObject.bx_pay"].checked)
  116. {
  117. document.forms[0].elements["ttl_cust_amt"].value=getDoubleByString(document.forms[0].elements["metaObject.cust_amt"].value)+getDoubleByString(document.forms[0].elements["metaObject.bx_amt"].value);
  118. document.forms[0].elements["ttl_ar_amt"].value=getDoubleByString(document.forms[0].elements["metaObject.ar_amt"].value)+getDoubleByString(document.forms[0].elements["metaObject.bx_amt"].value);
  119. }
  120. else
  121. {
  122. document.forms[0].elements["ttl_cust_amt"].value=document.forms[0].elements["metaObject.cust_amt"].value;
  123. document.forms[0].elements["ttl_ar_amt"].value=document.forms[0].elements["metaObject.ar_amt"].value;
  124. }
  125. document.forms[0].elements["ttl_agio_amt"].value=document.forms[0].elements["metaObject.agio_amt"].value;
  126. if(cash_amt_f)
  127. cash_amt_f.value=document.forms[0].elements["metaObject.cash_strike_amt"].value;
  128. if(yl_amt_f)
  129. yl_amt_f.value=document.forms[0].elements["metaObject.yl_strike_amt"].value;
  130. if(card_amt_f)
  131. card_amt_f.value=document.forms[0].elements["metaObject.card_strike_amt"].value;
  132. document.forms[0].elements["ttl_balance_amt"].value=document.forms[0].elements["metaObject.balance_amt"].value;
  133. if(document.forms[0].elements["associatorl_code"])
  134. document.forms[0].elements["associatorl_code"].value=document.forms[0].elements["metaObject.associatorl.code"].value;
  135. if(document.forms[0].elements["hf_mobiletel"])
  136. document.forms[0].elements["hf_mobiletel"].value=document.forms[0].elements["metaObject.driver_mobile_tel"].value;
  137. if(document.forms[0].elements["ttl_jf_strike_amt"])
  138. document.forms[0].elements["ttl_jf_strike_amt"].value=document.forms[0].elements["metaObject.jf_strike_amt"].value;
  139. if(document.forms[0].elements["ttl_dbq_strike_amt"])
  140. document.forms[0].elements["ttl_dbq_strike_amt"].value=document.forms[0].elements["metaObject.dbq_strike_amt"].value;
  141. if(document.forms[0].elements["tmp_balance_date"])
  142. document.forms[0].elements["tmp_balance_date"].value=document.forms[0].elements["metaObject.balance_date"].value;
  143. if(document.forms[0].elements["tmp_payee_date"])
  144. document.forms[0].elements["tmp_payee_date"].value=document.forms[0].elements["metaObject.confirm_date"].value;
  145. document.forms[0].elements["tmp_receive_pay"].value=document.forms[0].elements["metaObject.receive_pay.description"].value;
  146. if(document.forms[0].elements["tmp_receive_pay2"])
  147. document.forms[0].elements["tmp_receive_pay2"].value=document.forms[0].elements["metaObject.receive_pay2.description"].value;
  148. if(document.forms[0].elements["invoicepop"])
  149. document.forms[0].elements["invoicepop"].value=document.forms[0].elements["metaObject.invoice_no"].value;
  150. if(document.forms[0].elements["invoiceamt"])
  151. document.forms[0].elements["invoiceamt"].value=document.forms[0].elements["metaObject.invoice_amt"].value;
  152. if(cash_amt_f)
  153. cash_amt_f.focus();
  154. }
  155. else if(billstatus=="2")
  156. {
  157. var sendmessage=document.forms[0].elements['sendFinishMsg'].value;
  158. if(sendmessage=="true")
  159. {
  160. if(window.confirm("完工后,是否发送短信?点确定发送,点取消不发送!"))
  161. {
  162. document.forms[0].elements['sendFinishMsg'].value="true";
  163. }
  164. else
  165. {
  166. document.forms[0].elements['sendFinishMsg'].value="false";
  167. }
  168. changeMaster('sendFinishMsg',document.forms[0].elements['sendFinishMsg'],'sendFinishMsg');
  169. }
  170. doConfirm();
  171. } else {
  172. doConfirm();
  173. }
  174. }

  175. function doCloseConfirm()
  176. {
  177. confirmtable.style.display='none';
  178. loadOff();
  179. }


  180. function checkConfirmKey()
  181. {
  182. var key=window.event.keyCode;
  183. if(key==13)
  184. {
  185. window.event.keyCode=-1;
  186. window.event.returnValue=false;
  187. doConfirm();
  188. }
  189. }

  190. function keepSelectFocus()
  191. {
  192. var key=window.event.keyCode;
  193. if(key==13||key==9||key==40||key==38)
  194. {
  195. window.event.keyCode=-1;
  196. window.event.returnValue=false;
  197. document.forms[0].elements["ttl_agio_amt"].focus();
  198. }
  199. }


  200. function doProfitAnalysis(){
  201. try{
  202. var objid = document.ms_svbillForm.elements['metaObject.id'].value;
  203. if(!objid){
  204. alert('请先保存单据');
  205. return;
  206. }else{
  207. var act = "ms_svbillAction.do?event=doProfitAnalysis";
  208. changeProfitAnalysisInfo(act);
  209. }
  210. }catch(Exception){}
  211. }

  212. function changeProfitAnalysisInfo(url){
  213. try
  214. {
  215. var req = initRequest(url);
  216. req.onreadystatechange = function() {
  217. if(req.readyState == 4) {
  218. if (req.status == 200)
  219. {
  220. updateForm(req.responseXML);
  221. showProfitAnalysisView();
  222. req=null;
  223. }
  224. }
  225. }
  226. req.open("POST", url, true);
  227. req.send(null);
  228. }catch(Exception){alert(Exception.message);}
  229. }

  230. function showProfitAnalysisView(){
  231. try{
  232. profitAnalysistable.style.pixelLeft=(document.body.offsetWidth - 500)/2;
  233. profitAnalysistable.style.pixelTop=60;
  234. profitAnalysistable.style.display='block';
  235. }catch(Exception){alert(Exception.message);}
  236. }

  237. function closeProfitAnalysisView(){
  238. try{
  239. profitAnalysistable.style.display='none';
  240. }catch(Exception){alert(Exception.message);}
  241. }

  242. function restore()
  243. {
  244. document.all.ms_svbillForm.detail_page.value="0";
  245. td1.className="l_tab";td2.className="l_tab";td3.className="l_tab";td4.className="l_tab";td5.className="l_tab";td6.className="l_tab";
  246. w1.style.display="none";w2.style.display="none";w3.style.display="none";w4.style.display="none";w5.style.display="none";w6.style.display="none";
  247. }
  248. function c1()
  249. {
  250. document.all.ms_svbillForm.detail_page.value="0";
  251. td1.className="lc";
  252. w1.style.display="block";
  253. doLoaddetailpage();
  254. }
  255. function c2()
  256. {
  257. td2.className="lc";
  258. w2.style.display="block";
  259. doLoadTableDetailpage("svItemDetailTable","1");
  260. }
  261. function c3()
  262. {
  263. td3.className="lc";
  264. w3.style.display="block";
  265. doLoadTableDetailpage("outMaterialDetailTable","2");
  266. }
  267. function c4()
  268. {
  269. td4.className="lc";
  270. w4.style.display="block";
  271. doLoadTableDetailpage("inMaterialDetailTable","3");
  272. }
  273. function c5()
  274. {
  275. td5.className="lc";
  276. w5.style.display="block";
  277. doLoadTableDetailpage("svcostDetailTable","4");
  278. }
  279. function c6()
  280. {
  281. document.all.ms_svbillForm.detail_page.value="5";
  282. td6.className="lc";
  283. w6.style.display="block";
  284. doLoaddetailpage();
  285. }

  286. function doKeyFilterAction(){
  287. var key=window.event.keyCode;
  288. if(event.ctrlKey&&(key==85))
  289. {
  290. window.event.keyCode=-1;
  291. window.event.returnValue=false;
  292. doUnConfirm();
  293. }
  294. else if(key==119)
  295. {
  296. window.event.keyCode=-1;
  297. window.event.returnValue=false;
  298. doAddSVItem();
  299. }
  300. else if(key==120)
  301. {
  302. window.event.keyCode=-1;
  303. window.event.returnValue=false;
  304. doDivideWork();
  305. }
  306. else if(key==121)
  307. {
  308. window.event.keyCode=-1;
  309. window.event.returnValue=false;
  310. doSVHF();
  311. }
  312. else if(key==122)
  313. {
  314. window.event.keyCode=-1;
  315. window.event.returnValue=false;
  316. doShowHistory();
  317. }
  318. else
  319. {
  320. doCommAction();
  321. }
  322. }

  323. function doPayByDBQ(){
  324. try
  325. {
  326. //if(checkNeedSave())
  327. //{
  328. // alert("请先保存单据,再选用代币券支付!");
  329. // return;
  330. //}
  331. var billid=document.forms[0].elements['metaObject.id'].value;
  332. if(billid==null||billid==""||billid=="0")
  333. {
  334. alert("请先保存单据,再选用代币券支付!");
  335. return;
  336. }
  337. var location="dbqPayAction.do?event=dbqpay&userright=BNEDCPU&orgBillId="+billid+"&orgBillType=SV001&seriodno="+Math.random();
  338. parent.parent.doOpenAction("dbqpay",location,"代币券支付",self,980,500);
  339. }catch(Exception){}
  340. }

  341. function doRefreshDBQPay(){
  342. try
  343. {
  344. changeMaster('dbq_strike_amt',document.forms[0].elements['metaObject.dbq_strike_amt'],'metaObject.dbq_strike_amt');
  345. }catch(Exception){}
  346. }

  347. function doPayByJF(){
  348. try
  349. {
  350. //if(checkNeedSave())
  351. //{
  352. // alert("请先保存单据,再选用积分兑现!");
  353. // return;
  354. //}
  355. var billid=document.forms[0].elements['metaObject.id'].value;
  356. if(billid==null||billid==""||billid=="0")
  357. {
  358. alert("请先保存单据,再选用积分兑现!");
  359. return;
  360. }
  361. var location="associatorlJFDetailAction.do?event=jfpay&userright=BNEDCPU&orgBillId="+billid+"&orgBillType=SV001&seriodno="+Math.random();
  362. parent.parent.doOpenAction("jfpay",location,"积分兑现",self,560,300);
  363. }catch(Exception){}
  364. }
  365. function doRefreshJFPay(){
  366. try
  367. {
  368. changeMaster('jf_strike_amt',document.forms[0].elements['metaObject.jf_strike_amt'],'metaObject.jf_strike_amt');
  369. }catch(Exception){}
  370. }

  371. function doSearchFastItem(){
  372. try{
  373. doCheckCanEdit();
  374. var location="ms_findrpditemAction.do?event=loadFastItem&pdetail_page=1&userright=BNEDCPU&formname=ms_svbillForm&paction=ms_svbillAction&seriodno="+Math.random();
  375. parent.parent.doOpenUnCheckAction("SearchRpdItem",location,"快修",self,600,300,true);
  376. }catch(Exception){alert(Exception.message);}
  377. }
  378. function showLinkMen(op){
  379. doDBClickQuery(op,'ms_svbillForm','linkMen','filterObjectList[0].fvalue='+document.forms[0].elements['metaObject.vehicle.owner.cust_name'].value+"&filterObjectList[0].ftype="+'=&');
  380. }
  381. function billInputSet(detailtype)
  382. {
  383. parent.parent.doOpenAction("detailset","ms_billInputSetAction.do?event=open&querycode="+detailtype,"必输设置",self,750,500);
  384. }
  385. function showLinkMenFk(op){
  386. var key=window.event.keyCode;
  387. if(key == 113)
  388. showLinkMen(op);
  389. }

  390. function doUpdateCustomer(){
  391. if(!document.forms[0].elements['metaObject.vehicle.code']){

  392. return ;
  393. }
  394. var obj=document.forms[0].elements['metaObject.vehicle.code'];
  395. if(obj.value==null||obj.value==""){
  396. alert("请先选择车辆!");
  397. return;
  398. }
  399. parent.parent.doOpenAction("ms_custAlterlist","ms_custAlterAction.do?event=new&menu_function_id=001_0325_30&formname=ms_custAlterlist&vehicle_code="+obj.value,"客户信息变更单",self,800,600);

  400. }

  401. function doProfitAnalysis_gs(){
  402. try{
  403. var bill_code = document.forms[0].elements['metaObject.code'].value;
  404. var str = "gs_profitAnalysisAction.do?bill_code=" + bill_code
  405. parent.parent.doOpenAction("profitAnalysis_gs",str,"利润分析",self,950,350);
  406. }catch(Exception){}
  407. }

  408. function doPrevReceive(isorder)
  409. {
  410. try{
  411. var billid=document.forms[0].elements['metaObject.id'].value;
  412. if(billid==null||billid==""||billid=="0")
  413. {
  414. alert("请先保存单据!");
  415. return;
  416. }
  417. var mname='预收款';
  418. if(isorder==1)
  419. {
  420. mname='预收订金';
  421. }
  422. parent.parent.doOpenAction("prereceive","ms_arpredetailAction.do?ACCT_TYPE=A852&event=doprebybill&billtype=AR001&menu_function_id=006_006&orgbilltype=SV001&orgbillid="+billid+"&isorder="+isorder,mname,self,700,450);
  423. }catch(Exception){}
  424. }

  425. function checkVinNoLen(obj){
  426. try{
  427. var str = obj.value;
  428. if(str.length > 17){
  429. alert("您输入的VIN号已经超过17位,请核实输入的VIN号!");
  430. obj.value = str.substring(0,17);
  431. changeMaster('vin_no',obj,'metaObject.vehicle.vin_no');
  432. }
  433. }catch(Exception){alert(Exception.message);}
  434. }

  435. function dounDescription(){
  436. var undes=document.forms[0].elements['metaObject.un_description'].value;
  437. if(undes==null || undes==""){
  438. alert("请输入作废原因!");
  439. document.forms[0].elements['metaObject.un_description'].focus();
  440. }else{
  441. zuofei.style.display="none";
  442. doZuoFei("un_description",undes);
  443. }
  444. }
  445. //作废单据的js
  446. function doZuoFei(){
  447. var currentfield=arguments[0];
  448. var currentfieldvalue=arguments[1];
  449. if(checkBusy())
  450. {
  451. return;
  452. }
  453. doInitHiddenFrame();
  454. parent.hidesubmitframe.location = currfromsrc+"Action.do?event=unconfirm¤tfield="+currentfield+"¤tfieldvalue="+currentfieldvalue;
  455. }

  456. //关闭加载的小光标
  457. function loadOff(){
  458. document.getElementById('divProcessing').style.display = 'none';
  459. document.getElementById('divSearch').style.display = 'none';
  460. //为currentfield重新赋值
  461. document.forms[0].elements['currentfield'].value="metaObject.code";
  462. }

  463. function loadOn(){
  464. document.getElementById('divProcessing').style.display = 'block';
  465. document.getElementById('divSearch').style.display = 'block';
  466. }

  467. function changeMaster_lic_no(field,curobj,nexfocus){
  468. try
  469. {
  470. var isCorrect=false;

  471. if(curobj.value != null && curobj.value.length != 0){
  472. if(isIDno(curobj.value)){ //如果是有效的身份证号码则提取生日信息
  473. isCorrect=true;
  474. }
  475. }
  476. document.forms[0].elements['currentfocusfield'].value=curobj.name;
  477. var cvalue="";
  478. if(curobj.type=="checkbox")
  479. {
  480. cvalue=curobj.checked;
  481. }else
  482. {
  483. cvalue=curobj.value;
  484. }
  485. cvalue=myEncodeURIComponent(cvalue);
  486. var url = currfromsrc+"Action.do?event=update_master¤tfocusfield="+curobj.name+"¤tfield="+field+"¤tfieldvalue="+cvalue+"&nextfocusfield="+nexfocus+"&idNo="+isCorrect;
  487. changeserverinfo(url);
  488. var nextf=document.forms[0].elements[nexfocus];
  489. if(nextf&&!nextf.disabled)
  490. {
  491. nextf.focus();
  492. nextf.select();
  493. }

  494. }catch(Exception){}
  495. }

  496. function doOpenCust(){
  497. try{
  498. var cust_id = document.forms[0].elements['metaObject.vehicle.owner.id'].value;
  499. if(!cust_id)
  500. return;
  501. var str = "customerAction.do?event=open&menu_function_id=001_032&CUST_ID="+cust_id+"&parentreturnfield=metaObject.vehicle.owner.cust_name";
  502. parent.parent.doOpenAction("customer",str,"客户信息",self,0,0);
  503. }catch(Exception){}
  504. }

  505. //0006307
  506. function getHistory(){
  507. var vehicle_code = document.forms[0].elements["metaObject.vehicle.code"].value; //获得车牌号
  508. doDBClickQuery(document.forms[0].elements['temphfhistory'],'ms_svbillForm','repairTrack','filterfield=v.LICENSE_PLATE_CODE&v.LICENSE_PLATE_CODE='+vehicle_code);
  509. }

  510. function getVehicleInfo(){
  511. showKeyColor();
  512. changeMaster('vehicle',document.forms[0].elements['metaObject.vehicle.code'],'metaObject.vehicle.owner.cust_name');
  513. }

  514. function doOpenDqby(){
  515. var vehicleid = utils._v("metaObject.vehicle.id");
  516. if(!vehicleid)
  517. return;
  518. window.location = "ms_svbillAction.do?event=loadDqby&seriodno="+Math.random();
  519. }

  520. function openDqbyFvalue(isHaveDqby){
  521. var vehicleid = utils._v("metaObject.vehicle.id");
  522. if(isHaveDqby=='0'){
  523. var location = "vdqbyfvalueAction.do?event=new&menu_function_id=001_043_010&vehicleid="+vehicleid;
  524. parent.parent.doOpenAction("004_052",location,"定保套餐销售",self,800,600);
  525. }else if(isHaveDqby=='1'){
  526. var location = "vdqbyFvalueQueryAction.do?event=init_query&paction=ms_svbillAction&ppage=0&formname=ms_svbillForm&vehicleId="+vehicleid+"&seriodno="+Math.random();
  527. parent.parent.doOpenUnCheckAction("vdqbyFvalueQuery",location,"定保套餐查询",self,800,500);
  528. }
  529. }
  530. function doSelectBill(seq,vehicle_no){
  531. var vehicleno = document.forms[0].elements[vehicle_no].value;
  532. var vehicle = document.forms[0].elements['metaObject.vehicle.code'];
  533. vehicle.value = vehicleno;
  534. vehicle.onchange();
  535. vehicleSb.style.display="none";
  536. }
  537. </SCRIPT>
  538. <BODY onkeydown="doKeyFilterAction();changefocus();"
  539. onclick="doCloseMenu();" ondrag="return false;">
  540. <html:form action="ms_svbillAction.do">
  541. <html:hidden name="ms_svbillForm" property="event" />
  542. <html:hidden name="ms_svbillForm" property="formname" />
  543. <html:hidden name="ms_svbillForm" property="detail_page" />
  544. <html:hidden name="ms_svbillForm" property="currentrow" value="-1" />
  545. <html:hidden name="ms_svbillForm" property="currentfield" />
  546. <html:hidden name="ms_svbillForm" property="currentfocusfield" />
  547. <html:hidden name="ms_svbillForm" property="nextfocusfield" />
  548. <html:hidden name="ms_svbillForm" property="currentfieldvalue"
  549. value="" />
  550. <html:hidden name="ms_svbillForm" property="refreshCode" value="" />
  551. <html:hidden name="ms_svbillForm" property="currentDetailPage" />
  552. <html:hidden name="ms_svbillForm" property="currbillstatus" />
  553. <html:hidden name="ms_svbillForm" property="metaObject.id" />
  554. <html:hidden name="ms_svbillForm"
  555. property="metaObject.out_materialbill.id" />
  556. <html:hidden name="ms_svbillForm" property="metaObject.bill_status" />
  557. <html:hidden name="ms_svbillForm" property="issendmessage" />
  558. <html:hidden name="ms_svbillForm" property="metaObject.vehicle.id" />
  559. <html:hidden name="ms_svbillForm"
  560. property="metaObject.vehicle.owner.id" />
  561. <html:hidden name="ms_svbillForm" property="metaObject.cust.code" />
  562. <html:hidden name="ms_svbillForm" property="metaObject.cust.id" />
  563. <html:hidden name="ms_svbillForm" property="metaObject.photo_desc" />
  564. <html:hidden name="ms_svbillForm" property="metaObject.key_no.color" />
  565. <input type="hidden" name="transtype" value="02" />
  566. <input type="hidden" name="tmp_photo_desc" value="" />
  567. <input type="hidden" name="tmp_qz_cust" value=""
  568. onchange="changeMaster('qz_cust',this,'metaObject.vehicle.owner.cust_name');" />
  569. <html:hidden name="ms_svbillForm" property="sendFinishMsg" />
  570. <%
  571. com.metasoft.autoservice.form.MS_SVBillActionForm cform = (com.metasoft.autoservice.form.MS_SVBillActionForm) request
  572. .getSession().getAttribute("ms_svbillForm");
  573. com.metasoft.sm.objects.po.MS_Staff user = (com.metasoft.sm.objects.po.MS_Staff) session
  574. .getAttribute("user");
  575. com.metasoft.autoservice.objects.po.MS_SVBill svbill = (com.metasoft.autoservice.objects.po.MS_SVBill)cform.getMetaObject();
  576. MyShowSvbillManager myShowSvbillManager = new MyShowSvbillManager();
  577. String canedit = "no";
  578. boolean can_discard = (user.isAdmin() || cform
  579. .getStep0_right().canUnConfirm());
  580. boolean update_gs_price = (user.isAdmin()
  581. || cform.getStep0_right().canConfirm() || cform
  582. .getStep3_right().canConfirm());
  583. if (cform.getUright().canEdit())
  584. canedit = "yes";
  585. String checkimg = "images/check_1.gif";
  586. String uncheckimg = "images/uncheck_1.gif";
  587. String confirmname = "接车";
  588. String unconfirmname = "作废";
  589. if (user.getParentsubdept() != null
  590. && user.getParentsubdept().getVbrand() != null
  591. && !user.getParentsubdept().isEmpty())
  592. pageContext.setAttribute("vproduct_brand_filter",
  593. "usefixvalue=1&i.DESCRIPTION="
  594. + user.getParentsubdept().getVbrand()
  595. .getCode());
  596. else
  597. pageContext.setAttribute("vproduct_brand_filter", "");
  598. %>
  599. <SCRIPT language="javascript">
  600. var pose1OK = false;
  601. var pose2OK = false;
  602. var pose1 = true;
  603. var pose2 = true;
  604. var canCancel = <%=user.getPoseRightC()%>;
  605. var isAdmin = <%=user.isAdmin()%>;
  606. var callback = {
  607. success:function(){
  608. if(!document.forms[0].elements["ttl_cash_strike_amt"]){
  609. confirmWithFinger(<%=com.metasoft.basic.SysSet.sy031%>);
  610. return;
  611. }
  612. var ttl_cash_strike_amt= parseFloat(document.forms[0].elements["ttl_cash_strike_amt"].value);
  613. var ttl_yl_strike_amt= parseFloat(document.forms[0].elements["ttl_yl_strike_amt"].value);
  614. try{
  615. if(document.forms[0].elements["metaObject.receive_pay.s_value5"].value
  616. && document.forms[0].elements["metaObject.receive_pay.s_value5"].value > ""){
  617. if(isNaN(ttl_cash_strike_amt)){
  618. alert("结算方式一的金额不为数字");
  619. return;
  620. }
  621. }
  622. if(document.forms[0].elements["metaObject.receive_pay2.s_value5"].value
  623. && document.forms[0].elements["metaObject.receive_pay2.s_value5"].value > ""){
  624. if(isNaN(ttl_yl_strike_amt)){
  625. alert("结算方式二的金额不为数字");
  626. return;
  627. }
  628. }
  629. }
  630. catch(ex){
  631. return;
  632. }
  633. //alert(document.forms[0].elements["metaObject.receive_pay2.s_value5"].value);
  634. if(document.forms[0].elements["metaObject.receive_pay.s_value5"].value
  635. && document.forms[0].elements["metaObject.receive_pay.s_value5"].value > ""
  636. && ttl_cash_strike_amt > 0 && !pose1OK){
  637. if(window.confirm("是否结算方式一刷卡")){
  638. pose1 = doPayAmtByBankPose(<%=user.getBankPoseType().intValue()%>,document.forms[0].elements['ttl_cash_strike_amt'],'confirmWithFinger(<%=com.metasoft.basic.SysSet.sy031%>);',document.forms[0].elements['transtype'],document.forms[0].elements['metaObject.receive_pay.s_value5'].value);
  639. if(pose1){
  640. pose1OK = pose1;
  641. }
  642. }else{
  643. if(isAdmin || canCancel){
  644. pose1 = true;
  645. }else{
  646. alert("结算方式一无Pose刷卡撤销权限,必须刷卡后审核");
  647. return;
  648. }
  649. }
  650. }else{
  651. pose1 = true;
  652. }
  653. if(document.forms[0].elements["metaObject.receive_pay2.s_value5"].value
  654. && document.forms[0].elements["metaObject.receive_pay2.s_value5"].value > ""
  655. && ttl_yl_strike_amt > 0 && !pose2OK){
  656. if(window.confirm("是否结算方式二刷卡")){
  657. pose2 = doPayAmtByBankPose(<%=user.getBankPoseType().intValue()%>,document.forms[0].elements['ttl_yl_strike_amt'],'confirmWithFinger(<%=com.metasoft.basic.SysSet.sy031%>);',document.forms[0].elements['transtype'],document.forms[0].elements['metaObject.receive_pay2.s_value5'].value);
  658. if(pose2){
  659. pose2OK = pose2;
  660. }
  661. }else{
  662. if(isAdmin || canCancel){
  663. pose2 = true;
  664. }else{
  665. alert("结算方式二无Pose刷卡撤销权限,必须刷卡后审核");
  666. return;
  667. }
  668. }
  669. }else{
  670. pose2 = true;
  671. }
  672. <%if (user.getBalance_ctr() != 1) {%>
  673. var v1 = document.forms[0].elements["ttl_balance_amt"].value;
  674. if(v1 > 0){
  675. alert("仍有挂账金额,不可审核");
  676. return;
  677. }
  678. <%}%>
  679. if(pose1 && pose2){
  680. confirmWithFinger(<%=com.metasoft.basic.SysSet.sy031%>);
  681. }
  682. },
  683. failure:function(){
  684. alert('failure:');
  685. }
  686. }
  687. function Confirm(){
  688. callback.success();
  689. }
  690. function doOpenVehicleSb(){
  691. <%if (cform.getVehicleSbList().size() > 0) {%>
  692. vehicleSb.style.pixelLeft=(document.body.offsetWidth - 800)/2;
  693. vehicleSb.style.pixelTop=40;
  694. vehicleSb.style.zIndex = 99999;
  695. vehicleSb.style.display="block";
  696. <%}%>
  697. }
  698. function closeVehicleSb(){
  699. vehicleSb.style.display="none";
  700. }
  701. </SCRIPT>
  702. <table class="toolbar" width="100%">
  703. <tr>
  704. <%
  705. if (com.metasoft.basic.SysSet.sy099) {
  706. %>
  707. <td nowrap="true" width="66px" align="left"><a
  708. href="javascript:goPrev();"><img border="0"
  709. src="images/prev.gif" alt="前一笔单据[PgUp]"
  710. onmouseover="mocusOverBtn()" onMouseOut="this.className='out'" /> </a></td>
  711. <td nowrap="true" width="66px" align="left"><a
  712. href="javascript:goNext();"><img border="0"
  713. src="images/next.gif" alt="后一笔单据[PgDn]"
  714. onmouseover="mocusOverBtn()" onMouseOut="this.className='out'" /> </a></td>
  715. <td nowrap="true" width="66px"><div align="left"> <a href="javascript:doQueryOpen();"><img border="0"
  716. src="images/query.gif" alt="查找[F3]" onMouseOver="mocusOverBtn()"
  717. onMouseOut="this.className='out'" /> </a> </div></td>
  718. <td nowrap="true" width="66px"><div align="left"> <a href="javascript:doDelete();"><img border="0"
  719. src="images/delete.gif" alt="删除[Ctl+D]"
  720. onmouseover="mocusOverBtn()" onMouseOut="this.className='out'" /> </a> </div></td>
  721. <td nowrap="true" width="66px" align="left"><a
  722. href="javascript:doNew();"><img border="0"
  723. src="images/new.gif" alt="新增[Ctl+N]" onMouseOver="mocusOverBtn()"
  724. onMouseOut="this.className='out'" /> </a></td>
  725. <td nowrap="true" width="66px" align="left"><a
  726. href="javascript:doSave();"><img border="0"
  727. src="images/save.gif" alt="保存[Ctl+S]" onMouseOver="mocusOverBtn()"
  728. onMouseOut="this.className='out'" /> </a></td>
  729. <%
  730. if (checkimg.length() > 0) {
  731. %>
  732. <td nowrap="true" width="66px" align="left"><a
  733. href="javascript:loadOn();doConfirm();"><img border="0"
  734. src="<%=checkimg%>" alt="审核单据[Ctl+A]" onMouseOver="mocusOverBtn()"
  735. onMouseOut="this.className='out'" /> </a></td>
  736. <%
  737. }
  738. if (uncheckimg.length() > 0 && can_discard) {
  739. %>
  740. <td nowrap="true" width="66px" align="left"><a
  741. href="javascript:displayUnDes();"><img border="0"
  742. src="<%=uncheckimg%>" alt="反审核单据[Ctl+U]"
  743. onmouseover="mocusOverBtn()" onMouseOut="this.className='out'" /> </a></td>
  744. <%
  745. }
  746. %>
  747. <td nowrap="true" width="66px" align="left"><a
  748. href="javascript:doSVBJBill();"><img border="0"
  749. src="images/baojia.gif" alt="维修报价" onMouseOver="mocusOverBtn()"
  750. onMouseOut="this.className='out'" /> </a></td>
  751. <%
  752. if (com.metasoft.basic.SysSet.sm029) {
  753. %>
  754. <td nowrap="true" width="66px" align="left"><a
  755. href="javascript:doTransitIn();"><img border="0"
  756. src="images/dms.gif" alt="DMS载入单据" onMouseOver="mocusOverBtn()"
  757. onMouseOut="this.className='out'" /> </a></td>
  758. <%
  759. }
  760. %>
  761. <!--
  762. <td nowrap="true" width="66px" onclick="doCopy();">
  763. <img border="0" src="images/copy1.gif" onmouseover="this.className='over'" onMouseOut="this.className='out'" style='cursor:hand;'/>
  764. </td>
  765. //-->
  766. <%
  767. } else {
  768. %>
  769. <td nowrap="true" width="50px" onClick="goPrev();"
  770. onmouseover="mocusOverBtn()" onMouseOut="this.className='out'">前笔</td>
  771. <td nowrap="true" width="50px" onClick="goNext();"
  772. onmouseover="mocusOverBtn()" onMouseOut="this.className='out'">后笔</td>
  773. <td nowrap="true" width="50px" onClick="doQueryOpen();"
  774. onmouseover="mocusOverBtn()" onMouseOut="this.className='out'">查找</td>
  775. <td nowrap="true" width="50px" onClick="doDelete();"
  776. onmouseover="mocusOverBtn()" onMouseOut="this.className='out'">删除</td>
  777. <td nowrap="true" width="50px" onClick="doNew();"
  778. onmouseover="mocusOverBtn()" onMouseOut="this.className='out'">新增</td>
  779. <td nowrap="true" width="50px" onClick="doSave();"
  780. onmouseover="mocusOverBtn()" onMouseOut="this.className='out'">保存</td>
  781. <%
  782. if (checkimg.length() > 0) {
  783. %>
  784. <td nowrap="true" width="50px" onClick="loadOn();doConfirm();"
  785. onmouseover="mocusOverBtn()" onMouseOut="this.className='out'"><%=confirmname%></td>
  786. <%
  787. }
  788. if (uncheckimg.length() > 0 && can_discard) {
  789. %>
  790. <td nowrap="true" width="60px" onClick="displayUnDes();"
  791. onmouseover="mocusOverBtn()" onMouseOut="this.className='out'"><%=unconfirmname%></td>
  792. <%
  793. }
  794. %>
  795. <td nowrap="true" width="50px" onClick="doSVBJBill();"
  796. onmouseover="mocusOverBtn()" onMouseOut="this.className='out'">报价</td>
  797. <%
  798. if (com.metasoft.basic.SysSet.sm029) {
  799. %>
  800. <td nowrap="true" width="50px" onClick="doTransitIn();"
  801. onmouseover="mocusOverBtn()" onMouseOut="this.className='out'">DMS导入</td>
  802. <%
  803. }
  804. %>
  805. <!--
  806. <td nowrap="true" width="50px" onclick="doCopy();" onmouseover="mocusOverBtn()" onMouseOut="this.className='out'" >复制</td>
  807. //-->
  808. <%
  809. }
  810. %>
  811. <td nowrap="true" width="*" align="left"></td>
  812. </tr>
  813. </table>
  814. <div align="left" class="masterbackground">
  815. <table class="dialog" width="100%">
  816. <tr>
  817. <td nowrap="true" width="80px" align="left">单据日期</td>
  818. <td nowrap="true" width="190px" align="left"><html:text
  819. name="ms_svbillForm" property="metaObject.bill_date"
  820. onchange="changeMaster('billdate',this,'metaObject.code');" />
  821. <img
  822. border="none" src="images/icon_calendar.gif"
  823. onclick="show_calendar1('ms_svbillForm','metaObject.bill_date');"
  824. style='cursor:hand;' /></td>
  825. <td nowrap="true" width="80px" align="left">维修单号</td>
  826. <td nowrap="true" width="190px" align="left"><html:text
  827. name="ms_svbillForm" property="metaObject.code"
  828. onchange="changeCodeMaster('billcode',this,'metaObject.code');" />
  829. </td>
  830. <td nowrap="true" width="80px" align="left">厂家单号</td>
  831. <td nowrap="true" width="200px" align="left"><html:text
  832. name="ms_svbillForm" property="metaObject.f_bill_no"
  833. onchange="changeMaster('f_bill_no',this,'metaObject.f_bill_no');"
  834. style='width:177px;' /></td>
  835. <td width="*"></td>
  836. </tr>
  837. <tr>
  838. <td nowrap="true" width="80px" align="left">部          门</td>
  839. <td nowrap="true" width="190px" align="left"><html:text
  840. name="ms_svbillForm" property="metaObject.dept.dept_name"
  841. onchange="changeMaster('dept',this,'metaObject.vehicle.vehicle_plate_kind');"
  842. ondblclick="doDBClickQuery(this,'ms_svbillForm','dept');"
  843. onkeydown="doFKeyQuery(this,'ms_svbillForm','dept');" />
  844. <img
  845. border="none" src="images/icon_calendar.gif"
  846. onclick="doDBClickQuery(document.forms[0].elements['metaObject.dept.dept_name'],'ms_svbillForm','dept');"
  847. style='cursor:hand;' /></td>
  848. <td nowrap="true" width="80px" align="left">接          车</td>
  849. <td nowrap="true" width="190px" align="left"><html:text
  850. name="ms_svbillForm" property="metaObject.staff.staff_name"
  851. onchange="changeMaster('staff',this,'metaObject.staff.staff_name');"
  852. ondblclick="doDBClickQuery(this,'ms_svbillForm','user','usefixvalue=1&ROLE_TYPES=Q');"
  853. onkeydown="doFKeyQuery(this,'ms_svbillForm','user','usefixvalue=1&ROLE_TYPES=Q');" />
  854. <img border="none" src="images/icon_calendar.gif"
  855. onclick="doDBClickQuery(document.forms[0].elements['metaObject.staff.staff_name'],'ms_svbillForm','user','usefixvalue=1&ROLE_TYPES=Q');"
  856. style='cursor:hand;' /></td>
  857. <td nowrap="true" width="82px" align="left">客户专员</td>
  858. <td nowrap="true" width="200px" align="left"><html:text
  859. name="ms_svbillForm" property="metaObject.desk_clerk.staff_name"
  860. onchange="changeMaster('desk_clerk',this,'metaObject.desk_clerk.staff_name');"
  861. ondblclick="doDBClickQuery(this,'ms_svbillForm','user','usefixvalue=1&ROLE_TYPES=Q');"
  862. onkeydown="doFKeyQuery(this,'ms_svbillForm','user','usefixvalue=1&ROLE_TYPES=Q');"
  863. style='width:50px;' />
  864. <img border="none"
  865. src="images/icon_calendar.gif"
  866. onclick="doDBClickQuery(document.forms[0].elements['metaObject.desk_clerk.staff_name'],'ms_svbillForm','user','usefixvalue=1&ROLE_TYPES=Q');"
  867. style='cursor:hand;' />   开拓人
  868. <html:text
  869. name="ms_svbillForm"
  870. property="metaObject.cust.qz_staff.staff_name"
  871. style='width:50px;' readonly="true" /></td>
  872. <td width="*"></td>
  873. </tr>
  874. <tr>
  875. <td nowrap="true" width="80px" align="left"><a
  876. href="javascript:openVehicle();">车          牌</a> </td>
  877. <td nowrap="true" width="190px" align="left"><html:text
  878. name="ms_svbillForm" property="metaObject.vehicle.code"
  879. onchange="changeMaster('vehicle',this,'metaObject.vehicle.owner.cust_name');"
  880. ondblclick="doDBClickQuery(this,'ms_svbillForm','vehicle');"
  881. onkeydown="doFKeyQuery(this,'ms_svbillForm','vehicle');"
  882. style='width:70px;' />
  883. <img border="none"
  884. src="images/icon_calendar.gif"
  885. onclick="doDBClickQuery(document.forms[0].elements['metaObject.vehicle.code'],'ms_svbillForm','vehicle');"
  886. style='cursor:hand;' /> 牌号
  887. <html:text name="ms_svbillForm"
  888. property="metaObject.key_no.key_no"
  889. onchange="changeMaster('key_no',this,'metaObject.key_no.key_no');"
  890. style='width:34px'
  891. ondblclick="doDBClickQuery(this,'ms_svbillForm','ms_svjc');"
  892. onkeydown="doFKeyQuery(this,'ms_svbillForm','ms_svjc');" />
  893. <img
  894. border="none" src="images/icon_calendar.gif"
  895. onclick="doDBClickQuery(document.forms[0].elements['metaObject.key_no.key_no'],'ms_svbillForm','ms_svjc');"
  896. style='cursor:hand;' /></td>
  897. <td nowrap="true" width="80px" align="left"><a
  898. href="javascript:doOpenCust();" tabindex="10">客          户</a> </td>
  899. <td nowrap="true" width="190px" align="left"><html:text
  900. name="ms_svbillForm"
  901. property="metaObject.vehicle.owner.cust_name" styleId="v_owner"
  902. onchange="changeMaster('owner',this,'metaObject.vehicle.owner.cust_name');"
  903. ondblclick="doDBClickQuery(this,'ms_svbillForm','customer');"
  904. onkeydown="doFKeyQuery(this,'ms_svbillForm','customer');"
  905. disabled="${not empty(ms_svbillForm.metaObject.vehicle.id)}" /></td>
  906. <td nowrap="true" width="80px" align="left">客户类别</td>
  907. <td nowrap="true" width="200px" align="left"><html:text
  908. name="ms_svbillForm"
  909. property="metaObject.vehicle.owner.cust_dtype.description"
  910. styleId="v_owner_type" style='width:177px;'
  911. onchange="changeMaster('cust_dtype',this,'metaObject.vehicle.owner.cust_dtype.description');"
  912. ondblclick="doDBClickQuery(this,'ms_svbillForm','cust_dtype');"
  913. onkeydown="doFKeyQuery(this,'ms_svbillForm','cust_dtype');"
  914. disabled="${not empty(ms_svbillForm.metaObject.vehicle.owner.id)}" />
  915. <c:if test="${empty(ms_svbillForm.metaObject.vehicle.owner.id)}"> <img border="none" src="images/icon_calendar.gif"
  916. style='cursor:hand;' id="v_owner_type_src"
  917. onclick="doDBClickQuery(document.forms[0].elements['metaObject.vehicle.owner.cust_dtype.description'],'ms_svbillForm','cust_dtype');" /> </c:if></td>
  918. <td nowrap="true" width="*" align="left"> </td>
  919. </tr>
  920. <tr>
  921. <% if(myShowSvbillManager.getMyShowSvbillBean().getVIP() == 1) {%>
  922. <td nowrap="true" width="80px" align="left"><a
  923. href="javascript:readCard(document.forms[0].elements['metaObject.associatorl.code'],0);">会员卡号</a> </td>

  924. <td nowrap="true" width="190px" align="left"><%
  925. if (com.metasoft.basic.SysSet.sy032) {
  926. %>
  927. <html:text
  928. name="ms_svbillForm" property="metaObject.associatorl.code"
  929. onchange="changeMaster('associatorl',this,'metaObject.associatorl.code');"
  930. onkeydown="banInput();" onmousedown="onlyCard(this);" />
  931. <%
  932. } else {
  933. %>
  934. <html:text name="ms_svbillForm"
  935. property="metaObject.associatorl.code"
  936. onchange="changeMaster('associatorl',this,'metaObject.associatorl.code');"
  937. ondblclick="doDBClickQuery(this,'ms_svbillForm','associatorl','i.LICENSE_PLATE_CODE='+document.forms[0].elements['metaObject.vehicle.code'].value);"
  938. onkeydown="doFKeyQuery(this,'ms_svbillForm','associatorl');" />
  939. <img border="none" src="images/icon_calendar.gif"
  940. onclick="doDBClickQuery(document.forms[0].elements['metaObject.associatorl.code'],'ms_svbillForm','associatorl','i.LICENSE_PLATE_CODE='+document.forms[0].elements['metaObject.vehicle.code'].value);"
  941. style='cursor:hand;' />
  942. <%
  943. }
  944. }
  945. %>
  946. </td>
  947. <td nowrap="true" width="80px" align="left">会员类别</td>
  948. <td nowrap="true" width="190px" align="left"><html:text
  949. name="ms_svbillForm"
  950. property="metaObject.associatorl.atype.associatorl_type_name"
  951. disabled="true" style='width:85px;' />

  952. <html:text
  953. name="ms_svbillForm"
  954. property="metaObject.associatorl.balance_amt" disabled="true"
  955. style='width:60px;' /></td>
  956. <td nowrap="true" width="80px" align="left">旧件处理</td>
  957. <td nowrap="true" width="190px" align="left"><html:select
  958. name="ms_svbillForm" property="metaObject.old_cl"
  959. onchange="changeMaster('old_cl',this,'metaObject.old_cl');this.style.cursor='normal';"
  960. onkeydown="listOnKeyDown();" onblur="this.style.cursor='normal'"
  961. style='z-index:999;width:50px;'>
  962. <html:optionsCollection name="ms_svbillForm"
  963. property="old_cl_list" />
  964. </html:select>
  965. 洗车要求
  966. <html:select name="ms_svbillForm"
  967. property="metaObject.yy_type"
  968. onchange="changeMaster('yy_type',this,'metaObject.yy_type');this.style.cursor='normal';"
  969. onkeydown="listOnKeyDown();" onblur="this.style.cursor='normal'"
  970. style='z-index:999;width:63px;'>
  971. <html:optionsCollection name="ms_svbillForm"
  972. property="yy_type_list" />
  973. </html:select></td>
  974. </tr>
  975. <tr>
  976. <td nowrap="true" width="80px" align="left">工单类别</td>
  977. <td nowrap="true" width="190px" align="left"><%
  978. if (user.getEditSvBillType() != null
  979. && user.getEditSvBillType().booleanValue()) {
  980. %>
  981. <html:text name="ms_svbillForm" styleId="focusfid"
  982. property="metaObject.sv_bill_type.description" readonly="true"
  983. onkeydown="return false" />
  984. <%
  985. } else {
  986. %>
  987. <html:text
  988. name="ms_svbillForm" styleId="focusfid"
  989. property="metaObject.sv_bill_type.description"
  990. onchange="changeMaster('sv_bill_type',this,'metaObject.sv_bill_type.description');"
  991. ondblclick="doDBClickQuery(this,'ms_svbillForm','sv_bill_type');"
  992. onkeydown="doFKeyQuery(this,'ms_svbillForm','sv_bill_type');" />
  993. <img border="none" src="images/icon_calendar.gif"
  994. onclick="doDBClickQuery(document.forms[0].elements['metaObject.sv_bill_type.description'],'ms_svbillForm','sv_bill_type');"
  995. style='cursor:hand;' />
  996. <%
  997. }
  998. %>
  999. </td>
  1000. <td nowrap="true" width="80px" align="left"><bean:message
  1001. key="sv_type" />
  1002. </td>
  1003. <td nowrap="true" width="190px" align="left"><html:text
  1004. name="ms_svbillForm" property="metaObject.sv_type_id.description"
  1005. onchange="changeMaster('sv_type',this,'metaObject.sv_type_id.description');"
  1006. ondblclick="doDBClickQuery(this,'ms_svbillForm','sv_type');"
  1007. onkeydown="doFKeyQuery(this,'ms_svbillForm','sv_type');" />
  1008. <img
  1009. border="none" src="images/icon_calendar.gif"
  1010. onclick="doDBClickQuery(document.forms[0].elements['metaObject.sv_type_id.description'],'ms_svbillForm','sv_type');"
  1011. style='cursor:hand;' /></td>
  1012. <td nowrap="true" width="80px" align="left">制          单</td>
  1013. <td nowrap="true" colspan="2" width="*" align="left"><html:text
  1014. name="ms_svbillForm" property="metaObject.lister.staff_name"
  1015. disabled="true" style="width:50px;" />
  1016. 工时单价
  1017. <html:text
  1018. name="ms_svbillForm" property="metaObject.gs_price"
  1019. readonly="true"
  1020. style="width:63px;font-size:14px;color:red;text-align: right;" />
  1021. <%
  1022. if (update_gs_price) {
  1023. %>
  1024. <input class="littleButton"
  1025. name="update_gs_p_btn" value="更新" type="button"
  1026. onclick="changeMaster('UPDATE_GS_PRICE',document.forms[0].elements['event'],'metaObject.yy_type');"
  1027. style='width:45px;'>
  1028. <%}%>
  1029. <%if(svbill.getInv_id() !=null && svbill.getInv_id().longValue()>0){ %>
  1030.           <font color="red">--售前加装车--</font>
  1031. <%} %>
  1032. </td>
  1033. <td width="*"> </td>
  1034. </tr>
  1035. </table>
  1036. <table class="dialog" border="1" cellpadding="0" cellspacing="0"
  1037. width="100%">
  1038. <tr valign="top">
  1039. <td align="left" width="550" valign="top"><table class="dialog" border="0" cellpadding="0" cellspacing="0">
  1040. <tr>
  1041. <td nowrap="true" width="82px" align="left">车          型</td>
  1042. <td nowrap="true" width="192px" align="left"><html:text
  1043. name="ms_svbillForm"
  1044. property="metaObject.vehicle.product.item_name"
  1045. onchange="changeMaster('product',this,'metaObject.vehicle.color.description');"
  1046. ondblclick="vbrandSeriesVitemQuery(this,'ms_svbillForm','vehicleproduct','${vproduct_brand_filter}');"
  1047. onkeydown="doFKeyQuery(this,'ms_svbillForm','vehicleproduct','${vproduct_brand_filter}');" />
  1048. <img border="none" src="images/icon_calendar.gif"
  1049. onclick="vbrandSeriesVitemQuery(document.forms[0].elements['metaObject.vehicle.product.item_name'],'ms_svbillForm','vehicleproduct','${vproduct_brand_filter}');"
  1050. style='cursor:hand;' /></td>
  1051. <td nowrap="true" width="82px" align="left">颜          色</td>
  1052. <td nowrap="true" width="192px" align="left"><html:text
  1053. name="ms_svbillForm"
  1054. property="metaObject.vehicle.color.description"
  1055. onchange="changeMaster('color',this,'metaObject.driver_name');"
  1056. ondblclick="doDBClickQuery(this,'ms_svbillForm','color');"
  1057. onkeydown="doFKeyQuery(this,'ms_svbillForm','color');"
  1058. style='width:45px;' />
  1059. <img border="none"
  1060. src="images/icon_calendar.gif"
  1061. onclick="doDBClickQuery(document.forms[0].elements['metaObject.vehicle.color.description'],'ms_svbillForm','color');"
  1062. style='cursor:hand;' /> 归属
  1063. <html:select name="ms_svbillForm"
  1064. property="metaObject.vehicle.gs_status"
  1065. onchange="changeMaster('gs_status',this,'metaObject.vehicle.gs_status');this.style.cursor='normal';"
  1066. onkeydown="listOnKeyDown();"
  1067. onblur="this.style.cursor='normal'" style='width:60px;'>
  1068. <html:optionsCollection name="ms_svbillForm"
  1069. property="gs_status_list" />
  1070. </html:select></td>
  1071. </tr>
  1072. <tr>
  1073. <!--
  1074. <td nowrap="true" width="82px" align="left">品          牌</td>
  1075. <td nowrap="true" width="192px" align="left">
  1076. <html:text name="ms_svbillForm" property="metaObject.vehicle.brand.description" onchange="changeMaster('brand',this,'metaObject.driver_name');" ondblclick="doDBClickQuery(this,'ms_svbillForm','vbrand');" onkeydown="doFKeyQuery(this,'ms_svbillForm','vbrand');"/>
  1077. <img border="none" src="images/icon_calendar.gif" onclick="doDBClickQuery(document.forms[0].elements['metaObject.vehicle.brand.description'],'ms_svbillForm','vbrand');" style='cursor:hand;'/>
  1078. </td>
  1079. -->
  1080. <td nowrap="true" width="82px" align="left">车型代码</td>
  1081. <td nowrap="true" width="192px" align="left"><html:text
  1082. name="ms_svbillForm" property="metaObject.vehicle.s_item_code"
  1083. onchange="changeMaster('s_item_code',this,'metaObject.vehicle.vehicle_category.description');"
  1084. style='width:70px' />
  1085. 车类
  1086. <% if(com.metasoft.basic.SysSet.veh001){ %>
  1087. <html:text name="ms_svbillForm"
  1088. property="metaObject.vehicle.vehicle_category.description"
  1089. onchange="changeMaster('vehicle_category',this,'metaObject.driver_name');"
  1090. ondblclick="doDBClickQuery(this,'ms_svbillForm','vehicle_category');"
  1091. onkeydown="doFKeyQuery(this,'ms_svbillForm','vehicle_category');"
  1092. style='width:54px' />
  1093. <img border="none"
  1094. src="images/icon_calendar.gif"
  1095. onclick="doDBClickQuery(document.forms[0].elements['metaObject.vehicle.vehicle_category.description'],'ms_svbillForm','vehicle_category');"
  1096. style='cursor:hand;' />
  1097. <%}else{ %>
  1098. <html:text name="ms_svbillForm"
  1099. property="metaObject.vehicle.vehicle_category.description"
  1100. style='width:54px' disabled="true"/>
  1101. <%} %>
  1102. </td>
  1103. <!-- 从下面一个<TR>中移上来的 -->
  1104. <td nowrap="true" width="82px" align="left">发动机号</td>
  1105. <td nowrap="true" width="192px" align="left"><html:text
  1106. name="ms_svbillForm" property="metaObject.vehicle.engine_no"
  1107. onchange="changeMaster('engine_no',this,'metaObject.vehicle.engine_no');" />
  1108. </td>
  1109. </tr>
  1110. <tr>
  1111. <% if(myShowSvbillManager.getMyShowSvbillBean().getVIN() == 1) {%>
  1112. <td nowrap="true" width="82px" align="left">VIN号</td>
  1113. <td nowrap="true" width="192px" align="left"><html:text
  1114. name="ms_svbillForm" property="metaObject.vehicle.vin_no"
  1115. onchange="changeMaster('vin_no',this,'metaObject.vehicle.vin_no');"
  1116. onkeyup="checkVinNoLen(this);" /></td>
  1117. <% }%>
  1118. <td nowrap="true" width="82px" align="left">最近来厂日</td>
  1119. <td nowrap="true" width="192px" align="left"><html:text
  1120. name="ms_svbillForm"
  1121. property="metaObject.vehicle.last_come_date" disabled="true"
  1122. style="width: 90px;" />

  1123. <html:text name="ms_svbillForm"
  1124. property="metaObject.vehicle.in_count" disabled="true"
  1125. style="width:30px;" />
  1126. 次</td>
  1127. </tr>
  1128. <tr>
  1129. <td colspan="4"><hr>
  1130. </td>
  1131. <tr>
  1132. <tr>
  1133. <td nowrap="true" width="82px" align="left">进厂日期</td>
  1134. <td nowrap="true" width="192px" align="left"><html:text
  1135. name="ms_svbillForm" property="metaObject.in_date"
  1136. onchange="changeMaster('in_date',this,'metaObject.in_date');" />
  1137. <img border="none" src="images/icon_calendar.gif"
  1138. onclick="show_calendartime('ms_svbillForm','metaObject.in_date');"
  1139. style='cursor:hand;' /></td>
  1140. <td nowrap="true" width="82px" align="left">计划完工日</td>
  1141. <td nowrap="true" width="192px" align="left"><html:text
  1142. name="ms_svbillForm" property="metaObject.plan_date"
  1143. onchange="changeMaster('plan_date',this,'metaObject.plan_date');" />
  1144. <img border="none" src="images/icon_calendar.gif"
  1145. onclick="show_calendartime('ms_svbillForm','metaObject.plan_date');"
  1146. style='cursor:hand;' /></td>
  1147. </tr>
  1148. <tr>
  1149. <td nowrap="true" width="82px" align="left">进厂里程</td>
  1150. <td nowrap="true" width="192px" align="left"><html:text
  1151. name="ms_svbillForm" property="metaObject.in_milimetre"
  1152. style="text-align:right;" valueType="5"
  1153. onchange="changeMaster('in_milimetre',this,'metaObject.in_milimetre');" />
  1154. <!--
  1155. <html:text name="ms_svbillForm" property="metaObject.sv_type_id.description"
  1156. onchange="changeMaster('sv_type',this,'metaObject.sv_type_id.description');"
  1157. ondblclick="doDBClickQuery(this,'ms_svbillForm','sv_type');"
  1158. onkeydown="doFKeyQuery(this,'ms_svbillForm','sv_type');" />
  1159. -->
  1160. <!--
  1161. <html:text name="ms_svbillForm" property="metaObject.vehicle.owner.cust_name" styleId="v_owner"
  1162. onchange="changeMaster('owner',this,'metaObject.vehicle.owner.cust_name');"
  1163. ondblclick="doDBClickQuery(this,'ms_svbillForm','customer');"
  1164. onkeydown="doFKeyQuery(this,'ms_svbillForm','customer');"
  1165. disabled="${not empty(ms_svbillForm.metaObject.vehicle.id)}"/>
  1166. --></td>
  1167. <td nowrap="true" width="82px" align="left">油表数</td>
  1168. <td nowrap="true" width="192px" align="left"><html:select
  1169. name="ms_svbillForm" property="metaObject.oil_ds"
  1170. onchange="changeMaster('oil_ds',this,'metaObject.oil_ds');this.style.cursor='normal';"
  1171. onkeydown="listOnKeyDown();"
  1172. onblur="this.style.cursor='normal'" style='z-index:-1'>
  1173. <c:forEach items="${ms_svbillForm.yblist}" var="lable"> <option value="${lable.value}"

  1174. <c:if test="${ms_svbillForm.metaObject.oil_ds==lable.label}">selected</c:if>
  1175. >${lable.label}
  1176. </option>
  1177. </c:forEach>
  1178. </html:select></td>
  1179. </tr>
  1180. <tr>
  1181. <td nowrap="true" width="82px" align="left">主修人</td>
  1182. <td nowrap="true" width="192px"><html:text
  1183. name="ms_svbillForm"
  1184. property="metaObject.sv_maintenance.staff_name"
  1185. onchange="changeMaster('sv_maintenance',this,'metaObject.sv_maintenance.staff_name');"
  1186. ondblclick="doDBClickQuery(this,'ms_svbillForm','user_pg','usefixvalue=1&ROLE_TYPES=G');"
  1187. onkeydown="doFKeyQuery(this,'ms_svbillForm','user_pg');" />
  1188. <img
  1189. border="none" src="images/icon_calendar.gif"
  1190. onclick="doDBClickQuery(document.forms[0].elements['metaObject.sv_maintenance.staff_name'],'ms_svbillForm','user_pg','usefixvalue=1&ROLE_TYPES=G');"
  1191. style='cursor:hand;' /></td>
  1192. <td colspan="2"></td>
  1193. </tr>
  1194. <tr>
  1195. <td colspan="4"><hr>
  1196. </td>
  1197. </tr>
  1198. <tr>
  1199. <td nowrap="true" width="82px" align="left">送   修   人</td>
  1200. <td nowrap="true" width="192px" align="left"><html:text
  1201. name="ms_svbillForm" property="metaObject.driver_name"
  1202. ondblclick="showLinkMen(this);"
  1203. onkeydown="showLinkMenFk(this);"
  1204. onchange="changeMaster('driver_name',this,'metaObject.driver_name');"
  1205. style='width:65px;' />
  1206. <img border="none"
  1207. src="images/icon_calendar.gif"
  1208. onclick="showLinkMen(document.forms[0].elements['metaObject.driver_name']);"
  1209. style='cursor:hand;' />
  1210. <html:checkbox
  1211. property="metaObject.updatevehicle" style="width: 18px;"
  1212. onclick="changeMaster('updatevehicle',this,'metaObject.updatevehicle');" />
  1213. 更新车辆</td>
  1214. <td nowrap="true" width="82px" align="left">电话/手机</td>
  1215. <td nowrap="true" width="192px" align="left"><html:text
  1216. name="ms_svbillForm" property="metaObject.driver_tel"
  1217. onchange="changeMaster('driver_tel',this,'metaObject.driver_tel');"
  1218. style="width: 82px;" />
  1219. <html:text name="ms_svbillForm"
  1220. property="metaObject.driver_mobile_tel"
  1221. onchange="changeMaster('driver_mobile_tel',this,'metaObject.driver_mobile_tel');"
  1222. style="width: 75px;" /></td>
  1223. </tr>
  1224. <tr>
  1225. <td nowrap="true" width="82px" align="left">证件编号</td>
  1226. <td nowrap="true" width="192px" align="left"><html:text
  1227. name="ms_svbillForm" property="metaObject.vehicle.driver_code"
  1228. onchange="changeMaster_lic_no('driver_code',this,'metaObject.vehicle.driver_code');" />
  1229. </td>
  1230. <td nowrap="true" width="82px" align="left">生            日</td>
  1231. <td nowrap="true" width="192px" align="left"><html:text
  1232. name="ms_svbillForm"
  1233. property="metaObject.vehicle.driver_birthday"
  1234. onchange="changeMaster('driver_birthday',this,'metaObject.vehicle.driver_birthday');" />
  1235. <img border="none" src="images/icon_calendar.gif"
  1236. onclick="show_calendar1('ms_svbillForm','metaObject.vehicle.driver_birthday');"
  1237. style='cursor:hand;' /></td>
  1238. </tr>
  1239. <tr>
  1240. <td nowrap="true" width="82px" align="left">地            址</td>
  1241. <td nowrap="true" width="192px" align="left"><html:text
  1242. name="ms_svbillForm" property="metaObject.vehicle.driver_addr"
  1243. onchange="changeMaster('driver_addr',this,'metaObject.vehicle.driver_addr');" />
  1244. </td>
  1245. <td nowrap="true" width="82px" align="left">换证日期</td>
  1246. <td nowrap="true" width="192px" align="left"><html:text
  1247. name="ms_svbillForm" property="metaObject.vehicle.cc_date"
  1248. onchange="changeMaster('cc_date',this,'metaObject.vehicle.cc_date');" />
  1249. <img border="none" src="images/icon_calendar.gif"
  1250. onclick="show_calendar1('ms_svbillForm','metaObject.vehicle.cc_date');"
  1251. style='cursor:hand;' /></td>
  1252. </tr>
  1253. <tr>
  1254. <td nowrap="true" width="82px" align="left">主要联系人</td>
  1255. <td nowrap="true" width="192px" align="left"><html:text
  1256. name="ms_svbillForm"
  1257. property="metaObject.vehicle.owner.link_men"
  1258. onchange="changeMaster('link_men',this,'metaObject.vehicle.owner.link_men');" />
  1259. </td>
  1260. <td nowrap="true" width="82px" align="left">联系电话</td>
  1261. <td nowrap="true" width="192px" align="left"><html:text
  1262. name="ms_svbillForm"
  1263. property="metaObject.vehicle.owner.mobile_tel"
  1264. onchange="changeMaster('linktel',this,'metaObject.vehicle.owner.mobile_tel');" />
  1265. </td>
  1266. </tr>
  1267. <tr>
  1268. <td nowrap="true" width="82px" align="left">地            址</td>
  1269. <td nowrap="true" width="192px" align="left"><html:text
  1270. name="ms_svbillForm" property="metaObject.vehicle.owner.addr"
  1271. onchange="changeMaster('addr',this,'metaObject.vehicle.owner.addr');" />
  1272. </td>
  1273. <td nowrap="true" width="82px" align="left">区 域:</td>
  1274. <td nowrap="true" width="192px" align="left"><html:text
  1275. name="ms_svbillForm"
  1276. property="metaObject.vehicle.owner.area.description"
  1277. onchange="changeMaster('area',this,'metaObject.vehicle.owner.area.description');" />
  1278. <img border="none" src="images/icon_calendar.gif"
  1279. onclick="show_query2('ms_svbillForm','metaObject.vehicle.owner.area.description','area');"
  1280. style='cursor:hand;' /> </td>
  1281. </tr>
  1282. <tr>
  1283. <td colspan="4"><hr>
  1284. </td>
  1285. <tr>
  1286. <tr>
  1287. <td colspan="4"><table class="dialog" border="0" cellpadding="0"
  1288. cellspacing="0" width="100%">
  1289. <tr valign="top">
  1290. <td nowrap="true" width="82px" align="left">保险公司</td>
  1291. <td nowrap="true" width="110px" align="left"><html:text
  1292. name="ms_svbillForm"
  1293. property="metaObject.vehicle.insurance.cust_name"
  1294. onchange="changeMaster('vehicle_insurer',this,'metaObject.vehicle.insurance.cust_name');"
  1295. ondblclick="doDBClickQuery(this,'ms_svbillForm','insurer');"
  1296. onkeydown="doFKeyQuery(this,'ms_svbillForm','insurer');"
  1297. style="width:85px;" />
  1298. <img border="none"
  1299. src="images/icon_calendar.gif"
  1300. onclick="doDBClickQuery(document.forms[0].elements['metaObject.vehicle.insurance.cust_name'],'ms_svbillForm','insurer');"
  1301. style='cursor:hand;' /></td>
  1302. <td nowrap="true" width="82px" align="left">商业险到期</td>
  1303. <td nowrap="true" width="95px" align="left"><html:text
  1304. name="ms_svbillForm"
  1305. property="metaObject.vehicle.insurance_end_date"
  1306. onchange="changeMaster('insurance_end_date',this,'metaObject.vehicle.insurance_end_date'); "
  1307. style="width:70px;" />
  1308. <img border="none"
  1309. src="images/icon_calendar.gif"
  1310. onclick="show_calendar1('ms_svbillForm','metaObject.vehicle.insurance_end_date');"
  1311. style='cursor:hand;' /></td>
  1312. <td nowrap="true" width="82px" align="left">交强险到期</td>
  1313. <td nowrap="true" width="95px" align="left"><html:text
  1314. name="ms_svbillForm"
  1315. property="metaObject.vehicle.comprehensive_end_date"
  1316. onchange="changeMaster('comprehensive_end_date',this,'metaObject.vehicle.comprehensive_end_date'); "
  1317. style="width:70px;" />
  1318. <img border="none"
  1319. src="images/icon_calendar.gif"
  1320. onclick="show_calendar1('ms_svbillForm','metaObject.vehicle.comprehensive_end_date');"
  1321. style='cursor:hand;' /></td>
  1322. </tr>
  1323. <tr>
  1324. <td nowrap="true" width="82px" align="left">购买日期</td>
  1325. <td nowrap="true" width="110px" align="left"><html:text
  1326. name="ms_svbillForm" property="metaObject.vehicle.buy_date"
  1327. onchange="changeMaster('buy_date',this,'metaObject.vehicle.buy_date');"
  1328. style="width:85px;" />
  1329. <img border="none"
  1330. src="images/icon_calendar.gif"
  1331. onclick="show_calendar1('ms_svbillForm','metaObject.vehicle.buy_date');"
  1332. style='cursor:hand;' /></td>
  1333. <td nowrap="true" width="82px" align="left">年检日期</td>
  1334. <td nowrap="true" width="95px" align="left"><html:text
  1335. name="ms_svbillForm"
  1336. property="metaObject.vehicle.year_check_date"
  1337. onchange="changeMaster('year_check_date',this,'metaObject.vehicle.year_check_date');"
  1338. style="width:70px;" />
  1339. <img border="none"
  1340. src="images/icon_calendar.gif"
  1341. onclick="show_calendar1('ms_svbillForm','metaObject.vehicle.year_check_date');"
  1342. style='cursor:hand;' /></td>
  1343. <td nowrap="true" width="82px" align="left">首保日期</td>
  1344. <td nowrap="true" width="95" align="left"><html:text
  1345. name="ms_svbillForm"
  1346. property="metaObject.vehicle.fmaintain_date"
  1347. onchange="changeMaster('fmaintain_date',this,'metaObject.vehicle.fmaintain_date');"
  1348. style="width:70px;" />
  1349. <img border="none"
  1350. src="images/icon_calendar.gif"
  1351. onclick="show_calendar1('ms_svbillForm','metaObject.vehicle.fmaintain_date');"
  1352. style='cursor:hand;' /></td>
  1353. </tr>
  1354. </table></td>
  1355. </tr>
  1356. </table></td>
  1357. <td valign="top" width="*"><table class="dialogsmall" border="0" cellpadding="0"
  1358. cellspacing="0" width="100%">
  1359. <tr>
  1360. <td><div align="left">
  1361. <input class="littleButton" name="associatorlhistoryQuery"
  1362. value="售卡/查询" type="button"
  1363. onclick="doShowAssociatorlHistory();" style='width:60px;'>
  1364. <input class="littleButton" name="svhistory" value="历史[F11]"
  1365. type="button" onClick="doShowHistory();" style='width:60px;' />
  1366. <input class="littleButton" name="donote" value="小贴士"
  1367. type="button" onClick="doCustNote();" style='width:60px;' />
  1368. <input class="littleButton" name="dbtcQuery" value="定保套餐"
  1369. type="button" onClick="doOpenDqby();" style='width:60px;'>
  1370. <input class="littleButton" name="detailset" value="必输设置"
  1371. type="button"
  1372. onclick='billInputSet("${ms_svbillForm.metaObject.validateKey}");'
  1373. style='width:60px;'>
  1374. <input type="hidden"
  1375. name="temphfhistory" />
  1376. </div></td>
  1377. </tr>
  1378. <tr>
  1379. <td><div align="left">
  1380. <input class="littleButton" name="ArapBalanceQuery"
  1381. value="账款查询" type="button" onClick="doOpenArapBalance();"
  1382. style='width:60px;'>
  1383. <input class="littleButton"
  1384. name="hfhistory" value="回访历史" type="button"
  1385. onclick="getHistory();" style='width:60px;'>
  1386. <input
  1387. class="littleButton" name="ArapBalanceQuery" value="信息变更"
  1388. type="button" onClick="doUpdateCustomer();"
  1389. style='width:60px;'>
  1390. <input class="littleButton"
  1391. name="uploadfile" value="附加档案" type="button"
  1392. onclick="uploadFile('svbill',document.forms[0].elements['metaObject.id'].value,'<%=canedit%>');"
  1393. style='width:60px;'>
  1394. <input class="littleButton"
  1395. name="cxda_btn" value="出险档案" type="button"
  1396. onclick="openCXBill();" style='width:60px;' />
  1397. <%
  1398. if (user.isUseJYSys()) {
  1399. %>
  1400. <input class="littleButton" name="webSys_btn" value="精友车型接口"
  1401. type="button"
  1402. onclick="loadDataFromOtherWebSys(1,document.forms[0].elements['metaObject.vehicle.vin_no'].value,'<%=user.getJy_vaccount()%>');"
  1403. style='width:85px;'>
  1404. <%
  1405. }
  1406. %>
  1407. </div></td>
  1408. </tr>
  1409. <tr>
  1410. <td align="left"><table border="0" cellpadding="0" cellspacing="0" width="100%">
  1411. <tr height="20">
  1412. <td nowrap="true" width="55px" height="20" align="center"
  1413. valign="bottom" onclick=restore_desc();c1_desc();
  1414. id="td1_desc" class="lc">车辆状况</td>
  1415. <td nowrap="true" width="55px" height="20" align="center"
  1416. valign="bottom"
  1417. onclick=restore_desc();c2_desc();init_xyTable();
  1418. id="td2_desc" class="l_tab"><font color="red">图示</font>状况</td>
  1419. <td nowrap="true" width="55px" height="20" align="center"
  1420. valign="bottom" onclick=restore_desc();c3_desc();
  1421. id="td3_desc" class="l_tab">车辆信息</td>
  1422. <td nowrap="true" width="*" height="20" align="center"
  1423. valign="bottom" id="td7" class="r-t"></td>
  1424. </tr>
  1425. </table></td>
  1426. </tr>
  1427. <tr id="w1_desc" style="display:block;width:100%;">
  1428. <td align="left"><html:textarea name="ms_svbillForm"
  1429. property="metaObject.vehicle_status"
  1430. onchange="changeCodeMaster('vehicle_status',this,'metaObject.vehicle_status');"
  1431. style='height:140px;width:100%;' />
  1432. <br>
  1433. 建议交流区<br>
  1434. <html:textarea
  1435. name="ms_svbillForm" property="metaObject.sv_suggest"
  1436. onchange="changeCodeMaster('sv_suggest',this,'metaObject.sv_suggest');"
  1437. style='height:85px;width:100%;' /></td>
  1438. </tr>
  1439. <tr id="w2_desc" style="display:none;width:100%;">
  1440. <td align="left"><table style="width:100%; height:100%;" cellpadding="0"
  1441. cellspacing="0">
  1442. <tr>
  1443. <td width="30px" style="text-align: center"><a href="#"
  1444. title="划痕">
  1445. <div id="sign_4"
  1446. style="height: 18px;width: 18px;font-size: 16px;cursor: hand;"
  1447. onclick="restore_sign(4);"> <font face="Webdings">x</font> </div>
  1448. </a><br>
  1449. <a href="#" title="脱漆">
  1450. <div id="sign_9"
  1451. style="height: 18px;width: 18px;font-size: 16px;cursor: hand;"
  1452. onclick="restore_sign(9);"> <font face="Webdings">N</font> </div>
  1453. </a><br>
  1454. <a href="#" title="凹凸">
  1455. <div id="sign_1"
  1456. style="height: 18px;width: 18px;font-size: 16px;cursor: hand;"
  1457. onclick="restore_sign(1);"> <font face="Webdings">i</font> </div>
  1458. </a><br>
  1459. <a href="#" title="损毁">
  1460. <div id="sign_6"
  1461. style="height: 18px;width: 18px;font-size: 16px;cursor: hand;"
  1462. onclick="restore_sign(6);"> <font face="Webdings">@</font> </div>
  1463. </a><br>
  1464. <a href="#" title="其他">
  1465. <div id="sign_7"
  1466. style="height: 18px;width: 18px;font-size: 16px;cursor: hand;"
  1467. onclick="restore_sign(7);"> <font face="Webdings">=</font> </div>
  1468. </a><br></td>
  1469. <td width="*"><div id="signBG" align="left"
  1470. style="width:100%;height: 100%; background-color:#FFFFFF">
  1471. <table id="xytable"
  1472. style="width:100%; height:100%;background-image:url(images/carbg.gif);background-position:top left;background-repeat: no-repeat;border: 1px solid #000000;table-layout: fixed;"
  1473. cellpadding="0" cellspacing="0">
  1474. </table>
  1475. </div></td>
  1476. </tr>
  1477. </table></td>
  1478. </tr>
  1479. <tr id="w3_desc" style="display:none;width:100%;">
  1480. <td align="left"><table class="dialog" cellpadding="0" cellspacing="0"
  1481. width="100%">
  1482. <tr>
  1483. <td nowrap="true" width="90px" align="left">下次保养日期</td>
  1484. <td nowrap="true" width="190px" align="left"><html:text
  1485. name="ms_svbillForm"
  1486. property="metaObject.vehicle.quarter_check_date"
  1487. onchange="changeMaster('quarter_check_date',this,'metaObject.vehicle.quarter_check_date');" />
  1488. <img border="none" src="images/icon_calendar.gif"
  1489. onclick="show_calendar1('ms_svbillForm','metaObject.vehicle.quarter_check_date');"
  1490. style='cursor:hand;' /></td>
  1491. <td nowrap="true" width="*" align="left"> </td>
  1492. </tr>
  1493. <tr>
  1494. <td nowrap="true" width="90px" align="left">下次保养里程</td>
  1495. <td nowrap="true" width="190px" align="left"><html:text
  1496. name="ms_svbillForm" property="metaObject.vehicle.yl_fee"
  1497. onchange="changeMaster('yl_fee',this,'metaObject.vehicle.yl_fee');" />
  1498. </td>
  1499. <td nowrap="true" width="*" align="left"> </td>
  1500. </tr>
  1501. <tr>
  1502. <td nowrap="true" width="90px" align="left">历史来厂次数</td>
  1503. <td nowrap="true" width="190px" align="left"><html:text
  1504. name="ms_svbillForm" property="metaObject.incount"
  1505. disabled="true" /></td>
  1506. <td nowrap="true" width="*" align="left"> </td>
  1507. </tr>
  1508. <tr>
  1509. <td nowrap="true" width="90px" align="left">历史总金额</td>
  1510. <td nowrap="true" width="190px" align="left"><html:text
  1511. name="ms_svbillForm"
  1512. property="metaObject.vehicle.in_amount" disabled="true" />
  1513. </td>
  1514. </tr>
  1515. <tr>
  1516. <td nowrap="true" width="80px" align="left">客户级别</td>
  1517. <td nowrap="true" width="190px" align="left"><html:text
  1518. name="ms_svbillForm"
  1519. property="metaObject.vehicle.owner.level.description"
  1520. disabled="true" /></td>
  1521. </tr>
  1522. <tr >
  1523. <td width="75" nowrap="true"><div align="left">信息来源</div></td>
  1524. <td width="150" nowrap="true"><div align="left">
  1525. <html:text name="ms_svbillForm" property="metaObject.custAndCxp.customerexp.info_from.description" onchange="changeMaster('info_from',this,'metaObject.custAndCxp.customerexp.info_from.description');" ondblclick="doDBClickQuery(this,'ms_svbillForm','info_from');" onkeydown="doFKeyQuery(this,'ms_svbillForm','info_from');" style="width:120px"/>
  1526. <img border="none" src="images/icon_calendar.gif" onClick="show_query2('ms_svbillForm','metaObject.custAndCxp.customerexp.info_from.description','info_from');" style='cursor:hand;'/> </div></td>
  1527. <td width="*" nowrap="true"></td>
  1528. </tr>
  1529. </table></td>
  1530. </tr>
  1531. </table></td>
  1532. </tr>
  1533. </table>
  1534. </div>
  1535. <table id=zuofei cellSpacing=0 cellPadding=0 border=0
  1536. style='z-index:990;display:none;position:absolute;width:405px;height:120px;background-color:#faf5f1;border-bottom: 8px solid #ffc080; border-top: 8px solid #ffc080;border-left: 8px solid #ffc080;border-right: 8px solid #ffc080;'>
  1537. <tr height="25">
  1538. <th colspan="2"
  1539. style='border-bottom: 1px solid #9c9992; border-top: 0px;border-left: 0px;border-right: 0px;font-size:14px;background-color:#ffc080;'> <span onselectstart="return false" style='cursor:Move;width:100%;'>作废原因</span> </th>
  1540. </tr>
  1541. <tr>
  1542. <td nowrap="true"><div align="center">作废原因:</div></td>
  1543. <td nowrap="true"><div align="left" rosplan="3">
  1544. <html:textarea name="ms_svbillForm"
  1545. property="metaObject.un_description" rows="3"
  1546. style="width: 270px;" />
  1547. </div></td>
  1548. </tr>
  1549. <tr>
  1550. <td align="center" colspan="2"><input class="littleButton"
  1551. type=button value="确定" onClick="dounDescription();"
  1552. style='width:60;' />
  1553.     
  1554. <input
  1555. class="littleButton" type=button value="取消"
  1556. onclick="CloseDounDescription();" style='width:60;' /></td>
  1557. </tr>
  1558. </table>
  1559. <div id=vehicleSb
  1560. style="width:800px;height:300px;display:none;position:absolute;z-index:990;background-color:#faf5f1;border-bottom: 8px solid #ffc080; border-top: 8px solid #ffc080;border-left: 8px solid #ffc080;border-right: 8px solid #ffc080;">
  1561. <table cellSpacing=0 cellPadding=0 border=0
  1562. style="font-size:14px;font-weight:bold;width:100%">
  1563. <tr height="25">
  1564. <th colspan="8"
  1565. style='border-bottom: 1px solid #9c9992;border-top: 0px;border-left: 0px;border-right: 0px;background-color:#ffc080;'> <span>等待接车的车辆</span></th>
  1566. <th
  1567. style='border-bottom: 1px solid #9c9992;border-top: 0px;border-left: 0px;border-right: 0px;background-color:#ffc080;'> <a href="javascript:closeVehicleSb();">取消</a></th>
  1568. </tr>
  1569. <tr>
  1570. <td width="5%">NO</td>
  1571. <td width="15%">车牌</td>
  1572. <td width="13%">车主</td>
  1573. <td width="10%">客户专员</td>
  1574. <td width="12%">会员卡号</td>
  1575. <td width="10%">会员类别</td>
  1576. <td width="10%">是否预约</td>
  1577. <td width="15%">最近送修人</td>
  1578. <td width="10%">上次接车</td>
  1579. </tr>
  1580. </table>
  1581. <div style="height:300px;width:98%;overflow:auto;">
  1582. <table cellSpacing=0 cellPadding=0 border=0
  1583. style='font-size:14px;width:100%'>
  1584. <logic:iterate id="vehicleSbList" name="ms_svbillForm"
  1585. property="vehicleSbList" indexId="idx" length="100" offset="0">
  1586. <tr height="30px" onClick="selectDetail('${idx+1 }');"
  1587. ondblclick="doSelectBill('${idx+1 }','vehicleSbList[${idx+1 }].vehicle_no');">
  1588. <td width="5%">${idx+1 }</td>
  1589. <td width="15%"><bean:write name="vehicleSbList"
  1590. property="vehicle_no" />
  1591. </td>
  1592. <td width="15%"><bean:write name="vehicleSbList"
  1593. property="owner" />
  1594. </td>
  1595. <td width="10%"><bean:write name="vehicleSbList"
  1596. property="desk_clerk" />
  1597. </td>
  1598. <td width="10%"><bean:write name="vehicleSbList"
  1599. property="associatorl_no" />
  1600. </td>
  1601. <td width="10%"><bean:write name="vehicleSbList"
  1602. property="associatorl_type" />
  1603. </td>
  1604. <td width="10%"><bean:write name="vehicleSbList"
  1605. property="yy_type" />
  1606. </td>
  1607. <td width="15%"><bean:write name="vehicleSbList"
  1608. property="sx_staff" />
  1609. </td>
  1610. <td width="10%"><bean:write name="vehicleSbList"
  1611. property="jc_staff" />
  1612. </td>
  1613. <input type="hidden" name="vehicleSbList[${idx+1 }].vehicle_no"
  1614. value="<bean:write name="vehicleSbList" property="vehicle_no"/>
  1615. " /> </tr>
  1616. </logic:iterate>
  1617. </table>
  1618. </div>
  1619. <table cellSpacing=0 cellPadding=0 border=0
  1620. style='font-size:14px;width:100%;color:red;'>
  1621. <tr>
  1622. <td align="center">双击选择车辆</td>
  1623. </tr>
  1624. </table>
  1625. </div>
  1626. </html:form>
  1627. <div id=divProcessing
  1628. style="z-index:9998;width:100%;height:100%;position:absolute;left:0px;top:0px;display:none;filter:Alpha(opacity=20);background-color: gray;">
  1629. <table width="100%" height="100%" border="0" cellspacing="0"
  1630. cellpadding="0">
  1631. <tr>
  1632. <td> </td>
  1633. </tr>
  1634. </table>
  1635. </div>
  1636. <div id=divSearch
  1637. style="z-index:9999;text-align: center;width:350px;height:30px;position:absolute;left:expression((document.body.offsetWidth-350)/2);top:expression((document.body.offsetHeight-30)/2);display:none;border:0px;">
  1638. <div> <img src="images/circleloading.gif" /> </div>
  1639. </div>
  1640. <c:if test="${ms_svbillForm.metaObject.differ_kind == 3}">
  1641. <div id=fendantale
  1642. style='display:none;position:absolute;z-index:9999999;width:480px;height:100px; top:100px;left:480px;'>
  1643. <table cellSpacing=0 cellPadding=0
  1644. style='background-color:#faf5f1;width:250px;height:100px;border: 4px solid #ffc080;'>
  1645. <tr height="25">
  1646. <th colspan=4
  1647. style='border-bottom: 1px solid #9c9992; border-top: 0px;border-left: 0px;border-right: 0px;font-size:14px;background-color:#ffc080;'> <span onselectstart="return false" style='cursor:Move;width:100%;'>结算分单</span> </th>
  1648. </tr>
  1649. <tr>
  1650. <td nowrap="true"><div align="center">保险分单</div></td>
  1651. <td nowrap="true"><div align="left">
  1652. <input type="checkbox" name="differ_bx" style='width:20px;'
  1653. onclick="changeMaster('differ_bx',this,'differ_bx');" />
  1654. </div></td>
  1655. <td nowrap="true"><div align="center">索赔分单</div></td>
  1656. <td nowrap="true"><div align="left">
  1657. <input type="checkbox" name="differ_sb" style='width:20px;'
  1658. onclick="changeMaster('differ_sb',this,'differ_sb');" />
  1659. </div></td>
  1660. </tr>
  1661. <tr height="20">
  1662. <td colspan=4 align=center
  1663. style='border-bottom: 0px; border-top: 1px solid #9c9992;border-left: 0px;border-right: 0px;'><input class="littleButton" type=button value="确定"
  1664. onclick="doDifferSvBill();" style='width:60;' />
  1665. <input
  1666. class="littleButton" type=button value="关闭" onClick="fendanOff();"
  1667. style='width:60;' /></td>
  1668. </tr>
  1669. </table>
  1670. </div>
  1671. </c:if>
  1672. <%
  1673. if (com.metasoft.basic.SysSet.sy098) {
  1674. %>
  1675. <SCRIPT language=javascript>function ValidateObj(prop_name,dis_name,must_input, length_check,min_length,max_length){
  1676. this.prop_name = prop_name;
  1677. this.dis_name = dis_name;
  1678. this.must_input = must_input;
  1679. this.length_check = length_check;
  1680. this.min_length = min_length;
  1681. this.max_length = max_length;
  1682. }
  1683. function validateObj(){
  1684. try{

  1685. }catch(Exception){}
  1686. }
  1687. var validateArray = new Array();
  1688. try{
  1689. <%java.util.List list = com.metasoft.basic.meta.MS_BillInputSetFactory.getSetValues("SV001_jc");
  1690. if (list != null && list.size() > 0) {
  1691. com.metasoft.basic.objects.pojo.MS_BillInputSetObject setObj = null;
  1692. for (int a = 0; a < list.size(); a++) {
  1693. setObj = (com.metasoft.basic.objects.pojo.MS_BillInputSetObject) list
  1694. .get(a);
  1695. if (setObj != null
  1696. && ((setObj.getMust_input() != null && setObj
  1697. .getMust_input().booleanValue()) || (setObj
  1698. .getLength_check() != null && setObj
  1699. .getLength_check().booleanValue()))) {
  1700. out.println(" var validateObj" + a
  1701. + " = new ValidateObj('"
  1702. + setObj.getPname() + "','"
  1703. + setObj.getPdisplayname() + "',"
  1704. + setObj.getMust_input() + ","
  1705. + setObj.getLength_check() + ","
  1706. + setObj.getMin_length() + ","
  1707. + setObj.getMax_length() + ");");
  1708. out.println("validateArray.push(validateObj"
  1709. + a + ");");
  1710. }
  1711. }
  1712. }%>
  1713. if(validateArray.length>0){
  1714. var form_elements = document.forms[0].elements;
  1715. for(var b=0;b<validateArray.length;b++){
  1716. var inputName = 'metaObject.' + validateArray[b].prop_name;
  1717. for(var a=0;a<form_elements.length;a++){
  1718. if(form_elements[a].name.indexOf(inputName) == 0 && form_elements[a].type
  1719. && !form_elements[a].disabled && form_elements[a].type.toLowerCase() != 'hidden'){
  1720. form_elements[a].style.backgroundColor="<%=com.metasoft.basic.SysSet.sy098_str%>";
  1721. break;
  1722. }
  1723. }
  1724. }
  1725. }
  1726. }catch(Exception){}

  1727. -->
  1728. </SCRIPT>
  1729. <%
  1730. }
  1731. %>
  1732. </body>
  1733. </html:html>
  1734. <SCRIPT language=javascript> currfromsrc="ms_svbill";
  1735. currbillquerysrc="ms_svbilljc";
  1736. <bean:write name="ms_svbillForm" property="refreshCode" filter="false"/>
  1737. showKeyColor();
  1738. if(parent.mframeid!=window)
  1739. {
  1740. parent.mframeid.document.body.innerHTML=document.body.innerHTML;
  1741. parent.mframeid.loadOff();
  1742. }
  1743. var focuscol=document.forms[0].elements["nextfocusfield"].value;
  1744. if(focuscol==null||focuscol=="")
  1745. focuscol="metaObject.vehicle.code";
  1746. if(parent.mframeid.document.forms[0].elements[focuscol]&&!parent.mframeid.document.forms[0].elements[focuscol].disabled)
  1747. {
  1748. parent.mframeid.document.forms[0].elements[focuscol].focus();
  1749. parent.mframeid.document.forms[0].elements[focuscol].select();
  1750. }

  1751. doOpenVehicleSb();

  1752. </SCRIPT>
复制代码
重启tomcat 搞定!

效果:


已经编译好的直接可以上传到metasoft.jar的.rar (, 下载次数:412)

(2014/6/9 17:32:31 上传)