goodsPanorama.js 35 KB

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