add_detect.ftl 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486
  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="renderer" content="webkit|ie-comp|ie-stand">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  7. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
  8. <meta http-equiv="Cache-Control" content="no-siteapp" />
  9. <#include "/base/add_base.ftl">
  10. <title>添加检测记录</title>
  11. <style>
  12. .tit{position: relative;text-align: left;font-size: 16px;padding-left: 10px;}
  13. .tit:after{content: '';position: absolute;left: 0;top: 20%;height: 60%;width: 3px;background-color: #32a3d8;}
  14. .tit-2{position: relative;font-size: 16px;padding-left: 10px;color: #50a2ea;display: inline-block;}
  15. .tit-2:after{content: '';position: absolute;left: 0;top: 50%;height: 6px;width: 6px;border-radius: 6px;margin-top: -3px; background-color: #32a3d8;}
  16. .my-title{font-weight: 500;padding-left: 15px;position: relative;}
  17. .my-title:after{content: '';position: absolute;left: 0;top:12%;width: 3px;height: 80%;background: #32a3d8;}
  18. .my-input{padding: 8px 5px;width: 80%;border:1px solid rgba(0,0,0,.1);}
  19. .my-input-date{padding: 8px 10px;border:1px solid rgba(0,0,0,.1);width: 80%;background: url(http://s.iamberry.com/images/rili-1.png) 98.5% center no-repeat; background-size:auto 50%;}
  20. .input-box{margin: 18px 0;}
  21. .input-dic{float: left;margin:5px 10px 0 0;font-size: 14px;}
  22. .add-list{list-style-type: none;padding: 10px;background-color: #f5f5f5;width: 60%;float: left;margin: 0;}
  23. .add-list>li{margin: 10px 0;}
  24. .my-textarea{padding: 5px 10px;width: 77%;border:1px solid rgba(0,0,0,.1);margin-left: 12.5%;}
  25. .my-btn-reset{padding: 10px 20px;width: 150px; background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;margin: 10px 10px 0 10px;}
  26. .my-btn-submit{padding: 10px 20px;width: 158px; background-color: #50a2ea;color: #fff;border: 1px solid #50a2ea;cursor:pointer;margin: 10px 10px 0 10px;}
  27. .my-select {
  28. border: 1px solid rgba(0,0,0,.1);
  29. padding: 6px 50px 6px 15px;
  30. height: 34px;
  31. -webkit-appearance: none;
  32. appearance: none;
  33. background: url(/common/images/pts/select-11.png) right center no-repeat;
  34. background-size: auto 100%;
  35. }
  36. .check-box, .radio-box{padding-left: 0;}
  37. input[type=radio]{-webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
  38. input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
  39. .huanhang{ float:left}
  40. input[type=radio]{-webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
  41. input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
  42. </style>
  43. <meta name="keywords" content="${path}">
  44. <meta name="description" content="H-ui.admin v3.0,是一款由国人开发的轻量级扁平化网站后台模板,完全免费开源的网站后台管理系统模版,适合中小型CMS后台系统。">
  45. </head>
  46. <body>
  47. <article class="page-container">
  48. <form class="form form-horizontal" id="form-admin-add">
  49. <div class="row cl">
  50. <label class="form-label col-3">
  51. <div class="tit-2">检测信息</div>
  52. </label>
  53. <div class="formControls col-9">
  54. </div>
  55. </div>
  56. <div class="row cl">
  57. <label class="form-label col-3 col-sm-3" style="padding-right: 10px;"><span class="c-red">*</span>所属公司:</label>
  58. <div class="formControls col-9 col-sm-9" style="padding-left: 5px;">
  59. <#if companyInfoList?? && (companyInfoList?size > 0) >
  60. <#list companyInfoList as companyInfo>
  61. <div class="radio-box">
  62. <input type="radio" name="companyId" <#if companyInfo_index == 0>checked="checked"</#if>value="${companyInfo.companyId!''}" datatype="*" nullmsg="请选择所属公司!">
  63. <label for="tel-1">${companyInfo.companyName!''}</label>
  64. </div>
  65. </#list>
  66. </#if>
  67. </div>
  68. </div>
  69. <#--<div class="input-box">
  70. <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;margin-top: 14px;">客诉编号:</label>
  71. <div class="formControls col-xs-9 col-sm-9 skin-minimal" style="margin: 10px 0px;padding-left: 0;">
  72. <input class="my-input" type="text" style="width:510px;" name="customerId" id="customerId" placeholder="请输入客诉编号,如没有请留空"/>
  73. </div>
  74. </div>-->
  75. <div class="input-box">
  76. <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;margin-top: 14px;"><span class="c-red">*</span>客户问题:</label>
  77. <div class="formControls col-xs-9 col-sm-9 skin-minimal" style="margin: 10px 0px;padding-left: 0;">
  78. <select name="complaintId" id="complaintId" class="chosen3" style="width: 43px;">
  79. </select>
  80. <select name="smallClassId" id="smallClassId" class="chosen3" style="width: 43px;">
  81. </select>
  82. <select id="questionId" name="questionId" class="chosen" style="width: 93%;">
  83. <option value="">请选择客户问题</option>
  84. <#if (listComplaintQuestionInfo?size > 0)>
  85. <#list listComplaintQuestionInfo as info>
  86. <option value="${info.questionId!""}">${info.questionName!""}</option>
  87. </#list>
  88. </#if>
  89. </select>
  90. </div>
  91. </div>
  92. <div class="input-box" >
  93. <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>问题描述:</label>
  94. <div class="formControls col-xs-9 col-sm-9">
  95. <div class="radio-box">
  96. <textarea rows="2" style="width: 410px;margin-left: -15px;margin-top: 8px;" cols="20" name="questionDescription" id="questionDescription" class="my-textarea" placeholder="请输入问题描述!"></textarea>
  97. </div>
  98. </div>
  99. </div>
  100. <div class="input-box">
  101. <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;margin-top: 14px;">业务员:</label>
  102. <div class="formControls col-xs-9 col-sm-9 skin-minimal" style="margin: 10px 0px;padding-left: 0;">
  103. <select id="salesmanAdminId" name="salesmanAdminId" class="chosen" style="width: 93%;">
  104. <option value="">请选择业务员</option>
  105. <#if (listAdmin?size > 0)>
  106. <#list listAdmin as info>
  107. <option value="${info.adminId!""}">${info.adminName!""}</option>
  108. </#list>
  109. </#if>
  110. </select>
  111. </div>
  112. </div>
  113. <div class="input-box">
  114. <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;margin-top: 14px;"><span class="c-red">*</span>客户信息:</label>
  115. <div class="formControls col-9 col-sm-9 huanhang" style="margin: 10px 0px 10px 0;padding-left: 0;">
  116. <input class="my-input" type="text" name="detectName" id="detectName" placeholder="请输入客户姓名或昵称" style="width: 146px;"/>
  117. <input class="my-input" type="text" name="detectTel" id="detectTel" placeholder="请输入客户电话或手机号码" style="width: 146px;"/>
  118. </div>
  119. </div>
  120. <div class="input-box" id="updateDetect_3">
  121. <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;margin-top: 14px;"><span class="c-red">*</span>处理方式:</label>
  122. <div class="formControls col-9 col-sm-9 huanhang" style="margin: 10px 0px 10px 0;padding-left: 0;">
  123. <select class="my-select" id="procTypeId" name="procTypeId" style="width: 158px;">
  124. </select>
  125. <select class="my-select" id="procMethodId" name="methodId" style="width: 158px;">
  126. </select>
  127. </div>
  128. </div>
  129. <div class="input-box">
  130. <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;margin-top: 14px;"><span class="c-red">*</span>检测产品:</label>
  131. <div class="formControls col-9 col-sm-9 huanhang" style="margin: 10px 0px 10px 0;padding-left: 0;">
  132. <select id="productId" name="productId" class="my-select" style="width: 158px;">
  133. <#if (productList?size > 0)>
  134. <#list productList as product>
  135. <option value="${product.productId!""}">${product.productName!""}</option>
  136. </#list>
  137. </#if>
  138. </select>
  139. <select id="productColorId" name="productColorId" class="my-select" style="width: 158px;">
  140. <#if (productColorList?size > 0)>
  141. <#list productColorList as productColor>
  142. <option value="${productColor.colorId!""}">${productColor.colorName!""}</option>
  143. </#list>
  144. </#if>
  145. </select>
  146. </div>
  147. </div>
  148. <div class="input-box" >
  149. <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;">备注信息:</label>
  150. <div class="formControls col-xs-9 col-sm-9">
  151. <div class="radio-box">
  152. <textarea rows="3" style="width: 410px;margin-left: -15px;margin-top: 8px;" cols="20" name="detectItemDesc" id="detectItemDesc" class="my-textarea" placeholder="请输入备注!"></textarea>
  153. </div>
  154. </div>
  155. </div>
  156. <div class="input-box" style="margin-left: 30%">
  157. <button type="button" class="my-btn-submit" onclick="add();" style="margin-top: 50px;">确认提交</button>
  158. </div>
  159. </form>
  160. </article>
  161. <script type="text/javascript" src="${path}/common/lib/My97DatePicker/4.8/WdatePicker.js"></script>
  162. <script type="text/javascript">
  163. /**
  164. * 客诉处理方式回显 state
  165. */
  166. procType();
  167. $("#procTypeId").change(function (){
  168. var procTypeId = parseInt($(this).val());
  169. procMethod(procTypeId);
  170. });
  171. function procType(){
  172. var procTypeId;
  173. $.ajax({
  174. cache: true,
  175. type: "POST",
  176. url: "${path}/admin/proc/type",
  177. async: false,
  178. success: function(data){
  179. if (data.returnCode == 200) {
  180. var html = '';
  181. if (data.returnCode == 200) {
  182. for(var i=0;i<data.returnMsg.list.length;i++){
  183. listInfo = data.returnMsg.list[i];
  184. if(i == 1 ){
  185. procTypeId = listInfo.procTypeId;
  186. }
  187. if(listInfo.procTypeId === 2 || listInfo.procTypeId === 3 || listInfo.procTypeId === 4 ){
  188. html += '<option value="'+ listInfo.procTypeId +'">'+ listInfo.procTypeName +'</option>';
  189. }
  190. }
  191. }else{
  192. html = '';
  193. }
  194. $("[name='procTypeId']").html(html);
  195. }
  196. },
  197. error: function(XmlHttpRequest, textStatus, errorThrown){
  198. }
  199. })
  200. procMethod(procTypeId);
  201. }
  202. function procMethod(procTypeId){
  203. $.ajax({
  204. cache: true,
  205. type: "POST",
  206. data: {"procTypeId":procTypeId},
  207. url: "${path}/admin/proc/method",
  208. async: false,
  209. success: function(data){
  210. if (data.returnCode == 200) {
  211. var html = '';
  212. if (data.returnCode == 200) {
  213. for(var i=0;i<data.returnMsg.list.length;i++){
  214. listInfo = data.returnMsg.list[i];
  215. html += '<option value="'+ listInfo.procMethodId +'">'+ listInfo.procMethodName +'</option>';
  216. }
  217. }else{
  218. html = '';
  219. }
  220. $("#procMethodId").html(html);
  221. }
  222. },
  223. error: function(XmlHttpRequest, textStatus, errorThrown){
  224. }
  225. })
  226. }
  227. /**
  228. * 客诉处理方式回显 end
  229. */
  230. function inputSelect(){
  231. var input_select=$("#content").val();
  232. var option_length=$("#contentlist option").length;
  233. var option_id='';
  234. for(var i=0;i<option_length;i++){
  235. var option_value=$("#contentlist option").eq(i).attr('data-value');
  236. if(input_select==option_value){
  237. option_id=$("#contentlist option").eq(i).attr('data-id')
  238. break;
  239. }
  240. }
  241. $.ajax({
  242. cache: true,
  243. type: "POST",
  244. url: "${path}/admin/detect/getDetectionBasis",
  245. data:{basisId:option_id},
  246. async: false,
  247. success: function(data){
  248. if (data.returnCode == 200) {
  249. if(data.returnMsg.detectionBasis != null){
  250. $("#detectItemPhenomenon").val(data.returnMsg.detectionBasis.basisPhenomenon);
  251. $("#detectItemClassification").val(data.returnMsg.detectionBasis.basisClassification);
  252. $("#detectItemFailureCause").val(data.returnMsg.detectionBasis.basisFailureCause);
  253. $("#detectItemResults").val(data.returnMsg.detectionBasis.basisResults);
  254. $("#detectItemPoint").val(data.returnMsg.detectionBasis.basisPoint);
  255. $("#detectItemNalysis").val(data.returnMsg.detectionBasis.basisNalysis);
  256. $("#detectItemContent").val(data.returnMsg.detectionBasis.basisContent);
  257. }
  258. }
  259. },
  260. error: function(XmlHttpRequest, textStatus, errorThrown){
  261. layer.msg('添加错误',{icon: 5,time:1000});
  262. }
  263. });
  264. };
  265. //查询产品颜色信息
  266. $('#productId').change(function(){
  267. getProduct($(this).children('option:selected').val())
  268. })
  269. function getProduct(productId) {
  270. $.ajax({
  271. cache: true,
  272. type: "POST",
  273. url: "${path}/admin/product/get_product",
  274. data:{colorProductId:productId},// 你的formid
  275. async: false,
  276. success: function(data){
  277. if (data.returnCode == 200) {
  278. $("#productColorId").empty();
  279. if(data.returnMsg.productColorList.length > 0){
  280. for(var i=0;i<data.returnMsg.productColorList.length;i++){
  281. var productColor = data.returnMsg.productColorList[i];
  282. $("#productColorId").append('<option value='+productColor.colorId+'>'+productColor.colorName+'</option>');
  283. }
  284. }
  285. }
  286. },
  287. error: function(XmlHttpRequest, textStatus, errorThrown){
  288. layer.msg('添加错误',{icon: 5,time:1000});
  289. }
  290. });
  291. }
  292. function add() {
  293. var questionId = $("#questionId").val();
  294. if( questionId == null || questionId == "" ){
  295. layer.msg('请选择客户问题',{icon: 5,time:1000});
  296. return;
  297. }
  298. $.ajax({
  299. cache: true,
  300. type: "POST",
  301. url: "${path}/admin/detect/add_detect",
  302. data:$('#form-admin-add').serialize(),// 你的formid
  303. async: false,
  304. success: function(data){
  305. if (data.returnCode == 200) {
  306. layer.msg('添加成功',{icon: 1,time:1000},function () {
  307. location.replace(location.href);
  308. window.location.href= "${path}/admin/detect/select_detect_list";
  309. });
  310. } else {
  311. layer.msg('添加失败',{icon: 5,time:1000});
  312. }
  313. },
  314. error: function(XmlHttpRequest, textStatus, errorThrown){
  315. layer.msg('添加错误',{icon: 5,time:1000});
  316. }
  317. });
  318. }
  319. /*监听问题类型 选择事件*/
  320. $("[name='complaintId']").change(function(){
  321. initComplaintSmallClassInfo($(this).val());
  322. });
  323. initComplaintTypeInfo();
  324. /*初始化问题大类*/
  325. function initComplaintTypeInfo() {
  326. var customerCounselTypeOverall = null;
  327. var complaintType = null;
  328. $.ajax({
  329. type: "POST",
  330. data: {
  331. complaintConsultingType : customerCounselTypeOverall,
  332. complaintType : complaintType
  333. },
  334. url: "${path}/admin/complaintQuestion/list_complaintType",
  335. async: true,
  336. success: function(data){
  337. var html = '';
  338. var id;
  339. if (data.returnCode == 200) {
  340. for(var i=0;i<data.returnMsg.complaintTypeInfoList.length;i++){
  341. var complaintTypeInfo = data.returnMsg.complaintTypeInfoList[i];
  342. if(i == 0 ){
  343. id = complaintTypeInfo.complaintId;
  344. }
  345. html += '<option value="'+ complaintTypeInfo.complaintId +'">'+ complaintTypeInfo.complaintClassName +'</option>';
  346. }
  347. }else{
  348. html = '';
  349. }
  350. $("[name='complaintId']").html(html);
  351. $("#complaintId").trigger("chosen:updated");//初始化
  352. initComplaintSmallClassInfo(id);
  353. },
  354. error: function(XmlHttpRequest, textStatus, errorThrown){
  355. }
  356. });
  357. }
  358. /*显示小类*/
  359. function initComplaintSmallClassInfo(complaintId,smallId){
  360. if(complaintId == null || complaintId == ""){
  361. var html = '';
  362. $("[name='smallClassId']").html(html);
  363. }else{
  364. $.ajax({
  365. type: "POST",
  366. data: {
  367. complaintId : complaintId
  368. },
  369. url: "${path}/admin/complaintQuestion/list_complaintSmallClass",
  370. async: true,
  371. success: function(data){
  372. var html = '';
  373. if (data.returnCode == 200) {
  374. for(var i=0;i<data.returnMsg.complaintSmallClassInfoList.length;i++){
  375. var ComplaintSmallClassInfo = data.returnMsg.complaintSmallClassInfoList[i];
  376. html += '<option value="'+ ComplaintSmallClassInfo.smallClassId +'">'+ ComplaintSmallClassInfo.smallClassName +'</option>';
  377. }
  378. }else{
  379. html = '';
  380. }
  381. $("[name='smallClassId']").html(html);
  382. $("#smallClassId").trigger("chosen:updated");//初始化
  383. if(smallId != null && smallId != "" && typeof(smallId)!="undefined" ){
  384. $("select[name='smallClassId']").val(smallId);
  385. }
  386. listQuestion();
  387. },
  388. error: function(XmlHttpRequest, textStatus, errorThrown){
  389. }
  390. });
  391. }
  392. }
  393. /*监听问题类型 选择事件*/
  394. $("[name='smallClassId']").change(function(){
  395. listQuestion();
  396. });
  397. function listQuestion(){
  398. var smallClassId = $("#smallClassId").val();
  399. $.ajax({
  400. type: "POST",
  401. data: {
  402. smallClassId : smallClassId
  403. },
  404. url: "${path}/admin/complaintQuestion/list_question_all",
  405. async: false,
  406. success: function(data){
  407. var html = "";
  408. if (data.returnCode == 200) {
  409. for(var i=0;i<data.returnMsg.complaintQuestionInfoList.length;i++){
  410. var complaintQuestion= data.returnMsg.complaintQuestionInfoList[i];
  411. html += '<option value="'+ complaintQuestion.questionId +'">'+ complaintQuestion.questionName +'</option>';
  412. }
  413. }else{
  414. html = '';
  415. }
  416. $("#questionId").html(html);
  417. $("#questionId").trigger("chosen:updated");//初始化
  418. },
  419. error: function(XmlHttpRequest, textStatus, errorThrown){
  420. }
  421. });
  422. }
  423. $('.chosen').chosen({
  424. no_results_text: "没有找到结果!",//搜索无结果时显示的提示
  425. search_contains:true, //关键字模糊搜索。设置为true,只要选项包含搜索词就会显示;设置为false,则要求从选项开头开始匹配
  426. allow_single_deselect:true, //单选下拉框是否允许取消选择。如果允许,选中选项会有一个x号可以删除选项
  427. disable_search: false, //禁用搜索。设置为true,则无法搜索选项。
  428. disable_search_threshold: 0, //当选项少等于于指定个数时禁用搜索。
  429. inherit_select_classes: true, //是否继承原下拉框的样式类,此处设为继承
  430. placeholder_text_single: '选择国家', //单选选择框的默认提示信息,当选项为空时会显示。如果原下拉框设置了data-placeholder,会覆盖这里的值。
  431. width: '320px', //设置chosen下拉框的宽度。即使原下拉框本身设置了宽度,也会被width覆盖。
  432. max_shown_results: 1000, //下拉框最大显示选项数量
  433. display_disabled_options: false,
  434. single_backstroke_delete: false, //false表示按两次删除键才能删除选项,true表示按一次删除键即可删除
  435. case_sensitive_search: false, //搜索大小写敏感。此处设为不敏感
  436. group_search: false, //选项组是否可搜。此处搜索不可搜
  437. include_group_label_in_selected: true //选中选项是否显示选项分组。false不显示,true显示。默认false。
  438. });
  439. $('.chosen3').chosen({
  440. no_results_text: "没有找到结果!",//搜索无结果时显示的提示
  441. search_contains:true, //关键字模糊搜索。设置为true,只要选项包含搜索词就会显示;设置为false,则要求从选项开头开始匹配
  442. allow_single_deselect:true, //单选下拉框是否允许取消选择。如果允许,选中选项会有一个x号可以删除选项
  443. disable_search: false, //禁用搜索。设置为true,则无法搜索选项。
  444. disable_search_threshold: 0, //当选项少等于于指定个数时禁用搜索。
  445. inherit_select_classes: true, //是否继承原下拉框的样式类,此处设为继承
  446. placeholder_text_single: '选择国家', //单选选择框的默认提示信息,当选项为空时会显示。如果原下拉框设置了data-placeholder,会覆盖这里的值。
  447. width: '120px', //设置chosen下拉框的宽度。即使原下拉框本身设置了宽度,也会被width覆盖。
  448. max_shown_results: 1000, //下拉框最大显示选项数量
  449. display_disabled_options: false,
  450. single_backstroke_delete: false, //false表示按两次删除键才能删除选项,true表示按一次删除键即可删除
  451. case_sensitive_search: false, //搜索大小写敏感。此处设为不敏感
  452. group_search: false, //选项组是否可搜。此处搜索不可搜
  453. include_group_label_in_selected: true //选中选项是否显示选项分组。false不显示,true显示。默认false。
  454. });
  455. $('.chosen2').chosen({
  456. search_contains:false,
  457. enable_split_word_search: true //分词搜索,选项词可通过空格或'[]'分隔。search_contains为false时才能看出效果
  458. });
  459. </script>
  460. </body>
  461. </html>