Product.php 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. <?php
  2. namespace app\admin\controller;
  3. use think\Lang;
  4. class Product extends AdminControl
  5. {
  6. public function _initialize()
  7. {
  8. parent::_initialize();
  9. Lang::load(APP_PATH . 'admin/lang/' . config('default_lang') . '/product.lang.php');
  10. }
  11. public function index()
  12. {
  13. $model_product = Model('product');
  14. $product_keywords = input('post.product_keywords');
  15. $product_type = input('post.product_type');
  16. $condition = array();
  17. if($product_keywords){
  18. $condition['product_keywords'] = $product_keywords;
  19. }
  20. if($product_type){
  21. $condition['product_type'] = $product_type;
  22. }
  23. $product_list = $model_product->getProductList($condition,'*',10);
  24. if($product_list){
  25. for ($i=0; $i < count($product_list); $i++) {
  26. $where['member_id'] = $product_list[$i]['product_companyid'];
  27. $gsname_list[] = model('member')->getMemberInfo($where,$field = 'member_name');
  28. }
  29. $this->assign('gsname_list',$gsname_list);
  30. for ($ie=0; $ie < count($product_list); $ie++) {
  31. $con = $product_list[$ie]['product_content'];
  32. $pattern="/<[img|IMG].*?src=[\'\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/";
  33. $replacement = '';
  34. $conlist[] = preg_replace($pattern,$replacement ,$con);
  35. }
  36. $this->assign('conlist',$conlist);
  37. }
  38. $allpower = $this->qxhans();
  39. $this->assign('allpower',$allpower);
  40. $this->assign('product_list', $product_list);
  41. $this->assign('show_page', $model_product->page_info->render());
  42. $this->setAdminCurItem('index');
  43. return $this->fetch();
  44. }
  45. public function add()
  46. {
  47. $allpower = $this->qxhans();
  48. $this->assign('allpower',$allpower);
  49. if (request()->isPost()) {
  50. $data = array(
  51. 'product_type' => input('post.product_type'),
  52. 'product_companyid' => input('post.product_companyid'),
  53. 'product_title' => input('post.product_title'),
  54. 'product_ctitle' => input('post.product_ctitle'),
  55. 'product_keywords' => input('post.product_keywords'),
  56. 'product_status' => input('post.product_status'),
  57. 'product_isjump' => input('post.product_isjump'),
  58. 'product_content' => input('post.product_content'),
  59. 'product_usetime' => input('post.product_usetime'),
  60. );
  61. if (!input('param.product_addtime')) {
  62. $data['product_addtime'] = TIMESTAMP;
  63. } else {
  64. $data['product_addtime'] = strtotime(input('param.product_addtime'));
  65. }
  66. $result = model('product')->addproduct($data);
  67. if ($result){
  68. $this->success(lang('add_succ'), url('product/index'));
  69. }
  70. $this->error(lang('add_fail'));
  71. } else {
  72. $product = array(
  73. 'product_isjump' => 0,
  74. 'product_status' => 0,
  75. 'product_type' => '',
  76. 'product_usetime' => '',
  77. );
  78. $onlygs = array(
  79. 'member_id' => 0,
  80. 'member_name' =>"请选择所属公司",
  81. );
  82. $pic_list = model('pic')->getPicList(array('pic_id' => 0));
  83. $allgs = model('member')->allcompany('');
  84. $this->assign('allgs',$allgs);//所有开启的公司
  85. $this->assign('product', $product);
  86. $this->assign('onlygs',$onlygs);
  87. $this->assign('product_pic_type', ['pic_type' => 'product']);
  88. $this->assign('pic_list', $pic_list);
  89. $this->setAdminCurItem('add');
  90. return $this->fetch('form');
  91. }
  92. }
  93. public function edit()
  94. {
  95. $allpower = $this->qxhans();
  96. $this->assign('allpower',$allpower);
  97. $product_id = input('param.product_id');
  98. if ($product_id <= 0) {
  99. $this->error('系统错误');
  100. }
  101. $condition['pic_type'] = 'product';
  102. $condition['pic_type_id'] = $product_id;
  103. if (request()->isPost()) {
  104. $data = array(
  105. 'product_type' => input('post.product_type'),
  106. 'product_companyid' => input('post.product_companyid'),
  107. 'product_title' => input('post.product_title'),
  108. 'product_ctitle' => input('post.product_ctitle'),
  109. 'product_keywords' => input('post.product_keywords'),
  110. 'product_usetime' => input('post.product_usetime'),
  111. 'product_status' => input('post.product_status'),
  112. 'product_isjump' => input('post.product_isjump'),
  113. 'product_content' => input('post.product_content'),
  114. );
  115. if (!input('param.product_updatetime')) {
  116. $data['product_updatetime'] = TIMESTAMP;
  117. } else {
  118. $data['product_updatetime'] = strtotime(input('param.product_updatetime'));
  119. }
  120. $result = model('product')->editproduct(['product_id' => $product_id], $data);
  121. if ($result >= 0) {
  122. $this->success(lang('edit_succ'), 'product/index');
  123. } else {
  124. $this->error(lang('edit_fail'));
  125. }
  126. } else {
  127. $pic_list = model('pic')->getpicList($condition);
  128. $this->assign('pic_list', $pic_list);
  129. //获取当前帮助中心的内容
  130. $product = model('product')->getOneProduct(['product_id' => $product_id]);
  131. $allgs = model('member')->allcompany($product['product_companyid']);
  132. $where['member_id'] = $product['product_companyid'];
  133. $onlygs = model('member')->getMemberInfo($where,$field = 'member_id,member_name');
  134. $this->assign('onlygs',$onlygs);//所属公司
  135. $this->assign('allgs',$allgs);//所有开启的公司
  136. $this->assign('product_pic_type', ['pic_type' => 'product']);
  137. $this->assign('product', $product);
  138. $this->setAdminCurItem('edit');
  139. return $this->fetch('form');
  140. }
  141. }
  142. function del()
  143. {
  144. $product_id = intval(input('param.product_id'));
  145. if ($product_id) {
  146. $condition['product_id'] = $product_id;
  147. $result = model('product')->delproduct($condition);
  148. if ($result) {
  149. ds_json_encode(10000, lang('del_succ'));
  150. } else {
  151. ds_json_encode(10001, lang('del_fail'));
  152. }
  153. } else {
  154. ds_json_encode(10001, lang('param_error'));
  155. }
  156. }
  157. function ajax()
  158. {
  159. $branch = input('param.branch');
  160. switch ($branch) {
  161. case 'product':
  162. $product_mod = model('product');
  163. $condition = array('product_id' => intval(input('param.id')));
  164. $update[input('param.column')] = input('param.value');
  165. $product_mod->editproduct($condition, $update);
  166. echo 'true';
  167. }
  168. }
  169. function setproduct()
  170. {
  171. $product_type = input('param.product_type');
  172. $product_id = input('param.product_id');
  173. $res = model('product')->getOneProduct(['product_id' => $product_id], $product_type);
  174. $id = $res[$product_type] == 0 ? 1 : 0;
  175. $update[$product_type] = $id;
  176. $condition['product_id'] = $product_id;
  177. if (model('product')->editproduct($condition, $update)) {
  178. ds_json_encode(10000, lang('edit_succ'));
  179. } else {
  180. $this->error(lang('edit_fail'));
  181. }
  182. }
  183. protected function getAdminItemList()
  184. {
  185. $menu_array = array(
  186. array(
  187. 'name' => 'index', 'text' => '管理', 'url' => url('product/index')
  188. ), array(
  189. 'name' => 'add', 'text' => '新增', 'url' => url('product/add')
  190. ),
  191. );
  192. if (request()->action() == 'edit') {
  193. $menu_array[] = array(
  194. 'name' => 'edit', 'text' => '编辑', 'url' => url('product/edit')
  195. );
  196. }
  197. return $menu_array;
  198. }
  199. }