inventory-details.php 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. <?php
  2. use common\helpers\ComponentHelper;
  3. $diyPath = dirname(__DIR__) . '/components';
  4. ComponentHelper::loadComponentView('agent-edit', $diyPath);
  5. ?>
  6. <template id="inventory-details">
  7. <el-dialog :visible.sync="edit.visible" width="50%" center>
  8. <div style="margin-bottom: 20px;">
  9. <el-button type="primary" size="small" style="padding: 9px 15px !important;" @click="agentEditClick">添加代理商</el-button>
  10. </div>
  11. <div class="input-item">
  12. <el-input @keyup.enter.native="loadData" size="small" placeholder="请输入用户id" v-model="search.user_id"
  13. clearable @clear="toSearch">
  14. </el-input>
  15. </div>
  16. <div class="input-item">
  17. <el-input @keyup.enter.native="loadData" size="small" placeholder="请输入用户昵称/手机号搜索" v-model="search.keyword" clearable @clear="toSearch">
  18. </el-input>
  19. </div>
  20. <el-button type="primary" size="small" style="padding: 9px 15px !important;" @click="toSearch">搜索</el-button>
  21. <el-table
  22. v-loading = "listLoading"
  23. size="small"
  24. :data="list2"
  25. style="width: 100%;">
  26. <el-table-column prop="user_id" label="用户ID" align="center"></el-table-column>
  27. <el-table-column label="用户信息" >
  28. <template slot-scope="scope">
  29. <div class="user_img" flex="cross:center">
  30. <el-image class="default-avatar" :src="scope.row.avatar_url">
  31. <div slot="error" class="image-slot">
  32. <com-image src="resources/img/mall/default_avatar_url.png"></com-image>
  33. </div>
  34. </el-image>
  35. <div class="uer-nickname over1" v-if="scope.row.nickname">{{scope.row.nickname}}</div>
  36. <div class="uer-nickname over1" v-else >ID:{{scope.row.user_id}}</div>
  37. </div>
  38. </template>
  39. </el-table-column>
  40. <el-table-column label="联系电话" prop="mobile" align="center" >
  41. <template slot-scope="scope">
  42. <div>{{scope.row.mobile}}</div>
  43. </template>
  44. </el-table-column>
  45. <el-table-column label="用户等级" prop="level_name" align="center" >
  46. <template slot-scope="scope">
  47. <div>{{scope.row.level_name}}</div>
  48. </template>
  49. </el-table-column>
  50. <el-table-column label="操作" min-width="80" align="center">
  51. <template slot-scope="scope">
  52. <el-button type="text" @click="handleChange('destroy',scope.row)">删除</el-button>
  53. </template>
  54. </el-table-column>
  55. </el-table>
  56. <div style="text-align: right;margin: 20px 0;">
  57. <el-pagination
  58. @current-change="pagination"
  59. background
  60. layout="prev, pager, next"
  61. :page-count="pageCount">
  62. </el-pagination>
  63. </div>
  64. <agent-edit v-model="agentEdit.show" @savesuccess="agentEditFun" :company_id="edit_row.company_id"></agent-edit>
  65. </el-dialog>
  66. </template>
  67. <script>
  68. Vue.component('inventory-details', {
  69. template: '#inventory-details',
  70. props: {
  71. value: {
  72. type: Boolean,
  73. default: false
  74. },
  75. edit_row: {
  76. type: Object,
  77. default: null
  78. }
  79. },
  80. data() {
  81. return {
  82. edit: {
  83. visible: false,
  84. company_id: '',
  85. btnLoading: false,
  86. },
  87. ruleForm: {
  88. /* express_no: '',
  89. express_name: '',
  90. order_id: '', */
  91. kuaidi:1
  92. },
  93. level_list: [],
  94. goods: null,
  95. activeName1:'first',
  96. loading:false,
  97. expressList:[],
  98. express_code:'',
  99. express_no:'',
  100. list2:[],
  101. listLoading:false,
  102. page:1,
  103. pageCount:0,
  104. innerVisible:false,
  105. goodsData:[],
  106. btnLoading:false,
  107. successFlag:false,
  108. search: {
  109. user_id: null,
  110. keyword: '',
  111. },
  112. agentEdit: {
  113. show: false,
  114. },
  115. }
  116. },
  117. watch: {
  118. value() {
  119. if (this.value) {
  120. this.edit.visible = true;
  121. this.successFlag = false;
  122. //this.goodsData = [this.edit_row.data];
  123. this.getDetailData();
  124. /* if (this.edit_row.id > 0) {
  125. console.log(this.edit_row)
  126. this.ruleForm.order_id = this.edit_row.id;
  127. } else {
  128. this.edit.id = 0;
  129. } */
  130. } else {
  131. this.edit.visible = false;
  132. }
  133. },
  134. 'edit.visible'() {
  135. if (!this.edit.visible) {
  136. if(this.successFlag){
  137. this.$emit('success',1)
  138. }
  139. this.express_code = '';
  140. this.express_no = '';
  141. this.editCancel();
  142. }
  143. if (this.edit.id) {
  144. }
  145. }
  146. },
  147. mounted() {
  148. //this.edit.id = this.edit_row.id;
  149. },
  150. methods: {
  151. onInput(e) {
  152. this.$forceUpdate();
  153. },
  154. agentClick(row) {
  155. this.edit.id = row.id
  156. },
  157. editCancel() {
  158. this.$emit('input', false);
  159. },
  160. getDetailData(){
  161. this.listLoading = true;
  162. //console.log('请求详情前的page='+this.page)
  163. //console.log('请求详情前的this.edit_row.user_id='+this.edit_row.user_id)
  164. request({
  165. params: {
  166. r: 'sales-company/default/agent-list',
  167. page: this.page,
  168. limit:10,
  169. company_id:this.edit_row.company_id,
  170. user_id:this.search.user_id,
  171. keyword:this.search.keyword,
  172. },
  173. method: 'get',
  174. }).then(e => {
  175. this.listLoading = false;
  176. //console.log('详情列表new=='+JSON.stringify(e))
  177. console.log(e.data.data.list)
  178. if(e.data.code == 0){
  179. this.list2 = e.data.data.list;
  180. this.pageCount = e.data.data.page_count;
  181. }
  182. }).catch(e => {
  183. console.log(e);
  184. this.listLoading = false;
  185. });
  186. },
  187. pagination(currentPage) {
  188. let self = this;
  189. self.page = currentPage;
  190. self.getDetailData();
  191. },
  192. toSearch() {
  193. this.search.page = 1;
  194. this.getDetailData();
  195. },
  196. agentEditClick() {
  197. this.agentEdit.show = true;
  198. },
  199. agentEditFun(){
  200. this.getDetailData();
  201. },
  202. handleChange(type, data = null) {
  203. let id = data ? parseInt(data.id) : '';
  204. switch (type) {
  205. case 'destroy':
  206. param = {id: data.id,type};
  207. this.$confirm('删除该条数据后不可以恢复, 是否继续?', '警告', {type: 'warning'}).then(() => {this.sendDelete(param)})
  208. break;
  209. }
  210. },
  211. sendDelete(params) {
  212. let self = this;
  213. request({
  214. params: {
  215. r: 'sales-company/default/agent-delete',
  216. },
  217. method: 'post',
  218. data: params
  219. }).then(e => {
  220. if (e.data.code == 0) {
  221. self.$message.success(e.data.msg);
  222. self.getDetailData();
  223. } else {
  224. self.$message.error(e.data.msg);
  225. }
  226. }).catch(e => {
  227. console.log(e);
  228. });
  229. },
  230. }
  231. });
  232. </script>
  233. <style>
  234. /* .myTable2 .el-table__footer-wrapper,.myTable2 .el-table__header-wrapper{
  235. border-bottom: 1.4px solid #D6D6D6;
  236. } */
  237. .myLable .el-form-item__label{
  238. color: red !important;
  239. }
  240. </style>