stockchange.js 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  1. $(function () {
  2. $("#jqGrid").jqGrid({
  3. url: '../stockchange/list',
  4. datatype: "json",
  5. colModel: [
  6. {label: '单号', name: 'id', index: 'id', key: true, width: 80, align: 'center',formatter: function (value){
  7. return "<a onClick='vm.stockChangeRecordByOrderId("+value+")' className='small-box-footer'>"+value+"</a>"
  8. }},
  9. {label: '类型', name: 'type', index: 'type', width: 80, align: 'center', formatter: function (value) {
  10. if (value == '0') {
  11. return '普通入库';
  12. } else if (value == '1') {
  13. return '调拨入库';
  14. } else if (value == '2') {
  15. return '销售出库';
  16. } else if (value == '3') {
  17. return '普通出库';
  18. } else if (value == '4') {
  19. return '调拨出库';
  20. }
  21. return '-';
  22. }},
  23. {label: '出入库时间', name: 'time', index: 'time', width: 80, align: 'center'},
  24. {label: '商户编号', name: 'merchSn', index: 'merch_sn', width: 80, align: 'center'},
  25. {label: '商户名称', name: 'merch', index: 'merch', width: 80, align: 'center'},
  26. {label: '门店id', name: 'storeId', index: 'store_id', width: 80, align: 'center'},
  27. {label: '门店名称', name: 'store', index: 'store', width: 80, align: 'center'},
  28. {label: '商品名称', name: 'product', index: 'product', width: 80, align: 'center'},
  29. {label: '第三方商户', name: 'thirdMerchSn', index: 'third_merch_sn', width: 80, align: 'center'},
  30. {label: '审核状态', name: 'audit', index: 'audit', width: 80, align: 'center', formatter: function (value) {
  31. if (value == '0') {
  32. return '待审核';
  33. } else if (value == '1') {
  34. return '审核成功';
  35. } else if (value == '2') {
  36. return '审核拒绝';
  37. }
  38. return '-';
  39. }},
  40. {label: '第三方商户名称', name: 'thirdMerch', index: 'third_merch', width: 80, align: 'center'},
  41. {label: '备注', name: 'remark', index: 'remark', width: 80, align: 'center'},
  42. {label: '创建人', name: 'createBy', index: 'create_by', width: 80, align: 'center'},
  43. {label: '创建时间', name: 'createTime', index: 'create_time', width: 80, align: 'center'},
  44. {label: '修改人', name: 'modifyBy', index: 'modify_by', width: 80, align: 'center'},
  45. {label: '修改时间', name: 'modifyTime', index: 'modify_time', width: 80, align: 'center'},
  46. {label: '审核人', name: 'auditBy', index: 'audit_by', width: 80, align: 'center'},
  47. {label: '审核时间', name: 'auditTime', index: 'audit_time', width: 80, align: 'center'},
  48. {label: '规格', name: 'specification', index: 'specification', width: 80, align: 'center'},
  49. ],
  50. viewrecords: true,
  51. height: 550,
  52. rowNum: 10,
  53. rowList: [10, 30, 50],
  54. rownumbers: true,
  55. rownumWidth: 25,
  56. autowidth: true,
  57. multiselect: true,
  58. pager: "#jqGridPager",
  59. jsonReader: {
  60. root: "page.list",
  61. page: "page.currPage",
  62. total: "page.totalPage",
  63. records: "page.totalCount"
  64. },
  65. prmNames: {
  66. page: "page",
  67. rows: "limit",
  68. order: "order"
  69. },
  70. gridComplete: function () {
  71. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
  72. }
  73. });
  74. });
  75. let vm = new Vue({
  76. el: '#rrapp',
  77. data: {
  78. showList: true,
  79. title: null,
  80. stockChange: {},
  81. ruleValidate: {
  82. name: [
  83. {required: true, message: '名称不能为空', trigger: 'blur'}
  84. ]
  85. },
  86. q: {
  87. name: '',
  88. orderId:'',
  89. type:'',
  90. time:'',
  91. audit:'',
  92. storeId:''
  93. },
  94. uploadData:[],
  95. stores:[],
  96. stockChangeTypes:[],
  97. stockChangeAudits:[],
  98. saveOrUpdateState:true,
  99. merchList: {},//商户
  100. thirdMerchantBizList: {},//第三方商户
  101. storeList: {},//门店
  102. },
  103. methods: {
  104. query: function () {
  105. vm.reload();
  106. },
  107. add: function () {
  108. vm.showList = false;
  109. vm.title = "新增";
  110. vm.stockChange = {};
  111. vm.saveOrUpdateState=true;
  112. vm.getMerchList();
  113. },
  114. update: function (event) {
  115. vm.saveOrUpdateState=false;
  116. let id = getSelectedRow();
  117. if (id == null) {
  118. alert("请选择数据!");
  119. return;
  120. }
  121. vm.showList = false;
  122. vm.title = "修改";
  123. vm.getMerchList();
  124. vm.getInfo(id)
  125. },
  126. saveOrUpdate: function (event) {
  127. let url = vm.saveOrUpdateState ? "../stockchange/save" : "../stockchange/update";
  128. var time = vm.stockChange.time;
  129. vm.stockChange.time = vm.timeFommater(vm.stockChange.time);
  130. $.ajax({
  131. type: "POST",
  132. url: url,
  133. contentType: "application/json",
  134. data: JSON.stringify(vm.stockChange),
  135. success: function (r) {
  136. if (r.code === 0) {
  137. alert('操作成功', function (index) {
  138. vm.reload();
  139. });
  140. } else {
  141. alert(r.msg);
  142. }
  143. }
  144. });
  145. },
  146. del: function (event) {
  147. let ids = getSelectedRows();
  148. if (ids == null){
  149. alert("请选择至少一行!");
  150. return;
  151. }
  152. confirm('确定要删除选中的记录?', function () {
  153. $.ajax({
  154. type: "POST",
  155. url: "../stockchange/delete",
  156. contentType: "application/json",
  157. data: JSON.stringify(ids),
  158. success: function (r) {
  159. if (r.code == 0) {
  160. alert('操作成功', function (index) {
  161. $("#jqGrid").trigger("reloadGrid");
  162. });
  163. } else {
  164. alert(r.msg);
  165. }
  166. }
  167. });
  168. });
  169. },
  170. audit: function (type) {
  171. let ids = getSelectedRows();
  172. if (ids == null){
  173. alert("请选择至少一行!");
  174. return;
  175. }
  176. console.log(type);
  177. let param = {
  178. "ids" : ids,
  179. "type" : type,
  180. }
  181. let msg;
  182. if (type == '1') {
  183. msg = "确定要审核成功吗?";
  184. } else {
  185. msg = "确定要拒绝审核吗?";
  186. }
  187. confirm(msg, function () {
  188. $.ajax({
  189. type: "POST",
  190. url: "../stockchange/audit",
  191. contentType: "application/json",
  192. data: JSON.stringify(param),
  193. success: function (r) {
  194. if (r.code == 0) {
  195. alert('操作成功', function (index) {
  196. $("#jqGrid").trigger("reloadGrid");
  197. });
  198. } else {
  199. alert(r.msg);
  200. }
  201. }
  202. });
  203. });
  204. },
  205. getInfo: function(id){
  206. $.get("../stockchange/info/"+id, function (r) {
  207. vm.stockChange = r.stockChange;
  208. });
  209. },
  210. reloadSearch: function() {
  211. vm.q = {
  212. name: ''
  213. }
  214. vm.reload();
  215. },
  216. reload: function (event) {
  217. vm.showList = true;
  218. let page = $("#jqGrid").jqGrid('getGridParam', 'page');
  219. $("#jqGrid").jqGrid('setGridParam', {
  220. postData: {'name': vm.q.name,'orderId':vm.q.orderId,'type':vm.q.type,'time':vm.q.time,'audit':vm.q.audit,"storeId":vm.q.storeId},
  221. page: page
  222. }).trigger("reloadGrid");
  223. vm.handleReset('formValidate');
  224. },
  225. handleSubmit: function (name) {
  226. handleSubmitValidate(this, name, function () {
  227. vm.saveOrUpdate()
  228. });
  229. },
  230. handleReset: function (name) {
  231. handleResetForm(this, name);
  232. },
  233. uploadExcelSuccess: function (data) {
  234. if(data.code==0){
  235. alert('导入成功', function (index) {
  236. $("#jqGrid").trigger("reloadGrid");
  237. });
  238. }else{
  239. alert(data.msg);
  240. }
  241. },
  242. uploadExcelError: function () {
  243. alert('上传出现异常,请重试!');
  244. },
  245. uploadExcelFormatError: function (file) {
  246. this.$Notice.warning({
  247. title: '文件格式不正确',
  248. desc: '文件 ' + file.name + ' 格式不正确,请上传 xls 或 xlsx 格式的文件。'
  249. });
  250. },beforeUpload(){
  251. vm.uploadData = {
  252. storeId: vm.storeId,
  253. mkaId : vm.mkaId
  254. }
  255. let promise = new Promise((resolve) => {
  256. this.$nextTick(function () {
  257. resolve(true);
  258. });
  259. });
  260. return promise; //通过返回一个promis对象解决
  261. },
  262. timeFommater:function (value) {
  263. var dateee = new Date(value).toJSON();
  264. var date = new Date(+new Date(dateee) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '')
  265. return date;
  266. },
  267. getMerchList: function() {
  268. $.get("../merch/queryAll", function (r) {
  269. vm.merchList = r.list;
  270. });
  271. },
  272. getThirdMerchantBizList: function(merchSn) {
  273. $.get("../thirdmerchantbiz/queryAll?merchSn=" + merchSn, function (r) {
  274. vm.thirdMerchantBizList = r.list;
  275. });
  276. },
  277. changeThirdMerchantBiz: function (opt) {
  278. var value = opt.value;
  279. $.get("../store/getStoresByThirdMerch?thirdPartyMerchCode=" + value, function (r) {
  280. vm.storeList = r.list;
  281. });
  282. },
  283. changeMerch: function(opt) {
  284. var value = opt.value;
  285. vm.getThirdMerchantBizList(value);
  286. },
  287. stockChangeRecordByOrderId: function (value) {
  288. openWindow({
  289. top: true,
  290. type: 2,
  291. title: '出入库单记录',
  292. area: ['90%', '95%'],
  293. content: '../shop/stockchangerecord.html?orderId='+value
  294. });
  295. },
  296. },
  297. mounted() {
  298. // this.uploadList = this.$refs.upload.fileList;
  299. /*$.get("../category/getCategorySelect", function (r) {
  300. vm.queryCategories = r.list;
  301. });*/
  302. $.get("../sys/macro/queryMacrosByValue?value=stockChangeType", function (r) {
  303. vm.stockChangeTypes = r.list;
  304. });
  305. $.get("../sys/macro/queryMacrosByValue?value=stockChangeAudit", function (r) {
  306. vm.stockChangeAudits = r.list;
  307. });
  308. $.get("../store/queryAll", function (r) {
  309. vm.stores = r.list;
  310. });
  311. }
  312. });