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.

481 lines
21 KiB

1 month ago
  1. @{
  2. ViewBag.Title = "Index";
  3. Layout = "~/Views/Shared/_Index.cshtml";
  4. }
  5. @*<meta http-equiv="refresh" content="60">*@
  6. <link href="~/Content/js/select2/select2.min.css" rel="stylesheet" />
  7. <script src="~/Content/js/select2/select2.min.js"></script>
  8. <script src="~/Content/js/datepicker/WdatePicker.js"></script>
  9. @*<script type="text/javascript">
  10. var Time = '@System.Web.Configuration.WebConfigurationManager.ConnectionStrings["RefreshTime"].ConnectionString';
  11. //debugger;
  12. $(document).ready(function () {
  13. setInterval("gridList()", Time);
  14. });
  15. </script>*@
  16. <script>
  17. var myDate = new Date();
  18. var DateNow = formatDate("YYYY-mm-dd HH:MM:SS", myDate)
  19. function formatDate(fomatType, date) {
  20. let ret;
  21. let valueDate = date;
  22. if (!date) valueDate = new Date()
  23. let opt = {
  24. "Y+": valueDate.getFullYear().toString(), // 年
  25. "m+": (valueDate.getMonth() + 1).toString(), // 月
  26. "d+": valueDate.getDate().toString(), // 日
  27. "H+": valueDate.getHours().toString(), // 时
  28. "M+": valueDate.getMinutes().toString(), // 分
  29. "S+": valueDate.getSeconds().toString() // 秒
  30. };
  31. for (let k in opt) {
  32. ret = new RegExp("(" + k + ")").exec(fomatType);
  33. if (ret) {
  34. fomatType = fomatType.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
  35. };
  36. };
  37. return fomatType;
  38. }
  39. $(function () {
  40. var BidStatus = $("#BidStatus");
  41. BidStatus.select2({
  42. allowClear: true,
  43. escapeMarkup: function (m) {
  44. return m;
  45. }
  46. });
  47. BidStatus.append("<option value=' ' selected>&nbsp;&nbsp;&nbsp;</option>");
  48. BidStatus.append("<option value='已保存'>已保存</option>");
  49. BidStatus.append("<option value='招标中'>招标中</option>");
  50. BidStatus.append("<option value='已关闭'>已关闭</option>");
  51. BidStatus.append("<option value='已决标'>已决标</option>");
  52. BidStatus.append("<option value='已结束'>已结束</option>");
  53. gridList();
  54. })
  55. function gridList() {
  56. document.getElementById("gridPanel").innerHTML = ' <table id="gridList"></table> ';//重置grid
  57. debugger;
  58. var $gridList = $("#gridList");
  59. var queryJson = {
  60. BidCode: $("#txt_BidCode").val(),
  61. BidStatus: $("#BidStatus option:checked").val(),
  62. TimeFrom: $("#txt_BeginDate").val(),
  63. TimeTo: $("#txt_EndDate").val()
  64. }
  65. $gridList.dataGrid({
  66. cellEdit: true,
  67. url: "/SRM/BicDoc_Publish/GetGridJson" + "?" + Math.random(),
  68. postData: { queryJson: JSON.stringify(queryJson) },
  69. height: $(window).height() - 200,
  70. width: $(window).width() - 300,
  71. colModel: [
  72. { label: "主键", name: "ID", hidden: true, key: true },
  73. {
  74. label: '操作', width: 120, align: 'center',
  75. formatter: btnModify
  76. },
  77. { label: '招标编号', name: 'BidCode', width: 120, align: 'left' },
  78. { label: '标案名称', name: 'BidName', width: 150, align: 'left' },
  79. { label: '招标负责人', name: 'UserName', width: 100, align: 'left' },
  80. { label: '投标开始时间', name: 'StarTime', width: 150, align: 'left' },
  81. { label: '投标截止时间', name: 'EndTime', width: 150, align: 'left' },
  82. { label: "BidStatus", name: "BidStatus", width: 60, align: "left",hidden:true },
  83. {
  84. label: "招标状态", name: "BidStatuss", width: 80, align: "left",
  85. formatter: function (cellvalue, options, rowObject) {
  86. debugger;
  87. var html = "";
  88. if (rowObject.BidStatuss == "已保存") {
  89. html += '<span class=\'label label-default\'>已保存</span>';
  90. } else if (rowObject.BidStatuss == "招标中") {
  91. html += '<span class=\'label label-info\'>招标中</span>';
  92. } else if (rowObject.BidStatuss == "已关闭") {
  93. html += '<span class=\'label label-danger\'>已关闭</span>';
  94. } else if (rowObject.BidStatuss == "已决标") {
  95. html += '<span class=\'label label-success\'>已决标</span>';
  96. } else if (rowObject.BidStatuss == "已结束") {
  97. html += '<span class=\'label label-warning\'>已结束</span>';
  98. }
  99. //else if (rowObject.BidStatuss == "OA审核中") {
  100. // html += '<span class=\'label label-warning\'>OA审核中</span>';
  101. //} else if (rowObject.BidStatuss == "OA审核通过") {
  102. // html += '<span class=\'label label-success\'>OA审核通过</span>';
  103. //}
  104. return cellvalue = html;
  105. }
  106. },
  107. { label: "招标备注", name: "Remark", width: 60, align: 'left' },
  108. { label: '开标人', name: 'UserName1', width: 90, align: 'left' },
  109. { label: '开标日期', name: 'OpenTime', width: 150, align: 'left' },
  110. { label: '站点', name: 'WorkPoint', width: 50, align: 'left' },
  111. { label: 'MTIME', name: 'MTIME', hidden: true },
  112. { label: 'BidTime', name: 'BidTime', hidden: true },
  113. ],
  114. gridComplete: function () {
  115. },
  116. pager: "#gridPager",
  117. sortorder: "desc",
  118. sortname: 'StarTime ',
  119. viewrecords: true,
  120. multiselect: true,
  121. rowNum: 200,
  122. subGrid: false, // (1)开启子表格支持
  123. subGridRowExpanded: function (subgrid_id, rowid) { // (2)子表格容器的id和需要展开子表格的行id,将传入此事件函数
  124. $("#gridList").jqGrid("setSelection", rowid, false);
  125. bindSubGrid(subgrid_id, rowid)
  126. }
  127. });
  128. $("#warehouse a.btn-default").click(function () {
  129. $("#warehouse a.btn-default").removeClass("active");
  130. $(this).addClass("active");
  131. $('#btn_search').trigger("click");
  132. });
  133. $("#btn_search").click(function () {
  134. var warehouse = $("#warehouse a.active").attr('data-value');
  135. var queryJson = {
  136. BidCode: $("#txt_BidCode").val(),
  137. BidStatus: $("#BidStatus option:checked").val(),
  138. BidStatus: $("#BidStatus option:checked").val(),
  139. TimeFrom: $("#txt_BeginDate").val(),
  140. TimeTo: $("#txt_EndDate").val()
  141. }
  142. $gridList.jqGrid('setGridParam', {
  143. postData: { queryJson: JSON.stringify(queryJson) },
  144. page: 1
  145. }).trigger('reloadGrid');
  146. });
  147. }
  148. //function btnDetail(cellvalue, options, rowObject) {
  149. //}
  150. function btnModify(cellvalue, options, rowObject) {
  151. debugger;
  152. return cellvalue = "<a class=\"btn btn-warning dropdown-text\" onclick=\"btnUpdate('" + rowObject.ID + "','" + rowObject.BidStatus + "','" + rowObject.WorkPoint + "','" + rowObject.UserName + "')\">修改</a> <a class=\"btn btn-info dropdown-text\" onclick=\"btnDetails('" + rowObject.ID + "','" + rowObject.BidStatus + "','" + rowObject.WorkPoint + "')\">明细</a>";
  153. //return cellvalue = "<a href='../../File/ASNFile/01_BB6C28F6CECD4637A56CB0E5EAEA73BB_P.pdf' download class=\"btn btn-primary dropdown-text\">图纸下载</a>";
  154. }
  155. function bindSubGrid(subgrid_id, rowid) {
  156. debugger;
  157. $("#gridList").jqGrid("setSelection", rowid, false);
  158. var subgrid_table_id;
  159. subgrid_table_id = subgrid_id + "_t"; // (3)根据subgrid_id定义对应的子表格的table的id
  160. var subgrid_pager_id;
  161. subgrid_pager_id = subgrid_id + "_pgr" // (4)根据subgrid_id定义对应的子表格的pager的id
  162. // (5)动态添加子报表的table和pager
  163. $("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table><div id='" + subgrid_pager_id + "' class='scroll'></div>");
  164. var STNO = $("#gridList").jqGrid('getRowData', rowid).BidCode;
  165. var WorkPoint = $("#gridList").jqGrid('getRowData', rowid).WorkPoint;
  166. // (6)创建jqGrid对象
  167. $("#" + subgrid_table_id).dataGrid({
  168. url: "/SRM/BicDoc_Publish/GetSubGridJsonBid?STNO=" + STNO + "&" + Math.random() + "&WorkPoint=" + WorkPoint, // (7)子表格数据对应的url,注意传入的contact.id参数
  169. colModel: [
  170. { label: "主键", name: "ID", hidden: true, key: true },
  171. { label: '存货编码', name: 'INVCODE', width: 150, align: 'left' },
  172. { label: "存货名称", name: "INVNAME", width: 150, align: 'left' },
  173. { label: "规格型号", name: "INVStd", width: 100, align: 'left' },
  174. { label: '供应商代码', name: 'cVenCode', width: 150, align: 'left' },
  175. { label: '供应商名称', name: 'cVenName', width: 150, align: 'left' },
  176. ],
  177. //colModel: ColModelSub,
  178. shrinkToFit: true,//宽度自适应
  179. multiselect: true,
  180. prmNames: { search: "search" },
  181. viewrecords: true,
  182. height: "100%",
  183. rowNum: 20,
  184. pager: subgrid_pager_id,
  185. });
  186. }
  187. //删除
  188. function btnDelete() {
  189. debugger;
  190. var objArr = '';
  191. var WorkPoint = '';
  192. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  193. for (var i = 0; i < objList.length; i++) {
  194. var rowId = objList[i];
  195. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  196. if (rowData.BidStatus != "已保存" && rowData.BidStatus != "已关闭") {
  197. $.modalAlert("招标中或已决标的招标书不可删除!");
  198. return;
  199. }
  200. objArr += "'" + rowData.BidCode + "',";
  201. WorkPoint = rowData.WorkPoint;
  202. }
  203. if (objArr == '') {
  204. $.modalAlert("请选择需要删除的招标书!");
  205. return;
  206. }
  207. $.deleteForm({
  208. url: "/SRM/BicDoc_Publish/DeleteBidDoc" + "?" + Math.random(),
  209. param: { keyValue: JSON.stringify(objArr), WorkPoint: JSON.stringify(WorkPoint) },
  210. success: function () {
  211. $.currentWindow().$("#gridList").trigger("reloadGrid");
  212. }
  213. })
  214. }
  215. //修改
  216. function btnUpdate(ID, BidStatus, WorkPoint,UserName) {
  217. debugger;
  218. if (ID == "" || ID == "undefined") {
  219. $.modalAlert("请选择招标书!");
  220. return;
  221. }
  222. if (BidStatus == "已决标" || BidStatus == "招标中" || BidStatus == "已关闭") {
  223. $.modalAlert("招标中/已决标/已关闭的招标书不能修改!");
  224. return;
  225. }
  226. $.modalOpen2({
  227. id: "BicDoc_PublishEdit",
  228. title: "修改",
  229. url: "/SRM/BicDoc_Publish/ICSBicDocAdd_PubLish?ID=" + ID + "&" + Math.random() + "&WorkPoint=" + WorkPoint + "&UserName=" + encodeURI(encodeURI(UserName)),
  230. width: "95%",
  231. height: "95%",
  232. callBack: function (iframeId) {
  233. top.frames[iframeId].submitForm();
  234. }
  235. });
  236. }
  237. //明细
  238. function btnDetails(ID, BidStatus, WorkPoint) {
  239. debugger;
  240. $.modalOpenClean({
  241. id: "BicDocDetail_PubLish",
  242. title: "明细",
  243. url: "/SRM/BicDoc_Publish/ICSBicDocDetail_PubLish?ID=" + ID + "&" + Math.random() + "&WorkPoint=" + WorkPoint,
  244. width: "95%",
  245. height: "95%",
  246. callBack: function (iframeId) {
  247. //top.frames[iframeId].submitForm();
  248. }
  249. });
  250. }
  251. //新增
  252. function btnCreate() {
  253. $.modalOpen2({
  254. id: "BicDoc_PublishAdd",
  255. title: "新增",
  256. url: "/PNSRM/BicDoc_Publish/ICSBicDocAdd_PubLish" + "?" + Math.random(),
  257. width: "95%",
  258. height: "95%",
  259. callBack: function (iframeId) {
  260. top.frames[iframeId].submitForm();
  261. }
  262. });
  263. }
  264. //开标
  265. function btnSubCA() {
  266. var objArr = '';
  267. var BidCode = '';
  268. var WorkPoint = '';
  269. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  270. for (var i = 0; i < objList.length; i++) {
  271. var rowId = objList[i];
  272. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  273. if (rowData.BidStatus == "已决标") {
  274. $.modalAlert("招标书已决标!", "warning");
  275. return;
  276. } else if (rowData.BidStatus == "已关闭") {
  277. $.modalAlert("已关闭状态无法开标!", "warning");
  278. return;
  279. } else if (rowData.BidStatus == "招标中") {
  280. $.modalAlert("请勿重复开标!", "warning");
  281. return;
  282. //} else if (rowData.BidStatus == "已保存") {
  283. // $.modalAlert("OA审核通过才可发起招标!", "warning");
  284. // return;
  285. } else {
  286. objArr += "'" + rowData.ID + "',";
  287. BidCode += "'" + rowData.BidCode + "',";
  288. WorkPoint = rowData.WorkPoint;
  289. }
  290. }
  291. if (objArr == '') {
  292. $.modalAlert("请选择要开标的招标书!", "warning");
  293. return;
  294. }
  295. //if (rowData.BidStatus == "OA审核通过") {
  296. $.modalConfirm("确定开标选择的招标书吗?", function (r) {
  297. if (r) {
  298. $.submitForm({
  299. url: "/SRM/BicDoc_Publish/UpDateByDocNo" + "?" + Math.random(),
  300. param: { ID: JSON.stringify(objArr), BidCode: JSON.stringify(BidCode), WorkPoint: JSON.stringify(WorkPoint) },
  301. success: function () {
  302. $.currentWindow().$("#gridList").trigger("reloadGrid");
  303. }
  304. })
  305. }
  306. });
  307. //}
  308. }
  309. //关闭
  310. function btnCanSubCA() {
  311. var objArr = '';
  312. var BidCode = '';
  313. var WorkPoint = '';
  314. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  315. for (var i = 0; i < objList.length; i++) {
  316. var rowId = objList[i];
  317. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  318. if (rowData.BidStatus == "已决标") {
  319. $.modalAlert("招标书已决标!");
  320. return;
  321. } else if (rowData.BidStatus == "已关闭") {
  322. $.modalAlert("请勿重复关闭!");
  323. return;
  324. } else {
  325. objArr += "'" + rowData.ID + "',";
  326. BidCode += "'" + rowData.BidCode + "',";
  327. WorkPoint = rowData.WorkPoint;
  328. }
  329. }
  330. if (objArr == '') {
  331. $.modalAlert("请选择要关闭的招标书!");
  332. return;
  333. }
  334. $.modalConfirm("确定关闭选择的招标书吗?", function (r) {
  335. if (r) {
  336. $.submitForm({
  337. url: "/SRM/BicDoc_Publish/CloseBidding" + "?" + Math.random(),
  338. param: { ID: JSON.stringify(objArr), BidCode: JSON.stringify(BidCode), WorkPoint: JSON.stringify(WorkPoint) },
  339. success: function () {
  340. $.currentWindow().$("#gridList").trigger("reloadGrid");
  341. }
  342. })
  343. }
  344. });
  345. }
  346. //抛OA
  347. function btnSubmitOA() {
  348. var objArr = '';
  349. var BidCode = '';
  350. var WorkPoint = '';
  351. var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
  352. for (var i = 0; i < objList.length; i++) {
  353. var rowId = objList[i];
  354. var rowData = $("#gridList").jqGrid('getRowData', rowId);
  355. if (rowData.BidStatus != "已保存") {
  356. $.modalAlert("该状态不可发起OA审核!", "warning");
  357. return;
  358. }
  359. //else if (rowData.BidStatus == "已关闭") {
  360. // $.modalAlert("请勿重复关闭!", "warning");
  361. // return;
  362. //} else if (rowData.BidStatus == "OA审核中") {
  363. // $.modalAlert("招标书审核中!", "warning");
  364. // return;
  365. //}
  366. else {
  367. objArr += "'" + rowData.ID + "',";
  368. BidCode = "" + rowData.BidCode + "";
  369. WorkPoint = rowData.WorkPoint;
  370. }
  371. }
  372. if (objArr == '') {
  373. $.modalAlert("请选择OA审核的标书!", "warning");
  374. return;
  375. }
  376. $.ajax({
  377. url: "/SRM/BicDoc_Publish/SubmitOARejict?BidCode=" + BidCode + "&" + Math.random() + "&WorkPoint=" + WorkPoint,
  378. dataType: "json",
  379. type: "post",
  380. async: false,
  381. success: function (data) {
  382. debugger;
  383. if (data.msg!="") {
  384. $.modalAlert(""+data.msg+"!");
  385. return;
  386. } else {
  387. $.currentWindow().$("#gridList").trigger("reloadGrid");
  388. $.modalAlert("推送成功!", "success");
  389. return;
  390. }
  391. }
  392. });
  393. }
  394. </script>
  395. <iframe id="ifrm" src="" width="0" height="0"></iframe>
  396. <div class="topPanel" style="height:65px">
  397. <div class="toolbar">
  398. <div class="btn-group">
  399. <a id="NF-CreateCA" authorize="yes" style="margin-left:3px;" class="btn btn-info" onclick="btnCreate()"><i class="fa fa-pencil-square-o"></i>新增</a>
  400. @*<a id="NF-SubmitOA" authorize="yes" style="margin-left:3px;" class="btn btn-success" onclick="btnSubmitOA()"><i class="fa fa-pencil-square-o"></i>OA审核</a>*@
  401. <a id="NF-SubCA" authorize="yes" style="margin-left:3px;" class="btn btn-success" onclick="btnSubCA()"><i class="fa fa-pencil-square-o"></i>招标</a>
  402. <a id="NF-CanSubCA" authorize="yes" style="margin-left:3px;" class="btn btn-warning" onclick="btnCanSubCA()"><i class="fa fa-pencil-square-o"></i>关闭</a>
  403. <a id="NF-DeleteCA" authorize="yes" style="margin-left:3px;" class="btn btn-danger" onclick="btnDelete()"><i class="fa fa-pencil-square-o"></i>删除</a>
  404. @*<a id="NF-UpdateCA" authorize="yes" style="margin-left:3px;" class="btn btn-warning" onclick="btnUpdate()"><i class="fa fa-pencil-square-o"></i>修改</a>*@
  405. @*<a id="NF-Details" authorize="yes" style="margin-left:3px;" class="btn btn-info" onclick="btnDetails()"><i class="fa fa-pencil-square-o"></i>明细</a>*@
  406. <a class="btn btn-info" style="margin-left:3px;" onclick="$.reload()"><span class="glyphicon glyphicon-refresh"></span></a>
  407. </div>
  408. </div>
  409. <div class="search">
  410. <table>
  411. <tr>
  412. <td>
  413. <label>招标编号:</label>
  414. </td>
  415. <td>
  416. <div class="input-group">
  417. <input id="txt_BidCode" type="text" class="form-control" placeholder="招标编号" style="width: 120px;">
  418. </div>
  419. </td>
  420. <td>
  421. <label>&nbsp;&nbsp;&nbsp;招标日期(从):</label>
  422. </td>
  423. <td>
  424. <div class="input-group">
  425. <input type="text" name="txt_BeginDate" id="txt_BeginDate" class="form-control" style="width: 100px;" maxlength="10" onclick="WdatePicker({ dateFmt: 'yyyy-MM-dd' })" placeholder="招标日期(从)" />
  426. </div>
  427. </td>
  428. <td>
  429. <label>&nbsp;&nbsp;&nbsp;招标日期(到):</label>
  430. </td>
  431. <td>
  432. <div class="input-group">
  433. <input type="text" name="txt_EndDate" id="txt_EndDate" class="form-control" style="width: 100px;" maxlength="10" onclick="WdatePicker({ dateFmt: 'yyyy-MM-dd', minDate: txt_BeginDate.value })" placeholder="招标日期(到)" />
  434. </div>
  435. </td>
  436. <td>
  437. <label>&nbsp;&nbsp;&nbsp;招标状态:</label>
  438. </td>
  439. <td style="width:150px">
  440. <select id="BidStatus" name="BidStatus" class="form-control select2" placeholder="请选择招标状态" style="width:150px"></select>
  441. @*<input id="txt_BidStatus" type="text" class="form-control" placeholder="供应商编码" style="width: 120px;">*@
  442. </td>
  443. <td>
  444. <span class="input-group-btn">
  445. <button id="btn_search" type="button" class="btn btn-primary"><i class="fa fa-search"></i></button>
  446. </span>
  447. </td>
  448. <td style="padding-left: 10px;"></td>
  449. </tr>
  450. </table>
  451. </div>
  452. </div>
  453. <div class="gridPanel" id="gridPanel">
  454. <table id="gridList"></table>
  455. <div id="gridPager"></div>
  456. </div>