GoodsRecallLogQry.cshtml 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474
  1. 
  2. @{
  3. Layout = null;
  4. }
  5. <!DOCTYPE html>
  6. <html>
  7. <head>
  8. <meta name="viewport" content="width=device-width" />
  9. <title>GoodsRecallLogQry</title>
  10. <link href="~/easyui/themes/default/easyui.css" rel="stylesheet" />
  11. <link rel="stylesheet" type="text/css" href="~/easyui/themes/icon.css" />
  12. <link href="~/Content/css/bootstrap.min.css" rel="stylesheet" />
  13. <link href="~/Content/js/plugins/layer/skin/layer.css" rel="stylesheet" />
  14. <script src="~/Content/js/jquery.min.js"></script>
  15. <script src="~/Content/js/bootstrap.min.js"></script>
  16. <script src="~/easyui/jquery.easyui.min.js"></script>
  17. <script src="~/easyui/jquery.easyui.mobile.js"></script>
  18. <script src="~/easyui/locale/easyui-lang-zh_CN.js"></script>
  19. <script src="~/Content/js/plugins/layer/laydate/laydate.js"></script>
  20. <script src="~/Content/js/plugins/layer/layer.min.js"></script>
  21. <script src="~/js/Utils.js"></script>
  22. <link href="~/Content/css/Style/Markets.css" rel="stylesheet" />
  23. <script src="~/Content/js/js/MarketJs.js"></script>
  24. </head>
  25. <body>
  26. <section class="hidden">
  27. <input id="hid_Type" name="hid_Type" type="hidden" value="0" />
  28. </section>
  29. <section style="height:95vh; padding: 10px 20px;">
  30. <div class="row tbToolBar" id="tbToolBar">
  31. <div class="toolbar">
  32. <a href="#" class="easyui-linkbutton" iconCls="icon-application_view_detail" plain="true" onclick="btn_Detail();">查看详情</a>
  33. </div>
  34. <div class="toolbar-search">
  35. <div id="Search" class="easyui-panel" title="请展开面板输入查询条件" style="width: 300px; height: 330px; padding: 10px;"
  36. data-options="iconCls:'icon-heart',collapsible:true,minimizable:false,maximizable:false,closable:false,collapsed:true,tools:[
  37. {
  38. iconCls:'icon-search',
  39. handler:function(){LoadTable(true)}
  40. }]">
  41. <table>
  42. <tr>
  43. <td><label for="SearchRegionID">辖区工商</label></td>
  44. <td>
  45. <select class="easyui-combobox" type="text" id="SearchRegionID" name="SearchRegionID" style="height: 25px; width: 150px" data-options="onSelect:function(){GetMarketSelStr()}">
  46. <option value="">全部</option>
  47. @Html.Raw(ViewBag.SelRegionInfo)
  48. </select>
  49. </td>
  50. </tr>
  51. <tr>
  52. <td><label for="SearchMarketID">隶属市场</label></td>
  53. <td>
  54. <select class="easyui-combobox" type="text" id="SearchMarketID" name="SearchMarketID" style="height: 25px; width: 150px" data-options="">
  55. @*@Html.Raw(ViewBag.SelMarketInfo)*@
  56. </select>
  57. </td>
  58. </tr>
  59. <tr>
  60. <td><label for="SearchGoodsName">商品名称</label></td>
  61. <td>
  62. <input class="easyui-textbox" type="text" id="SearchGoodsName" name="SearchGoodsName" style="height: 25px; width: 150px" data-options="" />
  63. @*<select class="easyui-combobox" type="text" id="SearchMajorGoodsTypeID" name="SearchMajorGoodsTypeID" style="height: 25px; width: 150px" data-options="">
  64. <option value="">全部</option>
  65. @Html.Raw(ViewBag.SelMajorGoodsTypeInfo)
  66. </select>*@
  67. </td>
  68. </tr>
  69. <tr>
  70. <td><label for="SearchMarketSellerID">经销单位</label></td>
  71. <td>
  72. <select class="easyui-combobox" type="text" id="SearchMarketSellerID" name="SearchMarketSellerID" style="height: 25px; width: 150px" data-options="icons:[{
  73. iconCls:'icon-search_zoom',handler:function(){SearchModal()}
  74. }]">
  75. <option value="">全部</option>
  76. @Html.Raw(ViewBag.SelMarketSellersInfo)
  77. </select>
  78. </td>
  79. </tr>
  80. <tr>
  81. <td><label for="SearchStartTime">开始时间</label></td>
  82. <td><input class="easyui-textbox" type="text" id="SearchStartTime" name="SearchStartTime" style="height: 25px; width: 150px" data-options="" /></td>
  83. </tr>
  84. <tr>
  85. <td><label for="SearchEndTime">结束时间</label></td>
  86. <td><input class="easyui-textbox " type="text" id="SearchEndTime" name="SearchEndTime" style="height: 25px; width: 150px" data-options="" /></td>
  87. </tr>
  88. <tr>
  89. <td colspan="2" style="text-align: center; width: 100%">
  90. <a href="#" class="easyui-linkbutton" iconCls="icon-search" style="width: 100%; height: 25px" onclick="LoadTable(true);">查询</a>
  91. </td>
  92. </tr>
  93. </table>
  94. </div>
  95. </div>
  96. </div>
  97. <table id="dgTable" class="easyui-datagrid" style="height: 100%;"
  98. data-options="singleSelect: true,
  99. method: 'post',
  100. multiSort: false,
  101. toolbar: '#tbToolBar',
  102. fitColumns: true,
  103. @*rownumbers: true,*@
  104. remoteSort: false,
  105. @*loadFilter: pagerFilter,*@
  106. onDblClickRow: function () {
  107. btn_Detail();
  108. },
  109. pagination: true,
  110. pageSize: 50,
  111. pageList: [20, 50, 100]
  112. ">
  113. <thead>
  114. <tr>
  115. <th data-options="field:'SellerName',width:150">经销单位</th>
  116. <th data-options="field:'GoodsName',width:150">商品名称</th>
  117. <th data-options="field:'SaleCount',width:50">退市数量</th>
  118. <th data-options="field:'UnitID',width:30">数量单位</th>
  119. <th data-options="field:'SaleTime',width:80">退市时间</th>
  120. <th data-options="field:'Supplier',width:150">商品来源</th>
  121. <th data-options="field:'Result',width:150">处理结果</th>
  122. <th data-options="field:'Executor',width:150">执行人</th>
  123. </tr>
  124. </thead>
  125. </table>
  126. </section>
  127. <section>
  128. <div id="winModal" class="easyui-window winModal" title="重要商品来源详情" style="width: 800px;padding:10px;"
  129. iconCls="icon-save" data-options="modal:true,closed:true">
  130. <div class="easyui-layout" data-options="fit:true" style="height:99%">
  131. <div data-options="region:'center'" style="padding: 15px 25px 0;">
  132. <form id="form">
  133. @Html.Hidden("ID")
  134. <div class="panle-half">
  135. <div class="input-group">
  136. <label class="input-group-addon control-label" for="GoodsName">商品名称</label>
  137. <input class="form-control input-group-addon" aria-disabled="true" name="GoodsName" id="GoodsName" type="text" value="" placeholder="" />
  138. </div>
  139. <div class="input-group">
  140. <label class="input-group-addon control-label" for="ProduceBatch" style="font-size:12px;">生产日期(批号)</label>
  141. <input class="form-control input-group-addon" aria-disabled="true" name="ProduceBatch" id="ProduceBatch" type="text" value="" placeholder="" />
  142. </div>
  143. <div class="input-group">
  144. <label class="input-group-addon control-label" for="SaleTime">退市日期</label>
  145. <input class="form-control input-group-addon" aria-disabled="true" name="SaleTime" id="SaleTime" type="text" value="" placeholder="" />
  146. </div>
  147. <div class="input-group">
  148. <label class="input-group-addon control-label" for="TradeMark">产品商标</label>
  149. <input class="form-control input-group-addon" aria-disabled="true" name="TradeMark" id="TradeMark" type="text" value="" placeholder="" />
  150. </div>
  151. </div>
  152. <div class="panle-half">
  153. <div class="input-group">
  154. <label class="input-group-addon control-label" for="SellerName">经销单位</label>
  155. <input class="form-control input-group-addon" aria-disabled="true" name="SellerName" id="SellerName" type="text" value="" placeholder=""/>
  156. </div>
  157. <div class="input-group">
  158. <label class="input-group-addon control-label" for="Supplier">商品来源</label>
  159. <input class="form-control input-group-addon" aria-disabled="true" name="Supplier" id="Supplier" type="text" value="" placeholder="" />
  160. </div>
  161. <div class="input-group">
  162. <label class="input-group-addon control-label" for="SaleCount">退市数量</label>
  163. <input class="form-control input-group-addon" aria-disabled="true" name="SaleCount" id="SaleCount" type="text" value="" placeholder="" />
  164. </div>
  165. <div class="input-group">
  166. <label class="input-group-addon control-label" for="Executor">负责人签字</label>
  167. <input class="form-control input-group-addon" aria-disabled="true" name="Executor" id="Executor" type="text" value="" placeholder="" />
  168. </div>
  169. </div>
  170. <div class="panle-fluid">
  171. <div class="input-group">
  172. <label class="input-group-addon control-label" for="FileTitle">附件下载</label>
  173. <input class="form-control input-group-addon" aria-disabled="true" name="FileTitle" id="FileTitle" type="text" value="" placeholder="" disabled="disabled" />
  174. <a id="FileDownload" class="input-group-addon control-label" href="#" data-src="" onclick="FileDownload('#FileDownload')" download="" style="cursor: pointer">点击下载</a>
  175. </div>
  176. <div class="input-group">
  177. <label class="input-group-addon control-label" for="RecallReason">不合格原因</label>
  178. <textarea class="form-control input-group-addon" rows="3" aria-disabled="true" name="RecallReason" id="RecallReason" type="text" value="" placeholder=""></textarea>
  179. </div>
  180. <div class="input-group">
  181. <label class="input-group-addon control-label" rows="3" for="Result" style="font-size:12px;">处理方式及结果</label>
  182. <textarea class="form-control input-group-addon" aria-disabled="true" name="Result" id="Result" type="text" value="" placeholder=""></textarea>
  183. </div>
  184. </div>
  185. </form>
  186. </div>
  187. <div data-options="region:'south',border:false" style="text-align:right;height:45px; padding:13px 20px 0;">
  188. @*<a class="easyui-linkbutton" id="Save" data-options="iconCls:'icon-ok'" href="javascript:void(0)" onclick="Save()" style="width:80px">确认</a>*@
  189. <a class="easyui-linkbutton" data-options="iconCls:'icon-cancel'" href="javascript:void(0)" onclick="$('#winModal').window('close');" style="width:80px">关闭</a>
  190. </div>
  191. </div>
  192. </div>
  193. <div id="winModal_Search" class="easyui-window winModal" title="搜索经营户" style="width: 750px; height: 600px;padding:10px;"
  194. iconCls="icon-save" data-options="modal:true,closed:true">
  195. <div class="easyui-layout" data-options="fit:true" style="height:99%">
  196. <div data-options="region:'center'" style="padding:15px 5px 5px;">
  197. <div class="panle-third">
  198. <div class="input-group">
  199. <label class="input-group-addon control-label" for="dg_SearchRegionID" style="min-width:70px">所属辖区</label>
  200. <select class="form-control input-group-addon" type="text" id="dg_SearchRegionID" name="dg_SearchRegionID" onchange="GetSearchMarketSelStr();">
  201. <option value="">全部</option>
  202. @Html.Raw(ViewBag.SelRegionInfo)
  203. </select>
  204. </div>
  205. </div>
  206. <div class="panle-third">
  207. <div class="input-group">
  208. <label class="input-group-addon control-label" for="dg_SearchMarketId" style="min-width:70px">所属市场</label>
  209. <select class="form-control input-group-addon" aria-disabled="true" name="dg_SearchMarketId" id="dg_SearchMarketId" type="text" value="" placeholder="选择所属市场">
  210. @*@Html.Raw(ViewBag.SelMarketInfo)*@
  211. </select>
  212. </div>
  213. </div>
  214. <div class="panle-third">
  215. <div class="input-group">
  216. <label class="input-group-addon control-label" for="dg_SearchSellerName" style="min-width:70px">经营户名</label>
  217. <input class="form-control input-group-addon" aria-disabled="true" name="dg_SearchSellerName" id="dg_SearchSellerName" type="text" value="" placeholder="" />
  218. <span class="input-group-addon control-label" onclick="DgSearchLoadTable()">搜索</span>
  219. </div>
  220. </div>
  221. <div class="panle-fluid" style="margin-top:10px;">
  222. <table id="dgTable_Search" class="easyui-datagrid" style="width:98%; height: 420px;"
  223. data-options="singleSelect: true,
  224. method: 'post',
  225. multiSort: false,
  226. @*toolbar: '#tbToolBar_Attach',*@
  227. fitColumns: true,
  228. @*rownumbers: true,*@
  229. remoteSort: false,
  230. @*loadFilter: pagerFilter,*@
  231. onDblClickRow: function () {
  232. SetSearch('#SearchMarketSellerID');
  233. },
  234. pagination: true,
  235. pageSize: 10,
  236. pageList: [10,20, 50, 100]
  237. ">
  238. <thead>
  239. </thead>
  240. </table>
  241. </div>
  242. </div>
  243. <div data-options="region:'south',border:false" style="text-align:right;height:45px; padding:13px 20px 0;">
  244. <a class="easyui-linkbutton" id="Save_SetSearch" data-options="iconCls:'icon-ok'" href="javascript:void(0)" onclick="SetSearch('#SearchMarketSellerID')" style="width:80px">确认</a>
  245. <a class="easyui-linkbutton" id="Save_Search" data-options="iconCls:'icon-search'" href="javascript:void(0)" onclick="DgSearchLoadTable()" style="width:80px">搜索</a>
  246. <a class="easyui-linkbutton" data-options="iconCls:'icon-cancel'" href="javascript:void(0)" onclick="$('#winModal_Search').window('close');" style="width:80px">取消</a>
  247. </div>
  248. </div>
  249. </div>
  250. </section>
  251. <script>
  252. //加载表格数据
  253. function LoadTable(collapsed) {
  254. collapsed = collapsed || false;
  255. var marketId = $("input.textbox-value[name='SearchMarketID']").val(),
  256. startTime = $('#SearchStartTime').val(),
  257. endTime = $('#SearchEndTime').val(),
  258. goodsName = $("input.textbox-value[name='SearchGoodsName']").val(),
  259. marketSellerId = $("input.textbox-value[name='SearchMarketSellerID']").val();
  260. if (collapsed === true) {
  261. $("#Search").panel("collapse", true);
  262. }
  263. $('#dgTable').datagrid({
  264. url: '@Url.Action("GoodsRecallLogQryResult", "GetResult")' +
  265. '?MarketID=' +
  266. escape(marketId) +
  267. '&StartTime=' +
  268. escape(startTime) +
  269. '&EndTime=' +
  270. escape(endTime) +
  271. '&GoodsName=' +
  272. escape(goodsName) +
  273. '&MarketSellerID=' +
  274. escape(marketSellerId)
  275. });
  276. }
  277. function btn_Detail()
  278. {
  279. var rows = $('#dgTable').datagrid('getSelections');
  280. if (rows.length === 1) {
  281. var row = rows[0];
  282. //GetSearchMarketSelStr();
  283. //console.log(row);
  284. GetMarketSelStr();
  285. $("#ID").val(row.ID);
  286. $("#MarketName").val(row.MarketName);
  287. $("#GoodsName").val(row.GoodsName);
  288. $("#Supplier").val(row.Supplier);
  289. $("#SellerName").val(row.SellerName);
  290. $("#SaleCount").val(row.SaleCount + " " + row.UnitID);
  291. $("#ProduceBatch").val(row.ProduceBatch);
  292. $("#TradeMark").val(row.TradeMark);
  293. $("#SaleTime").val(row.SaleTime);
  294. $("#Executor").val(row.Executor);
  295. $("#Result").val(row.Result);
  296. $("#RecallReason").val(row.RecallReason);
  297. $("#FileTitle").val(row.FileTitle);
  298. if (row.FilePath != null && row.FilePath !== "" && row.FileName != null && row.FileName !== "")
  299. $("#FileDownload").attr({
  300. "href": "../" + row.FilePath + "/" + row.FileName,
  301. "download": row.FileTitle,
  302. "onclick": "FileDownload('#FileDownload')"
  303. });
  304. else
  305. $("#FileDownload").removeAttr("href").removeAttr("onclick");
  306. $("#winModal input").attr("disabled", "disabled");
  307. $("#winModal textarea").attr("disabled", "disabled");
  308. $("#winModal").window("open");
  309. } else {
  310. layer.alert('请选择一条记录进行设置', { icon: 7, title: '提示信息' });
  311. }
  312. }
  313. //根据辖区获取市场下拉框的option
  314. function GetMarketSelStr() {
  315. $.ajax({
  316. url: "/GetResult/GetMarketSelStrResult",
  317. type: "post",
  318. dataType: "json",
  319. data: { RegionID: $("input.textbox-value[name='SearchRegionID']").val() },
  320. success: function (data) {
  321. //console.log(msg);
  322. if (CheckAajxData(data) === false) return;;
  323. var rows = data.rows;
  324. var first = "{\"MarketID\":\"";
  325. for (var i = 0; i < rows.length; i++) {
  326. first += (first === "{\"MarketID\":\"" ? "" : "@@|@@") + rows[i].MarketID;
  327. }
  328. first += "\",\"Names\":\"全部\"}";
  329. var firstJson = JSON.parse(first);
  330. rows.unshift(firstJson);
  331. console.log(rows);
  332. $('#SearchMarketID').combobox("clear").combobox({
  333. data: rows,
  334. valueField: 'MarketID',
  335. textField: 'Names',
  336. onLoadSuccess: function () {
  337. var val = $(this).combobox('getData');
  338. // ReSharper disable once MissingHasOwnPropertyInForeach
  339. for (var item in val[0]) {
  340. if (item === 'MarketID') {
  341. $(this).combobox('select', val[0][item]);
  342. }
  343. }
  344. }
  345. });
  346. }
  347. });
  348. }
  349. function GetSearchMarketSelStr() {
  350. $.ajax({
  351. url: "/GetResult/GetMarketSelStrResult",
  352. type: "post",
  353. dataType: "json",
  354. //data: { RegionID: $("input.textbox-value[name='SearchRegionID']").val() },
  355. data: { RegionID: $("#dg_SearchRegionID").val() },
  356. success: function (data) {
  357. //console.log(msg);
  358. if (CheckAajxData(data) === false) return;
  359. var rows = data.rows;
  360. var str1 = "<option value=\"";
  361. var str2 = "";
  362. for (var i = 0; i < rows.length; i++) {
  363. str1 += (str1 === "<option value=\"" ? "" : "@@|@@") + rows[i].MarketID;
  364. str2 += "<option value=\"" + rows[i].MarketID + "\">" + rows[i].Names + "</option>";
  365. }
  366. str1 += "\">全部</option>";
  367. $('#dg_SearchMarketId').empty().html(str1 + str2);
  368. }
  369. });
  370. }
  371. function SearchModal() {
  372. GetSearchMarketSelStr();
  373. console.log($("#dg_SearchMarketId").val());
  374. setTimeout(DgSearchLoadTable, 500);
  375. $('#winModal_Search').window('open');
  376. }
  377. function SetSearch(idStr) {
  378. var rows = $('#dgTable_Search').datagrid('getSelections');
  379. if (rows.length === 1) {
  380. var row = rows[0];
  381. console.log(row);
  382. //$(idStr).val(row.SellerID);
  383. $(idStr).combobox('setValue', row.SellerID);
  384. $('#winModal_Search').window('close');
  385. } else {
  386. layer.alert('请选择一条记录进行设置', { icon: 7, title: '提示信息' });
  387. }
  388. }
  389. function DgSearchLoadTable() {
  390. var marketId = $("#dg_SearchMarketId").val(),
  391. sellerName = $("#dg_SearchSellerName").val();
  392. $('#dgTable_Search').datagrid({
  393. url: '@Url.Action("SellerSearchResult", "GetResult")' + '?MarketID=' + escape(marketId) + '&MarketSellerName=' + escape(sellerName),
  394. columns: [[
  395. { field: 'MarketSellerName', title: '经营户名', width: 150, align: 'center' },
  396. { field: 'IdCard', title: '身份证', width: 180, align: 'center' },
  397. { field: 'EnterMarketDate', title: '入场时间', width: 180, align: 'center' },
  398. { field: 'Tel', title: '联系电话', width: 180, align: 'center' }
  399. //{ field: 'StallName', title: '摊位号', width: 250, align: 'center' },
  400. //{ field: 'MarketName', title: '隶属市场', width: 180, align: 'center' },
  401. //{ field: 'TradeTypeName', title: '所在行业', width: 200, align: 'center' },
  402. ]]
  403. });
  404. }
  405. var start = {
  406. elem: "#StartTime",
  407. format: "YYYY-MM-DD",
  408. min: "2010-01-01",
  409. event: "focus",
  410. choose: function (datas) {
  411. end.min = datas; //开始日选好后,重置结束日的最小日期
  412. end.start = datas; //将结束日的初始值设定为开始日
  413. $('#SearchStartTime').val(datas);
  414. }
  415. },
  416. end = {
  417. elem: "#EndTime",
  418. format: "YYYY-MM-DD",
  419. min: "2010-01-01",
  420. event: "focus",
  421. choose: function (datas) {
  422. start.max = datas; //结束日选好后,重置开始日的最大日期
  423. $('#SearchEndTime').val(datas);
  424. }
  425. };
  426. $(function () {
  427. $("#SearchStartTime").next("span").find("input").attr("id", "StartTime");
  428. $("#SearchEndTime").next("span").find("input").attr("id", "EndTime");
  429. $("#SearchStartTime").textbox("setValue", laydate.now(-7, 'YYYY-MM-DD'));
  430. $("#SearchEndTime").textbox("setValue", laydate.now(0, 'YYYY-MM-DD'));
  431. GetMarketSelStr();
  432. //加载表格数据
  433. setTimeout(LoadTable,100);
  434. //加载日历控件
  435. laydate(start);
  436. laydate(end);
  437. });
  438. </script>
  439. </body>
  440. </html>