1
0

goodsPanorama.js 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936
  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/offilineOrderList',
  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: 'consignee', index: 'consignee',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. console.log(id);
  412. vm.getInfo2(id);
  413. vm.thirdMerchantBizList = [];
  414. vm.getCusUnitCodeList();
  415. vm.getCusNationCode();
  416. vm.showInput = true;
  417. if (vm.goods.goodsBizType == '10' || vm.goods.goodsBizType == '02') {
  418. vm.showInput = false;
  419. }
  420. vm.price();
  421. vm.discount();
  422. vm.detail();
  423. },
  424. getInfo2: function (id) {
  425. console.log(111);
  426. $.get("../goods/info/" + id, function (r) {
  427. vm.goods = r.goods;
  428. vm.goodsBizType = r.goods.goodsBizType;
  429. vm.q.goodsSn = r.goods.goodsSn;
  430. vm.branch();
  431. vm.barcode();
  432. vm.sales();
  433. });
  434. },
  435. getInfo: function () {
  436. var postData = {"goodsSn":vm.q.goodsSn,'prodBarcode':vm.q.prodBarcode,'storeId':vm.q.storeId};
  437. vm.getCusUnitCodeList();
  438. vm.getCusNationCode();
  439. $.post("../goods/infoByQuery",postData,function(r){
  440. vm.goods = r.goods;
  441. console.log(r.goods);
  442. // vm.goodsBizType = r.goods.goodsBizType;
  443. vm.q.goodsSn = r.goods.goodsSn;
  444. vm.branch();
  445. vm.barcode();
  446. vm.sales();
  447. });
  448. // $.get("../goods/info/" + id, function (r) {
  449. // vm.goods = r.goods;
  450. // vm.goodsBizType = r.goods.goodsBizType;
  451. //
  452. // });
  453. },
  454. branch:function(){
  455. var postData = {"goodsSn":vm.q.goodsSn,'prodBarcode':vm.q.prodBarcode,'storeId':vm.q.storeId};
  456. $("#branchJqGrid").jqGrid('setGridParam',{
  457. datatype:'json',
  458. postData:postData,
  459. }).trigger("reloadGrid");
  460. },
  461. price:function(){
  462. },
  463. discount:function(){
  464. },
  465. barcode:function(){
  466. var postData = {"goodsSn":vm.q.goodsSn,'prodBarcode':vm.q.prodBarcode,'storeId':vm.q.storeId};
  467. $("#barcodeJqGrid").jqGrid('setGridParam',{
  468. datatype:'json',
  469. postData:postData,
  470. }).trigger("reloadGrid");
  471. },
  472. detail:function(){
  473. },
  474. sales:function(){
  475. var postData = {"goodsSn":vm.q.goodsSn,'prodBarcode':vm.q.prodBarcode,'storeId':vm.q.storeId};
  476. $("#salesJqGrid").jqGrid('setGridParam',{
  477. datatype:'json',
  478. postData:postData,
  479. }).trigger("reloadGrid");
  480. },
  481. getMacro: function () {
  482. // 获取货品业务类型
  483. $.get("../sys/macro/queryMacrosByValue?value=goodsBizType", function (r) {
  484. vm.macros = r.list;
  485. });
  486. },/*
  487. getBrand: function (merchSn) {
  488. $.get("../brand/queryAll?merchSn=" + merchSn, function (r) {
  489. vm.brands = r.list;
  490. });
  491. },*/
  492. getSuppliers: function (thirdMerchantCode) {
  493. $.get("../supplier/queryAll?thirdPartyMerchCode=" + thirdMerchantCode, function (r) {
  494. vm.suppliers = r.list;
  495. });
  496. },
  497. getCusUnitCodeList: function () {
  498. $.get("../syscusunitcode/queryAll", function (r) {
  499. vm.cusUnitCodeList = r.list;
  500. });
  501. },
  502. getCusNationCode: function () {
  503. $.get("../syscusnationcode/queryAll", function (r) {
  504. vm.cusNationCodeList = r.list;
  505. });
  506. },/*
  507. getFreights: function(merchSn) {
  508. $.get("../freight/queryAll?merchSn=" + merchSn, function (r) {
  509. vm.freights = r.list;
  510. });
  511. },*/
  512. getGoodsGallery: function (id) {//获取商品顶部轮播图
  513. $.get("../goodsgallery/queryAll?goodsId=" + id, function (r) {
  514. vm.uploadList = r.list;
  515. });
  516. },
  517. getMerchList: function() {
  518. $.get("../merch/queryAll", function (r) {
  519. vm.merchList = r.list;
  520. });
  521. },
  522. getThirdMerchantBizList: function(merchSn) {
  523. $.get("../thirdmerchantbiz/queryAll?merchSn=" + merchSn, function (r) {
  524. vm.thirdMerchantBizList = r.list;
  525. });
  526. },
  527. saveOrUpdate: function (event) {
  528. var url = vm.goods.id == null ? "../goods/save" : "../goods/update";
  529. vm.goods.goodsDesc = $('#goodsDesc').editable('getHTML');
  530. vm.goods.goodsImgList = vm.uploadList;
  531. // vm.goods.attributeEntityList = vm.attributeEntityList;
  532. vm.goods.productEntityList = vm.productEntityList;
  533. $.ajax({
  534. type: "POST",
  535. url: url,
  536. dataType: "json",
  537. contentType: "application/json",
  538. data: JSON.stringify(vm.goods),
  539. success: function (r) {
  540. if (r.code === 0) {
  541. alert('操作成功', function (index) {
  542. vm.reload();
  543. });
  544. } else {
  545. alert(r.msg);
  546. }
  547. }
  548. });
  549. },
  550. enSale: function () {
  551. var ids = getSelectedRows();
  552. if (ids == null) {
  553. return;
  554. }
  555. confirm('确定要上架选中的商品?', function () {
  556. $.ajax({
  557. type: "POST",
  558. url: "../goods/enSaleBatch",
  559. contentType: "application/json",
  560. data: JSON.stringify(ids),
  561. success: function (r) {
  562. if (r.code == 0) {
  563. alert('操作成功', function (index) {
  564. $("#jqGrid").trigger("reloadGrid");
  565. });
  566. } else {
  567. alert(r.msg);
  568. }
  569. }
  570. });
  571. });
  572. },
  573. openSpe: function () {
  574. var id = getSelectedRow();
  575. if (id == null) {
  576. return;
  577. }
  578. openWindow({
  579. type: 2,
  580. title: '商品规格',
  581. content: '../shop/goodsspecification.html?goodsId=' + id
  582. })
  583. },
  584. openPro: function () {
  585. var id = getSelectedRow();
  586. if (id == null) {
  587. return;
  588. }
  589. openWindow({
  590. type: 2,
  591. title: '产品设置',
  592. content: '../shop/product.html?goodsId=' + id
  593. });
  594. },
  595. unSale: function () {
  596. var ids = getSelectedRows();
  597. if (ids == null) {
  598. return;
  599. }
  600. confirm('确定要下架选中的商品?', function () {
  601. $.ajax({
  602. type: "POST",
  603. url: "../goods/unSaleBatch",
  604. contentType: "application/json",
  605. data: JSON.stringify(ids),
  606. success: function (r) {
  607. if (r.code == 0) {
  608. alert('操作成功', function (index) {
  609. $("#jqGrid").trigger("reloadGrid");
  610. });
  611. } else {
  612. alert(r.msg);
  613. }
  614. }
  615. });
  616. });
  617. },
  618. del: function (event) {
  619. var ids = getSelectedRows();
  620. if (ids == null) {
  621. return;
  622. }
  623. confirm('确定要删除选中的记录?', function () {
  624. $.ajax({
  625. type: "POST",
  626. url: "../goods/delete",
  627. contentType: "application/json",
  628. data: JSON.stringify(ids),
  629. success: function (r) {
  630. if (r.code == 0) {
  631. alert('操作成功', function (index) {
  632. $("#jqGrid").trigger("reloadGrid");
  633. });
  634. } else {
  635. alert(r.msg);
  636. }
  637. }
  638. });
  639. });
  640. },
  641. reload: function (event) {
  642. vm.sales();
  643. vm.branch();
  644. vm.barcode();
  645. vm.getInfo();
  646. // vm.showList = true;
  647. // let page = event;
  648. // if (event != 1) {
  649. // page = $("#jqGrid").jqGrid('getGridParam', 'page');
  650. // }
  651. // $("#jqGrid").jqGrid('setGridParam', {
  652. // postData: {
  653. // 'name': vm.q.name,
  654. // 'englishName': vm.q.englishName,
  655. // 'goodsSn': vm.q.goodsSn,
  656. // 'prodBarcode': vm.q.prodBarcode,
  657. // 'goodsBizType': vm.q.goodsBizType,
  658. // 'merchSn': vm.q.merchSn,
  659. // 'thirdPartyMerchCode': vm.q.thirdPartyMerchCode
  660. // },
  661. // page: page
  662. // }).trigger("reloadGrid");
  663. // vm.handleReset('formValidate');
  664. },
  665. returnBack:function(){
  666. vm.showList = true;
  667. },
  668. getCategory: function () {
  669. //加载分类树
  670. $.get("../category/query", function (r) {
  671. ztree = $.fn.zTree.init($("#categoryTree"), setting, r.list);
  672. var node = ztree.getNodeByParam("id", vm.goods.categoryId);
  673. if (node) {
  674. ztree.selectNode(node);
  675. vm.goods.categoryName = node.name;
  676. } else {
  677. node = ztree.getNodeByParam("id", 0);
  678. ztree.selectNode(node);
  679. vm.goods.categoryName = node.name;
  680. }
  681. })
  682. },
  683. categoryTree: function () {
  684. openWindow({
  685. title: "选择类型",
  686. area: ['300px', '450px'],
  687. content: jQuery("#categoryLayer"),
  688. btn: ['确定', '取消'],
  689. btn1: function (index) {
  690. var node = ztree.getSelectedNodes();
  691. if (node[0].isParent) {
  692. alert("只能选择");
  693. return;
  694. }
  695. //选择上级菜单
  696. vm.goods.categoryId = node[0].id;
  697. vm.goods.categoryName = node[0].name;
  698. layer.close(index);
  699. }
  700. });
  701. },
  702. showStockShare:function(opt){
  703. var thirdMerchantCode = opt.value;
  704. /*$.get("../thirdmerchantbiz/infoByCode?thirdMerchantCode=" + thirdMerchantCode, function (r) {
  705. if(r.thirdMerchantBiz){
  706. vm.share = r.thirdMerchantBiz.isStockShare;
  707. if(vm.goods.goodsBizType == '00' && r.thirdMerchantBiz.isStockShare == 1){
  708. // vm.isStockShare = true;
  709. }else{
  710. // vm.isStockShare = false;
  711. vm.goods.goodsNumber= '';
  712. }
  713. }
  714. });*/
  715. vm.getSuppliers(thirdMerchantCode);
  716. },
  717. changeGoodsBizType: function(opt) {
  718. var goodsBizType = opt.value;
  719. if (vm.goods.goodsBizType == '10' || vm.goods.goodsBizType == '02') {
  720. vm.showInput = false;
  721. } else {
  722. vm.showInput = true;
  723. }
  724. // console.log('goodsBizType:'+vm.goods.goodsBizType)
  725. // console.log('share:'+vm.share)
  726. // if(vm.goods.goodsBizType == '00' && vm.share == 1){
  727. // vm.isStockShare = true;
  728. // }else{
  729. // vm.isStockShare = false;
  730. // // vm.goods.goodsNumber= '';
  731. // // console.log('错错错')
  732. // }
  733. },
  734. handleView(name) {
  735. this.imgName = name;
  736. this.visible = true;
  737. },
  738. /*changeQueryCategories: function (opt) {
  739. var value = opt.value;
  740. $.get("../category/getCategorySelectByParent?parentId=" + value, function (r) {
  741. vm.queryCategoriesTwo = r.list;
  742. });
  743. },
  744. getAttributes: function (opt) {
  745. var value = opt.value;
  746. $.get("../attribute/query?attributeCategoryId=" + value, function (r) {
  747. vm.attributes = r.list;
  748. });
  749. if (opt.flag != 1 && !(value === vm.categoryId)) {
  750. if (vm.attributeEntityList.length > 0 && vm.attributeEntityList[0].attributeId != '') {
  751. for (var i = 0; i < vm.attributeEntityList.length; i++) {
  752. if (!(vm.attributeEntityList[0].attributeId === '')) {
  753. vm.attributeEntityList[i].isDelete = 1;
  754. }
  755. }
  756. var goodsId = '';
  757. if (vm.goods) {
  758. goodsId = vm.goods.id;
  759. }
  760. vm.attributeEntityList.unshift({'id': '', 'goodsId': goodsId, 'attributeId': '', 'value': '', 'isDelete': 0});
  761. }
  762. }
  763. },
  764. changeCategories: function (opt) {
  765. var value = opt.value;
  766. $.get("../category/getCategorySelectByParent?isShow=1&parentId=" + value, function (r) {
  767. vm.categoriesTwo = r.list;
  768. });
  769. },*/
  770. uploadExcelSuccess: function (data) {
  771. // console.log(data);
  772. if(data.code==0){
  773. alert('导入成功', function (index) {
  774. $("#jqGrid").trigger("reloadGrid");
  775. });
  776. }else{
  777. alert(data.msg);
  778. }
  779. },
  780. uploadExcelError: function () {
  781. alert('上传出现异常,请重试!');
  782. },
  783. uploadExcelFormatError: function (file) {
  784. this.$Notice.warning({
  785. title: '文件格式不正确',
  786. desc: '文件 ' + file.name + ' 格式不正确,请上传 xls 或 xlsx 格式的文件。'
  787. });
  788. },
  789. handleRemove(file) {
  790. // 从 upload 实例删除数据
  791. const fileList = vm.uploadList;
  792. vm.uploadList.splice(fileList.indexOf(file), 1);
  793. },
  794. handleSuccess(res, file) {
  795. // 因为上传过程为实例,这里模拟添加 url
  796. file.imgUrl = res.url;
  797. file.name = res.url;
  798. vm.uploadList.add(file);
  799. },
  800. handleBeforeUpload() {
  801. const check = vm.uploadList.length < 5;
  802. if (!check) {
  803. this.$Notice.warning({
  804. title: '最多只能上传 5 张图片。'
  805. });
  806. }
  807. return check;
  808. },
  809. handleSubmit: function (name) {
  810. // handleSubmitValidate(this, name, function () {
  811. vm.saveOrUpdate()
  812. // });
  813. },
  814. handleFormatError: function (file) {
  815. this.$Notice.warning({
  816. title: '文件格式不正确',
  817. desc: '文件 ' + file.name + ' 格式不正确,请上传 jpg 或 png 格式的图片。'
  818. });
  819. },
  820. handleMaxSize: function (file) {
  821. this.$Notice.warning({
  822. title: '超出文件大小限制',
  823. desc: '文件 ' + file.name + ' 太大,不能超过 100k。'
  824. });
  825. },
  826. handleMaxSizeByInfo: function (file) {
  827. this.$Notice.warning({
  828. title: '超出文件大小限制',
  829. desc: '文件 ' + file.name + ' 太大,不能超过 300k。'
  830. });
  831. },
  832. handleReset: function (name) {
  833. handleResetForm(this, name);
  834. },
  835. handleSuccessPicUrl: function (res, file) {
  836. vm.goods.primaryPicUrl = file.response.url;
  837. },
  838. handleSuccessListPicUrl: function (res, file) {
  839. vm.goods.listPicUrl = file.response.url;
  840. },
  841. eyeImagePicUrl: function () {
  842. var url = vm.goods.primaryPicUrl;
  843. eyeImage(url);
  844. },
  845. eyeImageListPicUrl: function () {
  846. var url = vm.goods.listPicUrl;
  847. eyeImage(url);
  848. },
  849. eyeImage: function (e) {
  850. eyeImage($(e.target).attr('src'));
  851. },
  852. eyeImageListVideoUrl: function (e) {
  853. var url = vm.goods.videoUrl;
  854. eyeVideo(url);
  855. },
  856. handleVideoFormatError: function (file) {
  857. this.$Notice.warning({
  858. title: '文件格式不正确',
  859. desc: '文件 ' + file.name + ' 格式不正确,请上传 mp4 格式的图片。'
  860. });
  861. },
  862. handleVideoMaxSize: function (file) {
  863. this.$Notice.warning({
  864. title: '超出文件大小限制',
  865. desc: '文件 ' + file.name + ' 太大,不能超过 1M。'
  866. });
  867. },
  868. handleSuccessListVideoUrl: function (res, file) {
  869. vm.goods.videoUrl = file.response.url;
  870. },
  871. goodsExport: function () {
  872. vm.fileList = false;
  873. },
  874. showMerchInfo:function(opt){
  875. var merchSn = opt.value;
  876. // vm.getCategories(merchSn);
  877. // vm.getFreights(merchSn);
  878. // vm.getBrand(merchSn);
  879. vm.getThirdMerchantBizList(merchSn);
  880. },
  881. // getCategories: function (merchSn) {
  882. // $.get("../category/getCategorySelect?isShow=1&merchSn=" + merchSn, function (r) {
  883. // vm.categories = r.list;
  884. // });
  885. // }
  886. },
  887. mounted() {
  888. // this.uploadList = this.$refs.upload.fileList;
  889. /*$.get("../category/getCategorySelect", function (r) {
  890. vm.queryCategories = r.list;
  891. });*/
  892. $.get("../merch/queryAll", function (r) {
  893. vm.queryMerch = r.list;
  894. });
  895. $.get("../store/queryAll", function (r) {
  896. vm.stores = r.list;
  897. });
  898. $.get("../sys/macro/queryMacrosByValue?value=goodsBizType", function (r) {
  899. vm.macros = r.list;
  900. });
  901. $.get("../thirdmerchantbiz/queryAll", function (r) {
  902. vm.thirdMerchantBizViewList = r.list;
  903. });
  904. }
  905. });