You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

395 lines
18 KiB

3 weeks ago
  1. 
  2. @{
  3. ViewBag.Title = "Index";
  4. Layout = "~/Views/Shared/_Index.cshtml";
  5. }
  6. <script src="~/Content/js/datepicker/WdatePicker.js"></script>
  7. <!--引入 element-ui 的样式,-->
  8. <link rel="stylesheet" href="~/Content/element-ui/lib/theme-chalk/index.css">
  9. <script src="~/Content/vue/dist/vue.js"></script>
  10. <script src="~/Content/element-ui/lib/index.js"></script>
  11. <script src="~/Content/axios.min.js"></script>
  12. <style >
  13. </style>
  14. <form id="form1">
  15. <div id="app">
  16. <div class="topPanel" style="height:100px;">
  17. <div class="toolbar">
  18. <div class="btn-group">
  19. <input id="FileUp" name="FileUp" type="file" style="display:none;" accept=".csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
  20. <a id="NF-Add" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btn_Add()"><i class="fa fa-pencil-square-o"></i>新增</a>
  21. <a id="NF-Remove" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btn_Remove()"><i class="fa fa-trash-o"></i>删除</a>
  22. <a id="NF-Edit" authorize="yes" style="margin-left:3px;" class="btn btn-primary" onclick="btn_Edit()"><i class="fa fa-pencil-square-o"></i>修改</a>
  23. <a href="~/File/IQC/东辉AQL导入.xlsx" id="NF-IntroductionMould" authorize="no" class="btn btn-primary dropdown-text"><i class="fa fa-file-excel-o"></i>导入模板下载</a>
  24. <a id="NF-Introduction" authorize="yes" class="btn btn-primary dropdown-text" onclick="btn_UPload()">导入</a>
  25. <a id="NF-ExportAll" authorize="no" class="btn btn-primary"><i class="fa fa-download"></i>导出</a>
  26. <a class="btn btn-primary" onclick="$.reload()"><span class="glyphicon glyphicon-refresh"></span></a>
  27. </div>
  28. <div class="btn-group" style="display:block;padding-left:2px;">
  29. <a class="btn btn-primary" id="downPrintControl" href="~/PrintActivex.exe" style="display:none">点击下载打印组件</a>
  30. </div>
  31. <script>$('.toolbar').authorizeButton()</script>
  32. </div>
  33. <div class="search">
  34. <table>
  35. <tr>
  36. <td class="HideItems" style="text-align:right;"><label class="lglabel HideItems" for="txt_MoCode">&nbsp;&nbsp;&nbsp;&nbsp;AQL编码</label>:</td>
  37. <td class="HideItems">
  38. <div class="input-group HideItems">
  39. <input id="txt_RulesCode" type="text" class="form-control HideItems" style="width: 200px;">
  40. </div>
  41. </td>
  42. <td class="HideItems" style="text-align:right;"><label class="lglabel HideItems" for="txt_MoCode">&nbsp;&nbsp;&nbsp;&nbsp;AQL名称</label>:</td>
  43. <td class="HideItems">
  44. <div class="input-group HideItems">
  45. <input id="txt_RulesName" type="text" class="form-control HideItems" style="width: 200px;">
  46. </div>
  47. </td>
  48. <td class="HideItems" style="text-align:right;"><label class="lglabel HideItems" for="txt_MoCode">&nbsp;&nbsp;&nbsp;&nbsp;是否启用</label>:</td>
  49. <td class="HideItems">
  50. <div class="input-group HideItems">
  51. <select id="txt_Enable" class="form-control select2" style="width: 135px; height: 20px;">
  52. <option value="" selected>全部</option>
  53. <option value="1">是</option>
  54. <option value="0">否</option>
  55. </select>
  56. </div>
  57. </td>
  58. <td>
  59. <span class="input-group-btn">
  60. <button id="btn_search" type="button" class="btn btn-primary"><i class="fa fa-search"></i></button>
  61. </span>
  62. </td>
  63. </tr>
  64. </table>
  65. </div>
  66. </div>
  67. <div class="gridPanel">
  68. <table id="gridList"></table>
  69. <div id="gridPager"></div>
  70. </div>
  71. </div>
  72. </form>
  73. <script type="text/javascript">
  74. function btn_UPload() {
  75. $("#FileUp").click();
  76. }
  77. $(function () {
  78. var service = {
  79. isCanEditDate: false,
  80. Init: function () {
  81. var that = this;
  82. $("#txt_CheckFixtureNo").val('');
  83. that.initControl();
  84. that.loadGrid();
  85. that.loadEvent();
  86. //that.loadViewGrid();
  87. },
  88. initControl: function () {
  89. let that = this;
  90. let orgName = '';
  91. let userName = '@NFine.Code.OperatorProvider.Provider.GetCurrent().UserName';
  92. },
  93. loadGrid: function () {
  94. var that = this;
  95. var queryJson = {
  96. RulesCode: $("#txt_RulesCode").val(),
  97. RulesName: $("#txt_RulesName").val(),
  98. Enable: $("#txt_Enable").val(),
  99. }
  100. var $gridList = $("#gridList");
  101. $gridList.dataGrid({
  102. url: "/DHAY/IQCQuality/GetGridJsonChengPing" + "?" + Math.random(),
  103. postData: { queryJson: JSON.stringify(queryJson) },
  104. mtype: "POST",
  105. height: $(window).height() - 200,
  106. width: $(window).width() - 300,
  107. cellEdit: true,
  108. cellsubmit: "clientArray",
  109. colModel: [
  110. { label: "主键", name: "ID", hidden: true, key: true },
  111. { label: 'Aql代码', name: 'RulesCode', width: 100, align: 'left' },
  112. { label: 'Aql名称', name: 'RulesName', width: 100, align: 'left' },
  113. //{ label: 'Aql描述', name: 'RulesDesc', width: 100, align: 'left' },
  114. //{ label: '类别', name: 'Type', width: 100, align: 'left' },
  115. { label: '最后操作时间', name: 'MTIME', width: 100, align: 'left' },
  116. { label: '维护人', name: 'MUSERName', width: 100, align: 'left' },
  117. { label: '是否启用', name: 'EnableText', width: 100, align: 'left' },
  118. ],
  119. shrinkToFit: true,//宽度自适应
  120. width: "100%",
  121. autowidth: true,
  122. gridComplete: function () {
  123. //if (!that.isCanEditDate) {
  124. // var obj_Item1 = $("#gridList");
  125. // var rowIds_Item1 = obj_Item1.getDataIDs();
  126. // for (var i = 0; i < rowIds_Item1.length; i++) {
  127. // $("#gridList").jqGrid('setCell', rowIds_Item1[i], "PlanStartDate", '', 'not-editable-cell');
  128. // $("#gridList").jqGrid('setCell', rowIds_Item1[i], "PlanEndDate", '', 'not-editable-cell');
  129. // $("#gridList").jqGrid('setCell', rowIds_Item1[i], "ApsOrderDate", '', 'not-editable-cell');
  130. // }
  131. //}
  132. },
  133. pager: "#gridPager",
  134. sortname: 'MTIME',
  135. sortorder: "desc",
  136. viewrecords: true,
  137. multiselect: true,
  138. subGrid: true, // (1)开启子表格支持
  139. subGridRowExpanded: function (subgrid_id, rowid) { // (2)子表格容器的id和需要展开子表格的行id,将传入此事件函数
  140. // console.log(subgrid_id, rowid);
  141. //
  142. $("#gridList").jqGrid("setSelection", rowid, false);
  143. that.bindSubGrid3(subgrid_id, rowid);
  144. }
  145. });
  146. },
  147. query: function () {
  148. //console.log("点击查询");
  149. var queryJson = {
  150. RulesCode: $("#txt_RulesCode").val(),
  151. RulesName: $("#txt_RulesName").val(),
  152. Enable: $("#txt_Enable").val(),
  153. }
  154. // that.loadGrid(queryJson);
  155. $("#gridList").jqGrid('setGridParam', {
  156. postData: { queryJson: JSON.stringify(queryJson) },
  157. }).trigger('reloadGrid');
  158. },
  159. bindSubGrid3: function (subgrid_id, rowid) {
  160. //
  161. $("#gridList").jqGrid("setSelection", rowid, false);
  162. var subgrid_table_id;
  163. subgrid_table_id = subgrid_id + "_t"; // (3)根据subgrid_id定义对应的子表格的table的id
  164. var subgrid_pager_id;
  165. subgrid_pager_id = subgrid_id + "_pgr" // (4)根据subgrid_id定义对应的子表格的pager的id
  166. $("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table><div id='" + subgrid_pager_id + "' class='scroll'></div>");
  167. var MOCode = $("#gridList").jqGrid('getRowData', rowid).ID;
  168. // var MoSeq = $("#gridList").jqGrid('getRowData', rowid).MoSeq;
  169. // (6)创建jqGrid对象
  170. $("#" + subgrid_table_id).dataGrid({
  171. cellEdit: true,
  172. mtype: "GET",
  173. url: "/DHAY/IQCQuality/GetAqlSubGridJsonList?id=" + MOCode + "&" + Math.random(), // (7)子表格数据对应的url,注意传入的contact.id参数
  174. colModel: [
  175. { label: "主键", name: "ID", hidden: true, key: true },
  176. { label: '批量下限', name: 'SetValueMin', width: 150, align: 'left' },
  177. { label: '批量上限', name: 'SetValueMax', width: 150, align: 'left' },
  178. { label: '取样数量', name: 'SampleQuantity', width: 150, align: 'left' },
  179. { label: '允许不良数', name: 'EATTRIBUTE1', width: 150, align: 'left' },
  180. { label: '类别', name: 'Type', width: 100, align: 'left' },
  181. { label: '类别', name: 'EATTRIBUTE2', width: 150, align: 'left', hidden: true },
  182. //{ label: '允许不良数(次要)', name: 'EATTRIBUTE3', width: 150, align: 'left' },
  183. { label: '维护人', name: 'MUSERName', width: 100, align: 'left' },
  184. { label: '维护时间', name: 'MTIME', width: 100, align: 'left' },
  185. ],
  186. //colModel: ColModelSub,
  187. shrinkToFit: true,//宽度自适应
  188. multiselect: true,
  189. prmNames: { search: "search" },
  190. viewrecords: true,
  191. height: "100%",
  192. //rowNum: 20,
  193. //pager: subgrid_pager_id,
  194. });
  195. },
  196. loadEvent: function () {
  197. var that = this;
  198. $("#btn_search").click(function () {
  199. that.query();
  200. });
  201. $("#NF-Add").click(function () {
  202. // debugger;
  203. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  204. $.modalOpen({
  205. id: "Form",
  206. title: "新增Aql",
  207. url: "/DHAY/IQCQuality/AqlEdit?ids=",
  208. width: "1200px",
  209. height: "800px",
  210. callBack: function (iframeId) {
  211. top.frames[iframeId].submitForm();
  212. }
  213. });
  214. });
  215. $("#NF-Print").click(function () {
  216. console.log("打印条码");
  217. // debugger;
  218. var objArr = '';
  219. var arr = [];
  220. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  221. for (var i = 0; i < objList.length; i++) {
  222. var rowId = objList[i];
  223. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  224. objArr += "'" + rowData.CheckFixtureNo + "',";
  225. }
  226. objArr = objArr.slice(0, objArr.length - 1);
  227. if (objArr == "") {
  228. $.modalAlertNew("WMS00003");
  229. return;
  230. }
  231. objArr = "" + objArr + "|";
  232. arr.push(objArr);
  233. $.modalOpen({
  234. id: "PrintLot",
  235. title: "打印",
  236. url: "/DHAY/Print/PrintView?Arguments=" + encodeURI(encodeURI(arr)) + "&mold=JY0001&" + Math.random(),
  237. width: "550px",
  238. height: "1000px",
  239. callBack: function (iframeId) {
  240. top.frames[iframeId].submitForm();
  241. }
  242. });
  243. });
  244. $("#NF-Edit").click(function () {
  245. var ids = $("#gridList").jqGrid('getGridParam', 'selarrrow'); //获取 多行数据
  246. if (ids.length != 1) {
  247. $.modalMsg("请选择一条数据", "warning");
  248. return;
  249. }
  250. let obj = {
  251. ids: ids[0],
  252. };
  253. //debugger;
  254. //if (!obj.orderDate) {
  255. // obj.orderDate = new Date().toLocaleDateString();
  256. //}
  257. // consol.log();
  258. $.modalOpen({
  259. id: "Form",
  260. title: "编辑Aql",
  261. url: "/DHAY/IQCQuality/AqlEdit?ids=" + ids[0]+"",
  262. width: "1200px",
  263. height: "800px",
  264. callBack: function (iframeId) {
  265. top.frames[iframeId].submitForm();
  266. }
  267. });
  268. });
  269. $("#txt_SSName").change(function (event,handle) {
  270. //console.log( $("#txt_SSName").val());
  271. // console.log(val);
  272. // console.log("值改变了");
  273. let val = $("#txt_SSName").val();
  274. if (!val) {
  275. $("#NF-PrintLabel").attr("disabled", "disabled");
  276. }
  277. else {
  278. $("#NF-PrintLabel").removeAttr("disabled");
  279. }
  280. });
  281. $("#NF-Remove").click(function () {
  282. var ids = $("#gridList").jqGrid('getGridParam', 'selarrrow'); //获取 多行数据
  283. if (ids.length < 1) {
  284. $.modalMsg("请选择数据", "warning");
  285. return;
  286. }
  287. let keyList = [];
  288. for (var i = 0; i < ids.length; i++) {
  289. keyList.push(ids[i]);
  290. }
  291. //let obj = {
  292. // ids: ids[0],
  293. //};
  294. $.ajax({
  295. url: "/DHAY/IQCQuality/DeleteAql",
  296. type: "POST",
  297. dataType: "json",
  298. async: false,
  299. data: {
  300. keyValue: JSON.stringify(keyList)
  301. },
  302. success: function (data) {
  303. //
  304. // console.log(data);
  305. if (data.state == "success") {
  306. $.modalMsg("操作成功", "success");
  307. that.query();
  308. }
  309. else
  310. $.modalMsg(data.message, "warning");
  311. }
  312. });
  313. });
  314. $("#NF-ExportAll").click(function () {
  315. let queryJson = {
  316. RulesCode: $("#txt_RulesCode").val(),
  317. RulesName: $("#txt_RulesName").val(),
  318. Enable: $("#txt_Enable").val(),
  319. };
  320. var postData = "&id=" + queryJson.RulesCode + "";
  321. postData += "&CheckFixtureName=" + queryJson.RulesName;
  322. postData += "&Status=" + queryJson.Enable;
  323. $.download("/DHAY/IQCQuality/ExportAllAqlList" + "?" + Math.random(), postData, 'post');
  324. });
  325. $("#FileUp").on("change", function (up) {
  326. // let that = this;
  327. var form = new FormData(document.getElementById("form1"));
  328. $.ajax({
  329. url: "/DHAY/IQCQuality/UploadFileInspectionAQL?" + Math.random(),
  330. type: "post",
  331. data: form,
  332. contentType: false,
  333. processData: false,
  334. success: function (data) {
  335. if (data == "true" || data == true) {
  336. $.modalMsg("导入成功", "success");
  337. that.query();
  338. }
  339. else {
  340. $.modalMsg(data, "warning");
  341. }
  342. },
  343. error: function (aa) {
  344. $.modalMsg("导入失败:" + aa, "warning");
  345. }
  346. });
  347. });
  348. }
  349. }
  350. service.Init();
  351. })
  352. </script>