1
0

goodsPanorama.js 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942
  1. $(function () {
  2. $("#jqGrid").jqGrid({
  3. url: '../goods/list',
  4. datatype: "json",
  5. colModel: [
  6. // {label: 'ID', name: 'id', index: 'id', width: 60, key: true},
  7. {label: '商户名称', name: 'merchName', index: 'merchName', width: 100, align: 'center'},
  8. {label: '第三方商户编号', name: 'thirdPartyMerchCode', index: 'thirdPartyMerchCode', width: 160, align: 'center'},
  9. {label: '商品编码', name: 'goodsSn', index: 'goods_Sn', width: 180, align: 'center'},
  10. {label: 'SKU', name: 'sku', index: 'sku', width: 180, align: 'center'},
  11. {label: 'PLU', name: 'plu', index: 'plu', width: 180, align: 'center'},
  12. {label: '英文名称', name: 'englishName', index: 'englishName', width: 180, align: 'center'},
  13. {label: '产品条码', name: 'prodBarcode', index: 'prod_barcode', width: 160, align: 'center'},
  14. // {label: '商品类型', name: 'categoryName', index: 'category_id', width: 40, align: 'center'},
  15. {label: '名称', name: 'name', index: 'name', width: 500, align: 'left'},
  16. {
  17. label: '货品业务类型', name: 'goodsBizType', index: 'goods_biz_type', width: 100, align: 'center',
  18. formatter: function (value) {
  19. if (value == '00') {
  20. return '保税备货';
  21. } else if (value == '02') {
  22. return '保税展示补货';
  23. } else if (value == '10') {
  24. return '保税展示跨境';
  25. }
  26. return '普通货物';
  27. }
  28. },
  29. {label: '库存是否共享', name: 'isStockShare', index: 'isStockShare', width: 100, align: 'center',
  30. formatter: function (value) {
  31. if (value == '0') {
  32. return '否';
  33. } else if (value == '1') {
  34. return '是';
  35. }
  36. return '-';
  37. }},
  38. {label: '商品库存', name: 'goodsNumber', index: 'goodsNumber', width: 100, align: 'right'},
  39. // {label: '零售价格', name: 'retailPrice', index: 'retail_price', width: 80, align: 'center'},
  40. // {label: '市场价', name: 'marketPrice', index: 'market_price', width: 80, align: 'center'},
  41. {
  42. label: '上架', name: 'isOnSale', index: 'is_on_sale', width: 50, align: 'center',
  43. formatter: function (value) {
  44. return transIsNot(value);
  45. }
  46. },
  47. {
  48. label: '热销', name: 'isHot', index: 'is_hot', width: 50, align: 'center',formatter: function (value) {
  49. return transIsNot(value);
  50. }
  51. },
  52. /*{
  53. label: '活动', name: 'goodsType', index: 'goodsType', width: 80,
  54. formatter: function (value) {
  55. if (value == 2) {
  56. return '<span class="label label-warning">团购</span>';
  57. } else {
  58. return '<span class="label label-success">无活动</span>';
  59. }
  60. }
  61. },*/
  62. {
  63. label: '录入日期', name: 'addTime', index: 'add_time', width: 200, align: 'center',
  64. formatter: function (value) {
  65. return transDate(value, 'yyyy-MM-dd hh:mm:ss');
  66. }
  67. }
  68. ],
  69. viewrecords: true,
  70. height: 475,
  71. rowNum: 10,
  72. rowList: [10, 30, 50],
  73. rownumbers: true,
  74. rownumWidth: 25,
  75. autowidth: true,
  76. shrinkToFit: false,
  77. autoScroll: true, //开启水平滚动条
  78. width: 1600,
  79. multiselect: true,
  80. pager: "#jqGridPager",
  81. jsonReader: {
  82. root: "page.list",
  83. page: "page.currPage",
  84. total: "page.totalPage",
  85. records: "page.totalCount"
  86. },
  87. prmNames: {
  88. page: "page",
  89. rows: "limit",
  90. order: "order"
  91. },
  92. beforeSelectRow: function(rowid, e){
  93. jQuery("#jqGrid").jqGrid('resetSelection');
  94. return(true);
  95. },
  96. gridComplete: function () {
  97. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "scroll"});
  98. }
  99. });
  100. var myGrid = $("#jqGrid");
  101. $("#cb_"+myGrid[0].id).hide();
  102. $('#goodsDesc').editable({
  103. inlineMode: false,
  104. alwaysBlank: true,
  105. height: '500px', //高度
  106. minHeight: '200px',
  107. language: "zh_cn",
  108. spellcheck: false,
  109. plainPaste: true,
  110. enableScript: false,
  111. imageButtons: ["floatImageLeft", "floatImageNone", "floatImageRight", "linkImage", "replaceImage", "removeImage"],
  112. allowedImageTypes: ["jpeg", "jpg", "png", "gif"],
  113. imageUploadURL: '../sys/oss/upload',
  114. imageUploadParams: {id: "edit"},
  115. imagesLoadURL: '../sys/oss/queryAll'
  116. });
  117. $("#branchJqGrid").jqGrid({
  118. url: '../productstorerela/list',
  119. datatype: "json",
  120. colModel: [
  121. {label: '所属门店', name: 'storeName', index: 'storeName', width: 180, align: 'center'},
  122. {label: '商品类型', name: 'categoryName', index: 'categoryName', width: 120, align: 'center'},
  123. {label: '批次编号', name: 'batchSn', index: 'batchSn', width: 140, align: 'center'},
  124. {label: '批次到期日期', name: 'batchExpireDate', index: 'batchExpireDate', width: 160, align: 'center',formatter: function (value) {
  125. return transDate(value,'yyyy-MM-dd hh:mm:ss');
  126. }},
  127. {label: '门店库存', name: 'stockNum', index: 'stockNum', width: 80, align: 'center'},
  128. {label: '园区库存', name: 'parkStock', index: 'parkStock', width: 80, align: 'center'},
  129. {label: '零售价格', name: 'retailPrice', index: 'retailPrice', width: 80, align: 'right'},
  130. {label: '市场价', name: 'marketPrice', index: 'marketPrice', width: 80, align: 'right'},
  131. {label: '底线价格', name: 'bottomLinePrice', index: 'bottomLinePrice', width: 80, align: 'right',formatter: function (value) {
  132. if (value){
  133. return value;
  134. }
  135. return '-';
  136. }},
  137. {
  138. label: '销售量',
  139. name: 'sellVolume',
  140. index: 'a.sell_volume',
  141. width: 80,
  142. sortable: true, align: 'center',
  143. onSortCol: function (index, colindex, sortorder) {
  144. //列排序事件
  145. jQuery("#jqGrid").jqGrid('setGridParam', {page: $('#XtoPage').val()});
  146. }
  147. }
  148. ],
  149. viewrecords: true,
  150. height: 475,
  151. rowNum: 10,
  152. rowList: [10, 30, 50],
  153. rownumbers: true,
  154. rownumWidth: 25,
  155. autowidth: true,
  156. shrinkToFit: false,
  157. autoScroll: true, //开启水平滚动条
  158. width: 1600,
  159. pager: "#branchJqGridPager",
  160. jsonReader: {
  161. root: "page.list",
  162. page: "page.currPage",
  163. total: "page.totalPage",
  164. records: "page.totalCount"
  165. },
  166. prmNames: {
  167. page: "page",
  168. rows: "limit",
  169. order: "order"
  170. },
  171. gridComplete: function () {
  172. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "scroll"});
  173. }
  174. });
  175. $("#barcodeJqGrid").jqGrid({
  176. url: '../goods/list',
  177. datatype: "json",
  178. colModel: [
  179. // {label: 'ID', name: 'id', index: 'id', width: 60, key: true},
  180. {label: '商户名称', name: 'merchName', index: 'merchName', width: 100, align: 'center'},
  181. {label: '商品编码', name: 'goodsSn', index: 'goods_Sn', width: 180, align: 'center'},
  182. {label: 'SKU', name: 'sku', index: 'sku', width: 180, align: 'center'},
  183. {label: 'PLU', name: 'plu', index: 'plu', width: 180, align: 'center'},
  184. {label: '英文名称', name: 'englishName', index: 'englishName', width: 180, align: 'center'},
  185. {label: '产品条码', name: 'prodBarcode', index: 'prod_barcode', width: 160, align: 'center'}
  186. ],
  187. viewrecords: true,
  188. height: 475,
  189. rowNum: 10,
  190. rowList: [10, 30, 50],
  191. rownumbers: true,
  192. rownumWidth: 25,
  193. autowidth: true,
  194. shrinkToFit: false,
  195. autoScroll: true, //开启水平滚动条
  196. width: 1600,
  197. multiselect: true,
  198. pager: "#barcodeJqGridPager",
  199. jsonReader: {
  200. root: "page.list",
  201. page: "page.currPage",
  202. total: "page.totalPage",
  203. records: "page.totalCount"
  204. },
  205. prmNames: {
  206. page: "page",
  207. rows: "limit",
  208. order: "order"
  209. },
  210. gridComplete: function () {
  211. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "scroll"});
  212. }
  213. });
  214. $("#salesJqGrid").jqGrid({
  215. url: '../order/offilineOrderList',
  216. datatype: "json",
  217. colModel: [
  218. {label: '所属门店', name: 'storeName', index: 'storeName',align: 'center', width: 180},
  219. {label: '订单号', name: 'orderSn', index: 'order_sn', align: 'center',width: 180},
  220. {label: '会员', name: 'consignee', index: 'consignee',align: 'center', width: 80},
  221. {label: '商户订单号', name: 'merchOrderSn', index: 'merchOrderSn', align: 'center',width: 150},
  222. {
  223. label: '订单状态', name: 'orderStatus', index: 'order_status', align: 'center',width: 120,
  224. formatter: function (value) {
  225. if (value == '0') {
  226. return '订单创建成功等待付款';
  227. } else if (value == '100') {
  228. return '订单付款中';
  229. } else if (value == '101') {
  230. return '订单已取消';
  231. } else if (value == '102') {
  232. return '订单已删除';
  233. } else if (value == '201') {
  234. return '订单已付款';
  235. } else if (value == '300') {
  236. return '订单已发货';
  237. } else if (value == '301') {
  238. return '用户确认收货';
  239. } else if (value == '401') {
  240. return '没有发货,退款';
  241. } else if (value == '402') {
  242. return '已收货,退款退货';
  243. }
  244. return value;
  245. }
  246. },
  247. {
  248. label: '订付人核验', name: 'buyerPayCheck', index: 'buyer_pay_check', align: 'center',width: 80,
  249. formatter: function (value) {//订购人支付人校验,0:未知,1:一致,2:不一致,3:校验异常
  250. if (value == '0') {
  251. return '未知';
  252. } else if (value == '1') {
  253. return '一致';
  254. } else if (value == '2') {
  255. return '不一致';
  256. }
  257. return "-";
  258. }
  259. },
  260. {
  261. label: '付款状态', name: 'payStatus', index: 'pay_status', align: 'center',width: 80,
  262. formatter: function (value) {
  263. if (value == '0') {
  264. return '未付款';
  265. } else if (value == '1') {
  266. return '付款中';
  267. } else if (value == '2') {
  268. return '已付款';
  269. } else if (value == '3') {
  270. return '退款中';
  271. } else if (value == '4') {
  272. return '退款';
  273. }
  274. return value;
  275. }
  276. },
  277. {label: '实际支付', name: 'actualPrice', index: 'actual_price', align: 'right',width: 80},
  278. {label: '订单总价', name: 'orderPrice', index: 'order_price', align: 'right',width: 80},
  279. {
  280. label: '下单时间', name: 'addTime', index: 'add_time',align: 'center', width: 160,
  281. formatter: function (value) {
  282. return transDate(value, 'yyyy-MM-dd hh:mm:ss');
  283. }
  284. }
  285. ],
  286. viewrecords: true,
  287. height: 550,
  288. rowNum: 10,
  289. rowList: [10, 30, 50],
  290. rownumbers: true,
  291. rownumWidth: 25,
  292. autowidth: true,
  293. shrinkToFit: false,
  294. autoScroll: true, //开启水平滚动条
  295. width: 1500,
  296. pager: "#salesJqGridPager",
  297. jsonReader: {
  298. root: "page.list",
  299. page: "page.currPage",
  300. total: "page.totalPage",
  301. records: "page.totalCount"
  302. },
  303. prmNames: {
  304. page: "page",
  305. rows: "limit",
  306. order: "order"
  307. },
  308. gridComplete: function () {
  309. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "scroll"});
  310. }
  311. });
  312. });
  313. var ztree;
  314. var setting = {
  315. data: {
  316. simpleData: {
  317. enable: true,
  318. idKey: "id",
  319. pIdKey: "parentId",
  320. rootPId: -1
  321. },
  322. key: {
  323. url: "nourl"
  324. }
  325. }
  326. };
  327. var vm = new Vue({
  328. el: '#rrapp',
  329. data: {
  330. showList: true,
  331. fileList: true,
  332. title: null,
  333. uploadList: [],
  334. imgName: '',
  335. visible: false,
  336. stores: [],
  337. goods: {primaryPicUrl: '', listPicUrl: '',videoUrl:'', categoryId: '', isOnSale: 1, isAppExclusive: 0, isLimited: 0, isHot: 0, categoryName: '', retailPrice: '', marketPrice: '', goodsRate: '', sortOrder: '',goodsNumber: '' },
  338. ruleValidate: {
  339. },
  340. q: {name: '', goodsSn: '', prodBarcode: '',goodsBizType:'', merchSn: '',thirdPartyMerchCode:''},
  341. attributes: [],
  342. attributeEntityList: [{'id': '', 'goodsId': '', 'attributeId': '', 'value': '', 'isDelete': 0}],
  343. productEntityList: [{'id': '', 'goodsId': '', 'goodsSpecificationIds': '', 'goodsSpecificationNameValue': '', 'goodsSn': '', 'goodsNumber': '', 'isDelete': 0, 'goodsDefault': 0}],
  344. queryMerch: [],
  345. macros: [],//商品单位
  346. specifications: [],
  347. showInput: true,
  348. cusUnitCodeList: [],
  349. cusNationCodeList: [],
  350. merchList: [],
  351. suppliers: [],
  352. thirdMerchantBizList: [],
  353. thirdMerchantBizViewList: [],
  354. isStockShare: false,
  355. goodsBizType: '',
  356. isOperator: '',
  357. share: ''
  358. },
  359. methods: {
  360. delSpeRow: function (index) {
  361. //最后一行时禁止删除
  362. if (vm.productEntityList.length == 1) {
  363. return;
  364. }
  365. vm.productEntityList[index].isDelete = 1;
  366. },
  367. addSpeRow: function () {
  368. let goodsId = '';
  369. if (vm.goods) {
  370. goodsId = vm.goods.id;
  371. }
  372. vm.productEntityList.push({'id': '', 'goodsId': '', 'goodsSpecificationIds': '', 'goodsSpecificationNameValue': '', 'goodsSn': '', 'goodsNumber': '', 'isDelete': 0, 'goodsDefault': 0});
  373. },
  374. reloadSearch: function () {
  375. vm.q = {
  376. name: '',
  377. goodsSn: '',
  378. prodBarcode: '',
  379. goodsBizType: '',
  380. merchSn: '',
  381. thirdPartyMerchCode:''
  382. }
  383. },
  384. query: function () {
  385. vm.reload(1);
  386. },
  387. add: function () {
  388. vm.showList = false;
  389. vm.isOperator='add';
  390. vm.title = "新增";
  391. vm.uploadList = [];
  392. vm.goods = {primaryPicUrl: '', listPicUrl: '',videoUrl:'', categoryId: '', isOnSale: 1, isAppExclusive: 0, isLimited: 0,
  393. isHot: 0, categoryName: '', retailPrice: '', marketPrice: '', goodsRate: '', sortOrder: '',goodsNumber: '' };
  394. $('#goodsDesc').editable('setHTML', '');
  395. vm.getCategory();
  396. vm.macros = [];
  397. vm.brands = [];
  398. // vm.freights = [];
  399. vm.cusUnitCodeList = [];
  400. vm.cusNationCodeList = [];
  401. // vm.attributeEntityList = [{'id': '', 'goodsId': '', 'attributeId': '', 'value': '', 'isDelete': 0}];
  402. vm.getMacro();
  403. vm.getCusUnitCodeList();
  404. vm.getCusNationCode();
  405. vm.getMerchList();
  406. vm.showInput = true;
  407. },
  408. update: function (event) {
  409. var id = getSelectedRow();
  410. if (id == null) {
  411. return;
  412. }
  413. vm.isOperator='update';
  414. vm.showList = false;
  415. vm.title = "修改";
  416. vm.uploadList = [];
  417. console.log(id);
  418. vm.getInfo2(id);
  419. vm.thirdMerchantBizList = [];
  420. vm.getCusUnitCodeList();
  421. vm.getCusNationCode();
  422. vm.showInput = true;
  423. if (vm.goods.goodsBizType == '10' || vm.goods.goodsBizType == '02') {
  424. vm.showInput = false;
  425. }
  426. vm.price();
  427. vm.discount();
  428. vm.detail();
  429. },
  430. getInfo2: function (id) {
  431. console.log(111);
  432. $.get("../goods/info/" + id, function (r) {
  433. vm.goods = r.goods;
  434. vm.goodsBizType = r.goods.goodsBizType;
  435. vm.q.goodsSn = r.goods.goodsSn;
  436. vm.branch();
  437. vm.barcode();
  438. vm.sales();
  439. });
  440. },
  441. getInfo: function () {
  442. var postData = {"goodsSn":vm.q.goodsSn,'prodBarcode':vm.q.prodBarcode,'storeId':vm.q.storeId};
  443. vm.getCusUnitCodeList();
  444. vm.getCusNationCode();
  445. $.post("../goods/infoByQuery",postData,function(r){
  446. vm.goods = r.goods;
  447. console.log(r.goods);
  448. // vm.goodsBizType = r.goods.goodsBizType;
  449. vm.q.goodsSn = r.goods.goodsSn;
  450. vm.branch();
  451. vm.barcode();
  452. vm.sales();
  453. });
  454. // $.get("../goods/info/" + id, function (r) {
  455. // vm.goods = r.goods;
  456. // vm.goodsBizType = r.goods.goodsBizType;
  457. //
  458. // });
  459. },
  460. branch:function(){
  461. var postData = {"goodsSn":vm.q.goodsSn,'prodBarcode':vm.q.prodBarcode,'storeId':vm.q.storeId};
  462. $("#branchJqGrid").jqGrid('setGridParam',{
  463. datatype:'json',
  464. postData:postData,
  465. }).trigger("reloadGrid");
  466. },
  467. price:function(){
  468. },
  469. discount:function(){
  470. },
  471. barcode:function(){
  472. var postData = {"goodsSn":vm.q.goodsSn,'prodBarcode':vm.q.prodBarcode,'storeId':vm.q.storeId};
  473. $("#barcodeJqGrid").jqGrid('setGridParam',{
  474. datatype:'json',
  475. postData:postData,
  476. }).trigger("reloadGrid");
  477. },
  478. detail:function(){
  479. },
  480. sales:function(){
  481. var postData = {"goodsSn":vm.q.goodsSn,'prodBarcode':vm.q.prodBarcode,'storeId':vm.q.storeId};
  482. $("#salesJqGrid").jqGrid('setGridParam',{
  483. datatype:'json',
  484. postData:postData,
  485. }).trigger("reloadGrid");
  486. },
  487. getMacro: function () {
  488. // 获取货品业务类型
  489. $.get("../sys/macro/queryMacrosByValue?value=goodsBizType", function (r) {
  490. vm.macros = r.list;
  491. });
  492. },/*
  493. getBrand: function (merchSn) {
  494. $.get("../brand/queryAll?merchSn=" + merchSn, function (r) {
  495. vm.brands = r.list;
  496. });
  497. },*/
  498. getSuppliers: function (thirdMerchantCode) {
  499. $.get("../supplier/queryAll?thirdPartyMerchCode=" + thirdMerchantCode, function (r) {
  500. vm.suppliers = r.list;
  501. });
  502. },
  503. getCusUnitCodeList: function () {
  504. $.get("../syscusunitcode/queryAll", function (r) {
  505. vm.cusUnitCodeList = r.list;
  506. });
  507. },
  508. getCusNationCode: function () {
  509. $.get("../syscusnationcode/queryAll", function (r) {
  510. vm.cusNationCodeList = r.list;
  511. });
  512. },/*
  513. getFreights: function(merchSn) {
  514. $.get("../freight/queryAll?merchSn=" + merchSn, function (r) {
  515. vm.freights = r.list;
  516. });
  517. },*/
  518. getGoodsGallery: function (id) {//获取商品顶部轮播图
  519. $.get("../goodsgallery/queryAll?goodsId=" + id, function (r) {
  520. vm.uploadList = r.list;
  521. });
  522. },
  523. getMerchList: function() {
  524. $.get("../merch/queryAll", function (r) {
  525. vm.merchList = r.list;
  526. });
  527. },
  528. getThirdMerchantBizList: function(merchSn) {
  529. $.get("../thirdmerchantbiz/queryAll?merchSn=" + merchSn, function (r) {
  530. vm.thirdMerchantBizList = r.list;
  531. });
  532. },
  533. saveOrUpdate: function (event) {
  534. var url = vm.goods.id == null ? "../goods/save" : "../goods/update";
  535. vm.goods.goodsDesc = $('#goodsDesc').editable('getHTML');
  536. vm.goods.goodsImgList = vm.uploadList;
  537. // vm.goods.attributeEntityList = vm.attributeEntityList;
  538. vm.goods.productEntityList = vm.productEntityList;
  539. $.ajax({
  540. type: "POST",
  541. url: url,
  542. dataType: "json",
  543. contentType: "application/json",
  544. data: JSON.stringify(vm.goods),
  545. success: function (r) {
  546. if (r.code === 0) {
  547. alert('操作成功', function (index) {
  548. vm.reload();
  549. });
  550. } else {
  551. alert(r.msg);
  552. }
  553. }
  554. });
  555. },
  556. enSale: function () {
  557. var ids = getSelectedRows();
  558. if (ids == null) {
  559. return;
  560. }
  561. confirm('确定要上架选中的商品?', function () {
  562. $.ajax({
  563. type: "POST",
  564. url: "../goods/enSaleBatch",
  565. contentType: "application/json",
  566. data: JSON.stringify(ids),
  567. success: function (r) {
  568. if (r.code == 0) {
  569. alert('操作成功', function (index) {
  570. $("#jqGrid").trigger("reloadGrid");
  571. });
  572. } else {
  573. alert(r.msg);
  574. }
  575. }
  576. });
  577. });
  578. },
  579. openSpe: function () {
  580. var id = getSelectedRow();
  581. if (id == null) {
  582. return;
  583. }
  584. openWindow({
  585. type: 2,
  586. title: '商品规格',
  587. content: '../shop/goodsspecification.html?goodsId=' + id
  588. })
  589. },
  590. openPro: function () {
  591. var id = getSelectedRow();
  592. if (id == null) {
  593. return;
  594. }
  595. openWindow({
  596. type: 2,
  597. title: '产品设置',
  598. content: '../shop/product.html?goodsId=' + id
  599. });
  600. },
  601. unSale: function () {
  602. var ids = getSelectedRows();
  603. if (ids == null) {
  604. return;
  605. }
  606. confirm('确定要下架选中的商品?', function () {
  607. $.ajax({
  608. type: "POST",
  609. url: "../goods/unSaleBatch",
  610. contentType: "application/json",
  611. data: JSON.stringify(ids),
  612. success: function (r) {
  613. if (r.code == 0) {
  614. alert('操作成功', function (index) {
  615. $("#jqGrid").trigger("reloadGrid");
  616. });
  617. } else {
  618. alert(r.msg);
  619. }
  620. }
  621. });
  622. });
  623. },
  624. del: function (event) {
  625. var ids = getSelectedRows();
  626. if (ids == null) {
  627. return;
  628. }
  629. confirm('确定要删除选中的记录?', function () {
  630. $.ajax({
  631. type: "POST",
  632. url: "../goods/delete",
  633. contentType: "application/json",
  634. data: JSON.stringify(ids),
  635. success: function (r) {
  636. if (r.code == 0) {
  637. alert('操作成功', function (index) {
  638. $("#jqGrid").trigger("reloadGrid");
  639. });
  640. } else {
  641. alert(r.msg);
  642. }
  643. }
  644. });
  645. });
  646. },
  647. reload: function (event) {
  648. vm.sales();
  649. vm.branch();
  650. vm.barcode();
  651. vm.getInfo();
  652. // vm.showList = true;
  653. // let page = event;
  654. // if (event != 1) {
  655. // page = $("#jqGrid").jqGrid('getGridParam', 'page');
  656. // }
  657. // $("#jqGrid").jqGrid('setGridParam', {
  658. // postData: {
  659. // 'name': vm.q.name,
  660. // 'englishName': vm.q.englishName,
  661. // 'goodsSn': vm.q.goodsSn,
  662. // 'prodBarcode': vm.q.prodBarcode,
  663. // 'goodsBizType': vm.q.goodsBizType,
  664. // 'merchSn': vm.q.merchSn,
  665. // 'thirdPartyMerchCode': vm.q.thirdPartyMerchCode
  666. // },
  667. // page: page
  668. // }).trigger("reloadGrid");
  669. // vm.handleReset('formValidate');
  670. },
  671. returnBack:function(){
  672. vm.showList = true;
  673. },
  674. getCategory: function () {
  675. //加载分类树
  676. $.get("../category/query", function (r) {
  677. ztree = $.fn.zTree.init($("#categoryTree"), setting, r.list);
  678. var node = ztree.getNodeByParam("id", vm.goods.categoryId);
  679. if (node) {
  680. ztree.selectNode(node);
  681. vm.goods.categoryName = node.name;
  682. } else {
  683. node = ztree.getNodeByParam("id", 0);
  684. ztree.selectNode(node);
  685. vm.goods.categoryName = node.name;
  686. }
  687. })
  688. },
  689. categoryTree: function () {
  690. openWindow({
  691. title: "选择类型",
  692. area: ['300px', '450px'],
  693. content: jQuery("#categoryLayer"),
  694. btn: ['确定', '取消'],
  695. btn1: function (index) {
  696. var node = ztree.getSelectedNodes();
  697. if (node[0].isParent) {
  698. alert("只能选择");
  699. return;
  700. }
  701. //选择上级菜单
  702. vm.goods.categoryId = node[0].id;
  703. vm.goods.categoryName = node[0].name;
  704. layer.close(index);
  705. }
  706. });
  707. },
  708. showStockShare:function(opt){
  709. var thirdMerchantCode = opt.value;
  710. /*$.get("../thirdmerchantbiz/infoByCode?thirdMerchantCode=" + thirdMerchantCode, function (r) {
  711. if(r.thirdMerchantBiz){
  712. vm.share = r.thirdMerchantBiz.isStockShare;
  713. if(vm.goods.goodsBizType == '00' && r.thirdMerchantBiz.isStockShare == 1){
  714. // vm.isStockShare = true;
  715. }else{
  716. // vm.isStockShare = false;
  717. vm.goods.goodsNumber= '';
  718. }
  719. }
  720. });*/
  721. vm.getSuppliers(thirdMerchantCode);
  722. },
  723. changeGoodsBizType: function(opt) {
  724. var goodsBizType = opt.value;
  725. if (vm.goods.goodsBizType == '10' || vm.goods.goodsBizType == '02') {
  726. vm.showInput = false;
  727. } else {
  728. vm.showInput = true;
  729. }
  730. // console.log('goodsBizType:'+vm.goods.goodsBizType)
  731. // console.log('share:'+vm.share)
  732. // if(vm.goods.goodsBizType == '00' && vm.share == 1){
  733. // vm.isStockShare = true;
  734. // }else{
  735. // vm.isStockShare = false;
  736. // // vm.goods.goodsNumber= '';
  737. // // console.log('错错错')
  738. // }
  739. },
  740. handleView(name) {
  741. this.imgName = name;
  742. this.visible = true;
  743. },
  744. /*changeQueryCategories: function (opt) {
  745. var value = opt.value;
  746. $.get("../category/getCategorySelectByParent?parentId=" + value, function (r) {
  747. vm.queryCategoriesTwo = r.list;
  748. });
  749. },
  750. getAttributes: function (opt) {
  751. var value = opt.value;
  752. $.get("../attribute/query?attributeCategoryId=" + value, function (r) {
  753. vm.attributes = r.list;
  754. });
  755. if (opt.flag != 1 && !(value === vm.categoryId)) {
  756. if (vm.attributeEntityList.length > 0 && vm.attributeEntityList[0].attributeId != '') {
  757. for (var i = 0; i < vm.attributeEntityList.length; i++) {
  758. if (!(vm.attributeEntityList[0].attributeId === '')) {
  759. vm.attributeEntityList[i].isDelete = 1;
  760. }
  761. }
  762. var goodsId = '';
  763. if (vm.goods) {
  764. goodsId = vm.goods.id;
  765. }
  766. vm.attributeEntityList.unshift({'id': '', 'goodsId': goodsId, 'attributeId': '', 'value': '', 'isDelete': 0});
  767. }
  768. }
  769. },
  770. changeCategories: function (opt) {
  771. var value = opt.value;
  772. $.get("../category/getCategorySelectByParent?isShow=1&parentId=" + value, function (r) {
  773. vm.categoriesTwo = r.list;
  774. });
  775. },*/
  776. uploadExcelSuccess: function (data) {
  777. // console.log(data);
  778. if(data.code==0){
  779. alert('导入成功', function (index) {
  780. $("#jqGrid").trigger("reloadGrid");
  781. });
  782. }else{
  783. alert(data.msg);
  784. }
  785. },
  786. uploadExcelError: function () {
  787. alert('上传出现异常,请重试!');
  788. },
  789. uploadExcelFormatError: function (file) {
  790. this.$Notice.warning({
  791. title: '文件格式不正确',
  792. desc: '文件 ' + file.name + ' 格式不正确,请上传 xls 或 xlsx 格式的文件。'
  793. });
  794. },
  795. handleRemove(file) {
  796. // 从 upload 实例删除数据
  797. const fileList = vm.uploadList;
  798. vm.uploadList.splice(fileList.indexOf(file), 1);
  799. },
  800. handleSuccess(res, file) {
  801. // 因为上传过程为实例,这里模拟添加 url
  802. file.imgUrl = res.url;
  803. file.name = res.url;
  804. vm.uploadList.add(file);
  805. },
  806. handleBeforeUpload() {
  807. const check = vm.uploadList.length < 5;
  808. if (!check) {
  809. this.$Notice.warning({
  810. title: '最多只能上传 5 张图片。'
  811. });
  812. }
  813. return check;
  814. },
  815. handleSubmit: function (name) {
  816. // handleSubmitValidate(this, name, function () {
  817. vm.saveOrUpdate()
  818. // });
  819. },
  820. handleFormatError: function (file) {
  821. this.$Notice.warning({
  822. title: '文件格式不正确',
  823. desc: '文件 ' + file.name + ' 格式不正确,请上传 jpg 或 png 格式的图片。'
  824. });
  825. },
  826. handleMaxSize: function (file) {
  827. this.$Notice.warning({
  828. title: '超出文件大小限制',
  829. desc: '文件 ' + file.name + ' 太大,不能超过 100k。'
  830. });
  831. },
  832. handleMaxSizeByInfo: function (file) {
  833. this.$Notice.warning({
  834. title: '超出文件大小限制',
  835. desc: '文件 ' + file.name + ' 太大,不能超过 300k。'
  836. });
  837. },
  838. handleReset: function (name) {
  839. handleResetForm(this, name);
  840. },
  841. handleSuccessPicUrl: function (res, file) {
  842. vm.goods.primaryPicUrl = file.response.url;
  843. },
  844. handleSuccessListPicUrl: function (res, file) {
  845. vm.goods.listPicUrl = file.response.url;
  846. },
  847. eyeImagePicUrl: function () {
  848. var url = vm.goods.primaryPicUrl;
  849. eyeImage(url);
  850. },
  851. eyeImageListPicUrl: function () {
  852. var url = vm.goods.listPicUrl;
  853. eyeImage(url);
  854. },
  855. eyeImage: function (e) {
  856. eyeImage($(e.target).attr('src'));
  857. },
  858. eyeImageListVideoUrl: function (e) {
  859. var url = vm.goods.videoUrl;
  860. eyeVideo(url);
  861. },
  862. handleVideoFormatError: function (file) {
  863. this.$Notice.warning({
  864. title: '文件格式不正确',
  865. desc: '文件 ' + file.name + ' 格式不正确,请上传 mp4 格式的图片。'
  866. });
  867. },
  868. handleVideoMaxSize: function (file) {
  869. this.$Notice.warning({
  870. title: '超出文件大小限制',
  871. desc: '文件 ' + file.name + ' 太大,不能超过 1M。'
  872. });
  873. },
  874. handleSuccessListVideoUrl: function (res, file) {
  875. vm.goods.videoUrl = file.response.url;
  876. },
  877. goodsExport: function () {
  878. vm.fileList = false;
  879. },
  880. showMerchInfo:function(opt){
  881. var merchSn = opt.value;
  882. // vm.getCategories(merchSn);
  883. // vm.getFreights(merchSn);
  884. // vm.getBrand(merchSn);
  885. vm.getThirdMerchantBizList(merchSn);
  886. },
  887. // getCategories: function (merchSn) {
  888. // $.get("../category/getCategorySelect?isShow=1&merchSn=" + merchSn, function (r) {
  889. // vm.categories = r.list;
  890. // });
  891. // }
  892. },
  893. mounted() {
  894. // this.uploadList = this.$refs.upload.fileList;
  895. /*$.get("../category/getCategorySelect", function (r) {
  896. vm.queryCategories = r.list;
  897. });*/
  898. $.get("../merch/queryAll", function (r) {
  899. vm.queryMerch = r.list;
  900. });
  901. $.get("../store/queryAll", function (r) {
  902. vm.stores = r.list;
  903. });
  904. $.get("../sys/macro/queryMacrosByValue?value=goodsBizType", function (r) {
  905. vm.macros = r.list;
  906. });
  907. $.get("../thirdmerchantbiz/queryAll", function (r) {
  908. vm.thirdMerchantBizViewList = r.list;
  909. });
  910. }
  911. });