GoodsRecallLogList.cshtml 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459
  1. 
  2. @{
  3. Layout = null;
  4. }
  5. <!DOCTYPE html>
  6. <html>
  7. <head>
  8. <meta name="viewport" content="width=device-width" />
  9. <title>GoodsRecallLogList</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. <script src="~/Content/plugins/ajaxFileUpload/ajaxFileUpload-M.js"></script>
  23. <link href="~/Content/css/Style/Markets.css" rel="stylesheet" />
  24. <script src="~/Content/js/js/MarketJs.js"></script>
  25. </head>
  26. <body >
  27. <section class="hidden">
  28. <input id="hid_Type" name="hid_Type" type="hidden" value="0" />
  29. <input id="hidSetSearch_Type" name="hidSetSearch_Type" type="hidden" value="0" />
  30. </section>
  31. <section style="height:95vh; padding: 10px 20px;">
  32. <div class="row tbToolBar" id="tbToolBar">
  33. <div class="toolbar" id="CurdTool">
  34. <a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="btn_Add()">添加</a>
  35. <span class="shuxian"></span>
  36. <a href="#" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onclick="btn_Edit()">修改</a>
  37. <span class="shuxian"></span>
  38. <a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="btn_Del()">删除</a>
  39. </div>
  40. <div class="toolbar-search">
  41. <span>【请选择查询条件】</span>
  42. <input class="easyui-searchbox" data-options="prompt:'请输入查询条件...',menu:'#search',searcher:LoadTable" style="width: 300px; height: 25px;"/>
  43. <div id="search">
  44. <div data-options="name:'GoodsName'">商品名称</div>
  45. <div data-options="name:'SellerName'">经销单位</div>
  46. <div data-options="name:'Supplier'">商品来源</div>
  47. </div>
  48. </div>
  49. </div>
  50. <table id="dgTable" class="easyui-datagrid" style="height: 100%;"
  51. data-options="singleSelect: true,
  52. method: 'post',
  53. multiSort: false,
  54. toolbar: '#tbToolBar',
  55. fitColumns: true,
  56. @*rownumbers: true,*@
  57. remoteSort: false,
  58. @*loadFilter: pagerFilter,*@
  59. onDblClickRow: function () {
  60. btn_Edit();
  61. },
  62. pagination: true,
  63. pageSize: 50,
  64. pageList: [20, 50, 100]
  65. ">
  66. <thead>
  67. <tr>
  68. <th data-options="field:'SellerName',width:150">经销单位</th>
  69. <th data-options="field:'GoodsName',width:150">商品名称</th>
  70. <th data-options="field:'SaleCount',width:50">退市数量</th>
  71. <th data-options="field:'UnitID',width:30">数量单位</th>
  72. <th data-options="field:'SaleTime',width:80">退市时间</th>
  73. <th data-options="field:'Supplier',width:150">商品来源</th>
  74. </tr>
  75. </thead>
  76. </table>
  77. </section>
  78. <section>
  79. <div id="winModal" class="easyui-window winModal" title="不合格商品退市录入维护" style="width: 800px; padding:10px;"
  80. iconCls="icon-save" data-options="modal:true,closed:true">
  81. <div class="easyui-layout" data-options="fit:true" style="height:99%">
  82. <div data-options="region:'center'" style="padding:15px 25px 0;" >
  83. <form id="form">
  84. @Html.Hidden("ID")
  85. <div class="panle-half">
  86. <div class="input-group">
  87. <label class="input-group-addon control-label" for="GoodsName">商品名称</label>
  88. <input class="form-control input-group-addon" aria-disabled="true" name="GoodsName" id="GoodsName" type="text" value="" placeholder="" />
  89. </div>
  90. <div class="input-group">
  91. <label class="input-group-addon control-label" for="ProduceBatch" style="font-size:12px;">生产日期(批号)</label>
  92. <input class="form-control input-group-addon" aria-disabled="true" name="ProduceBatch" id="ProduceBatch" type="text" value="" placeholder="" />
  93. </div>
  94. <div class="input-group">
  95. <label class="input-group-addon control-label" for="SaleTime">退市日期</label>
  96. <input class="form-control input-group-addon laydate-icon" aria-disabled="true" name="SaleTime" id="SaleTime" type="text" value="" placeholder="" disabled="disabled"/>
  97. </div>
  98. <div class="input-group">
  99. <label class="input-group-addon control-label" for="TradeMark">产品商标</label>
  100. <input class="form-control input-group-addon" aria-disabled="true" name="TradeMark" id="TradeMark" type="text" value="" placeholder="" />
  101. </div>
  102. <div class="input-group">
  103. <label class="input-group-addon control-label" for="FileTitle">附件名称</label>
  104. <input class="form-control input-group-addon" aria-disabled="true" name="FileTitle" id="FileTitle" type="text" value="" placeholder="" />
  105. </div>
  106. </div>
  107. <div class="panle-half">
  108. <div class="input-group">
  109. <label class="input-group-addon control-label" for="SellerID">经销单位</label>
  110. <select class="form-control input-group-addon" aria-disabled="true" name="SellerID" id="SellerID" type="text" value="" placeholder="选择经销单位">
  111. @Html.Raw(ViewBag.SelMarketSellersInfo)
  112. </select>
  113. <span class="input-group-addon" onclick="SearchModal('#Seller')" style="cursor: pointer;">
  114. <img src="~/easyui/themes/icons/zoom.bmp" />
  115. </span>
  116. </div>
  117. <div class="input-group">
  118. <label class="input-group-addon control-label" for="Supplier">商品来源</label>
  119. <input class="form-control input-group-addon" aria-disabled="true" name="Supplier" id="Supplier" type="text" value="" placeholder="" />
  120. <span class="input-group-addon" onclick="SearchModal('#Supplier')" style="cursor: pointer;">
  121. <img src="~/easyui/themes/icons/zoom.bmp" />
  122. </span>
  123. </div>
  124. <div class="input-group">
  125. <label class="input-group-addon control-label" for="SaleCount">退市数量</label>
  126. <input class="form-control input-group-addon" style="width:calc(100% - 67px);" aria-disabled="true" name="SaleCount" id="SaleCount" type="text" value="" placeholder="" />
  127. <select class="form-control input-group-addon" style="width:65px; padding:3px" aria-disabled="true" name="UnitID" id="UnitID" type="text" value="" placeholder="">
  128. @Html.Raw(ViewBag.SelUnitIDInfo)
  129. </select>
  130. </div>
  131. <div class="input-group">
  132. <label class="input-group-addon control-label" for="Executor">负责人签字</label>
  133. <input class="form-control input-group-addon" aria-disabled="true" name="Executor" id="Executor" type="text" value="" placeholder="" />
  134. </div>
  135. <div class="input-group">
  136. <label class="input-group-addon control-label" for="AttachFile">上传附件</label>
  137. <input class="form-control input-group-addon" aria-disabled="true" name="AttachFile" id="AttachFile" type="file" value="" placeholder="" onblur="CheckFileSize('AttachFile')" />
  138. </div>
  139. </div>
  140. <div class="panle-fluid">
  141. <div class="input-group">
  142. <label class="input-group-addon control-label" for="RecallReason">不合格原因</label>
  143. <textarea class="form-control input-group-addon" rows="3" aria-disabled="true" name="RecallReason" id="RecallReason" type="text" value="" placeholder=""></textarea>
  144. </div>
  145. <div class="input-group">
  146. <label class="input-group-addon control-label" style="font-size:12px;" for="Result">处理方式及结果</label>
  147. <textarea class="form-control input-group-addon" rows="3" aria-disabled="true" name="Result" id="Result" type="text" value="" placeholder=""></textarea>
  148. </div>
  149. </div>
  150. </form>
  151. </div>
  152. <div data-options="region:'south',border:false" style="text-align:right;height:45px; padding:13px 20px 0;">
  153. <a class="easyui-linkbutton" id="Save" data-options="iconCls:'icon-ok'" href="javascript:void(0)" onclick="Save()" style="width:80px">确认</a>
  154. <a class="easyui-linkbutton" data-options="iconCls:'icon-cancel'" href="javascript:void(0)" onclick="$('#winModal').window('close');" style="width:80px">取消</a>
  155. </div>
  156. </div>
  157. </div>
  158. <div id="winModal_Search" class="easyui-window winModal" title="" style="width: 750px; height: 600px;padding:10px;"
  159. iconCls="icon-save" data-options="modal:true,closed:true">
  160. <div class="easyui-layout" data-options="fit:true" style="height:99%">
  161. <div data-options="region:'center'" style="padding: 15px 5px 5px;">
  162. <div id="Search_Supplier">
  163. <div class="panle-half">
  164. <div class="input-group">
  165. <label class="input-group-addon control-label" for="dg_SearchHabitatID" style="min-width: 70px">省份</label>
  166. <select class="form-control input-group-addon" aria-disabled="true" name="dg_SearchHabitatID" id="dg_SearchHabitatID" type="text" value="" placeholder="选择省份">
  167. <option value="">全部</option>
  168. @Html.Raw(ViewBag.SelHabitatInfo)
  169. </select>
  170. </div>
  171. </div>
  172. <div class="panle-half">
  173. <div class="input-group">
  174. <label class="input-group-addon control-label" for="dg_SearchSupplierName" style="min-width: 70px">供货商</label>
  175. <input class="form-control input-group-addon" aria-disabled="true" name="dg_SearchSupplierName" id="dg_SearchSupplierName" type="text" value="" placeholder="" />
  176. <span class="input-group-addon control-label" onclick="DgSearchLoadTable()">搜索</span>
  177. </div>
  178. </div>
  179. </div>
  180. <div id="Search_Seller" style="display:none">
  181. <div class="panle-third">
  182. <div class="input-group">
  183. <label class="input-group-addon control-label" for="dg_SearchRegionID" style="min-width: 70px">所属辖区</label>
  184. <select class="form-control input-group-addon" type="text" id="dg_SearchRegionID" name="dg_SearchRegionID" onchange="GetMarketSelStr();">
  185. <option value="">全部</option>
  186. @Html.Raw(ViewBag.SelRegionInfo)
  187. </select>
  188. </div>
  189. </div>
  190. <div class="panle-third">
  191. <div class="input-group">
  192. <label class="input-group-addon control-label" for="dg_SearchMarketId" style="min-width: 70px">所属市场</label>
  193. <select class="form-control input-group-addon" aria-disabled="true" name="dg_SearchMarketId" id="dg_SearchMarketId" type="text" value="" placeholder="选择所属市场">
  194. @*@Html.Raw(ViewBag.SelMarketInfo)*@
  195. </select>
  196. </div>
  197. </div>
  198. <div class="panle-third">
  199. <div class="input-group">
  200. <label class="input-group-addon control-label" for="dg_SearchSellerName" style="min-width: 70px">经营户名</label>
  201. <input class="form-control input-group-addon" aria-disabled="true" name="dg_SearchSellerName" id="dg_SearchSellerName" type="text" value="" placeholder=""/>
  202. <span class="input-group-addon control-label" onclick="DgSearchLoadTable()">搜索</span>
  203. </div>
  204. </div>
  205. </div>
  206. <div class="panle-fluid" style="margin-top: 10px;">
  207. <table id="dgTable_Search" class="easyui-datagrid" style="width: 98%; height: 420px;"
  208. data-options="singleSelect: true,
  209. method: 'post',
  210. multiSort: false,
  211. toolbar: '#tbToolBar_Attach',
  212. fitColumns: true,
  213. @*rownumbers: true,*@
  214. remoteSort: false,
  215. @*loadFilter: pagerFilter,*@
  216. onDblClickRow: function () {
  217. SetSearch();
  218. },
  219. pagination: true,
  220. pageSize: 10,
  221. pageList: [10,20, 50, 100]
  222. ">
  223. <thead>
  224. <tr>
  225. @*<th data-options="field:'FileTitle',width:100">附件标题</th>
  226. <th data-options="field:'FileExt',width:60,">扩展名</th>
  227. <th data-options="field:'TimeLastMod',width:90,">上传日期</th>*@
  228. </tr>
  229. </thead>
  230. </table>
  231. </div>
  232. </div>
  233. <div data-options="region:'south',border:false" style="text-align:right;height:45px; padding:13px 20px 0;">
  234. <a class="easyui-linkbutton" id="Save_SetSearch" data-options="iconCls:'icon-ok'" href="javascript:void(0)" onclick="SetSearch()" style="width:80px">确认</a>
  235. <a class="easyui-linkbutton" id="Save_Search" data-options="iconCls:'icon-search'" href="javascript:void(0)" onclick="DgSearchLoadTable()" style="width:80px">搜索</a>
  236. <a class="easyui-linkbutton" data-options="iconCls:'icon-cancel'" href="javascript:void(0)" onclick="$('#winModal_Search').window('close');" style="width:80px">取消</a>
  237. </div>
  238. </div>
  239. </div>
  240. </section>
  241. <script>
  242. function Save(type) {
  243. type = type || $("#hid_Type").val();
  244. //var id = $('#dgTable').datagrid('getSelections')[0].ID;
  245. $.ajaxFileUpload({
  246. url: "@Url.Action("GoodsRecallLogOper", "MarketSystem")",
  247. secureuri: false, //一般设置为false
  248. fileElementId: 'AttachFile',
  249. type: "post",
  250. dataType: "json",
  251. data: {
  252. Type: type,
  253. ID: $("#ID").val(),
  254. GoodsName: $("#GoodsName").val(),
  255. Supplier: $("#Supplier").val(),
  256. SellerID: $("#SellerID").val(),
  257. SaleCount: $("#SaleCount").val(),
  258. UnitID: $("#UnitID").val(),
  259. ProduceBatch: $("#ProduceBatch").val(),
  260. TradeMark: $("#TradeMark").val(),
  261. SaleTime: $("#SaleTime").val(),
  262. Executor: $("#Executor").val(),
  263. Result: $("#Result").val(),
  264. RecallReason: $("#RecallReason").val()
  265. },
  266. success: function (data) {
  267. if (CheckAajxData(data) === false) return;
  268. var msg = data.ErrorInfo;
  269. if (data.Success === true) {
  270. LoadTable();
  271. $("#winModal").window("close");
  272. layer.alert(msg, { icon: 1, title: '提示信息' });
  273. } else {
  274. layer.alert(msg, { icon: 7, title: '提示信息' });
  275. }
  276. }
  277. });
  278. }
  279. //modal赋值
  280. function SetModalVal() {
  281. var rows = $('#dgTable').datagrid('getSelections');
  282. if (rows.length === 1) {
  283. var row = rows[0];
  284. console.log(row);
  285. $("#ID").val(row.ID);
  286. $("#GoodsName").val(row.GoodsName);
  287. $("#Supplier").val(row.Supplier);
  288. $("#SellerID").val(row.SellerID);
  289. $("#SaleCount").val(row.SaleCount);
  290. $("#UnitID").val(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. if ($("#hid_Type").val()==="Edit") {
  298. $("#winModal").window("open");
  299. }
  300. } else {
  301. layer.alert('请选择一条记录进行设置', {title:'提示信息'});
  302. }
  303. }
  304. //添加
  305. function btn_Add() {
  306. $("#hid_Type").val("Add");
  307. $("#winModal input").val("");
  308. $("#winModal textarea").val("");
  309. $("#SaleTime").val(GetNowFormatDate());
  310. $("#Save span.l-btn-text").html("添加");
  311. GetMarketSelStr();
  312. $("#winModal").window("open");
  313. }
  314. //修改
  315. function btn_Edit() {
  316. $("#hid_Type").val("Edit");
  317. $("#Save span.l-btn-text").html("修改");
  318. GetMarketSelStr();
  319. SetModalVal();
  320. }
  321. function SearchModal(searchType) {
  322. if (searchType === "#Seller") {
  323. $('#winModal_Search').window({"title": "搜索经销单位"});
  324. $("#hidSetSearch_Type").val("#SellerID");
  325. $("#Search_Supplier").hide();
  326. $("#Search_Seller").show();
  327. GetMarketSelStr();
  328. } else {
  329. $("#Search_Supplier").show();
  330. $("#hidSetSearch_Type").val("#Supplier");
  331. $("#Search_Seller").hide();
  332. $('#winModal_Search').window({"title": "搜索供货单位"});
  333. }
  334. DgSearchLoadTable();
  335. $('#winModal_Search').window('open');
  336. }
  337. function SetSearch(idStr) {
  338. idStr = idStr || $("#hidSetSearch_Type").val();
  339. var rows = $('#dgTable_Search').datagrid('getSelections');
  340. if (rows.length === 1) {
  341. var row = rows[0];
  342. console.log(row);
  343. if (idStr === "#SellerID") {
  344. $(idStr).val(row.SellerID);
  345. } else if (idStr === "#Supplier") {
  346. $(idStr).val(row.Name);
  347. }
  348. $('#winModal_Search').window('close');
  349. } else {
  350. layer.alert('请选择一条记录进行设置', { icon: 7, title: '提示信息' });
  351. }
  352. }
  353. //根据辖区获取市场下拉框的option
  354. function GetMarketSelStr() {
  355. $.ajax({
  356. url: "/GetResult/GetMarketSelStrResult",
  357. type: "post",
  358. dataType: "json",
  359. //data: { RegionID: $("input.textbox-value[name='SearchRegionID']").val() },
  360. data: { RegionID: $("#dg_SearchRegionID").val() },
  361. success: function (data) {
  362. //console.log(msg);
  363. if (CheckAajxData(data) === false) return;
  364. var rows = data.rows;
  365. var str1 = "<option value=\"";
  366. var str2 = "";
  367. for (var i = 0; i < rows.length; i++) {
  368. str1 += (str1 === "<option value=\"" ? "" : "@@|@@") + rows[i].MarketID;
  369. str2 += "<option value=\"" + rows[i].MarketID + "\">" + rows[i].Names + "</option>";
  370. }
  371. str1 += "\">全部</option>";
  372. $('#dg_SearchMarketId').empty().html(str1 + str2);
  373. }
  374. });
  375. }
  376. function DgSearchLoadTable(searchType) {
  377. searchType = searchType || $("#hidSetSearch_Type").val();
  378. if (searchType === "#SellerID") {
  379. var marketId = $("#dg_SearchMarketId").val(),
  380. sellerName = $("#dg_SearchSellerName").val();
  381. $('#dgTable_Search').datagrid({
  382. url: '@Url.Action("SellerSearchResult", "GetResult")' + '?MarketID=' + escape(marketId) + '&MarketSellerName=' + escape(sellerName),
  383. columns: [
  384. [
  385. { field: 'MarketSellerName', title: '经营户名', width: 150, align: 'center' },
  386. { field: 'IdCard', title: '身份证', width: 180, align: 'center' },
  387. { field: 'EnterMarketDate', title: '入场时间', width: 180, align: 'center' },
  388. { field: 'Tel', title: '联系电话', width: 180, align: 'center' }
  389. ]
  390. ]
  391. });
  392. } else {
  393. var habitatId = $("#dg_SearchHabitatID").val(),
  394. supplierName = $("#dg_SearchSupplierName").val();
  395. $('#dgTable_Search').datagrid({
  396. url: '@Url.Action("SupplierSearchResult", "GetResult")' + '?HabitatID=' + escape(habitatId) + '&SupplierName=' + escape(supplierName),
  397. columns: [
  398. [
  399. { field: 'Name', title: '名称', width: 150, align: 'center' },
  400. { field: 'Linkman', title: '联系人', width: 100, align: 'center' },
  401. { field: 'Tel', title: '电话', width: 100, align: 'center' },
  402. { field: 'Address', title: '地址', width: 130, align: 'center' }
  403. ]
  404. ]
  405. });
  406. }
  407. }
  408. //加载表格数据
  409. function LoadTable(value, item) {
  410. $('#dgTable').datagrid({
  411. url: '@Url.Action("GoodsRecallLogResult", "GetResult")' + '?PcVal=' + escape(value) + '&PcItem=' + item
  412. });
  413. }
  414. function ClearFile(idStr) {
  415. var file = $(idStr);
  416. file.after(file.clone().val(""));
  417. file.remove();
  418. }
  419. $(function () {
  420. //加载表格数据
  421. var value = $(".textbox.searchbox .textbox-value").val(), item = $(".textbox.searchbox .textbox-value").attr("name");
  422. LoadTable(value, item);
  423. //加载日历控件
  424. laydate({
  425. elem: '#SaleTime',
  426. format: "YYYY-MM-DD",
  427. min: "1980-01-01",
  428. event: "focus"
  429. });
  430. });
  431. </script>
  432. </body>
  433. </html>