material_list.vue 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. <template>
  2. <div class="app-container">
  3. <div v-if="isShow">
  4. <!-- 筛选条件 -->
  5. <div>
  6. <el-form
  7. ref="screenForm"
  8. :model="screenForm"
  9. label-width="70px"
  10. size="small"
  11. label-position="left"
  12. >
  13. <el-row :gutter="20">
  14. <el-col :xs="24" :sm="12" :lg="6">
  15. <el-form-item label="名称" prop="keyword">
  16. <el-input
  17. v-model="screenForm.keyword"
  18. placeholder="请输入名称"
  19. />
  20. </el-form-item>
  21. </el-col>
  22. <el-col :xs="24" :sm="12" :lg="6">
  23. <el-form-item label="物料编码" prop="number">
  24. <el-input
  25. v-model="screenForm.number"
  26. placeholder="请输入物料编码"
  27. />
  28. </el-form-item>
  29. </el-col>
  30. <el-col :xs="24" :sm="12" :lg="6">
  31. <el-form-item label="金蝶编码" prop="oldNumber">
  32. <el-input
  33. v-model="screenForm.oldNumber"
  34. placeholder="请输入金蝶编码"
  35. />
  36. </el-form-item>
  37. </el-col>
  38. <el-col :xs="24" :sm="12" :lg="6" class="tr">
  39. <el-form-item label="">
  40. <el-button size="small" @click="resetScreenForm"
  41. >清空</el-button
  42. >
  43. <el-button size="small" type="primary" @click="submitScreenForm"
  44. >搜索</el-button
  45. >
  46. </el-form-item>
  47. </el-col>
  48. </el-row>
  49. </el-form>
  50. </div>
  51. <div class="mymain-container">
  52. <div class="table">
  53. <el-table
  54. v-loading="listLoading"
  55. :data="dataList"
  56. element-loading-text="Loading"
  57. border
  58. fit
  59. highlight-current-row
  60. stripe
  61. >
  62. <!-- <el-table-column
  63. type="selection"
  64. align="center"
  65. min-width="100"
  66. ></el-table-column> -->
  67. <el-table-column
  68. align="center"
  69. label="使用组织"
  70. prop="useOrgName"
  71. min-width="100"
  72. />
  73. <el-table-column
  74. align="center"
  75. label="编码"
  76. prop="number"
  77. min-width="100"
  78. label-class-name="bianma"
  79. class-name="fontstyle"
  80. />
  81. <el-table-column
  82. align="center"
  83. label="名称"
  84. prop="name"
  85. min-width="100"
  86. />
  87. <el-table-column
  88. align="center"
  89. label="规格型号"
  90. prop="specification"
  91. min-width="100"
  92. />
  93. <el-table-column
  94. align="center"
  95. label="数据状态"
  96. prop="forbidStatus"
  97. min-width="100"
  98. >
  99. <template slot-scope="scope">
  100. <el-tag v-if="scope.row.forbidStatus == 'A'" type="success"
  101. >正常</el-tag
  102. >
  103. <el-tag v-else type="danger">禁用</el-tag>
  104. </template>
  105. </el-table-column>
  106. <el-table-column
  107. align="center"
  108. label="是否维护商城资料"
  109. prop="maintainData"
  110. min-width="100"
  111. />
  112. <!-- <el-table-column-->
  113. <!-- align="center"-->
  114. <!-- label="是否维护内外机档案"-->
  115. <!-- prop="maintainFiles"-->
  116. <!-- min-width="100"-->
  117. <!-- >-->
  118. <!-- <template slot-scope="scope">-->
  119. <!-- <el-tag v-if="scope.row.isSheath == true" type="success"-->
  120. <!-- >是</el-tag-->
  121. <!-- >-->
  122. <!-- <el-tag v-else type="danger">否</el-tag>-->
  123. <!-- </template>-->
  124. <!-- </el-table-column>-->
  125. <el-table-column
  126. align="center"
  127. label="基本单位"
  128. prop="baseUnitId"
  129. min-width="100"
  130. />
  131. <el-table-column
  132. align="center"
  133. label="已使用"
  134. prop="used"
  135. min-width="100"
  136. />
  137. <el-table-column
  138. align="center"
  139. label="操作"
  140. prop="caozuo"
  141. min-width="160"
  142. show-overflow-tooltip
  143. >
  144. <template slot-scope="scope">
  145. <el-button
  146. type="text"
  147. class="textColor"
  148. @click="hanleDetail(scope.row.id)"
  149. >详情</el-button
  150. >
  151. <!-- <el-button type="text" class="textColor">删除</el-button> -->
  152. </template>
  153. </el-table-column>
  154. </el-table>
  155. </div>
  156. <!-- 分页 -->
  157. <div class="fr">
  158. <el-pagination
  159. :current-page="currentPage"
  160. :page-sizes="[10, 20, 30, 50]"
  161. :page-size="10"
  162. layout="total, sizes, prev, pager, next, jumper"
  163. :total="listTotal"
  164. @size-change="handleSizeChange"
  165. @current-change="handleCurrentChange"
  166. />
  167. </div>
  168. </div>
  169. </div>
  170. <MaterialListDetail v-else :detail="detail" />
  171. </div>
  172. </template>
  173. <script>
  174. import Mixin from '@/mixin/index'
  175. import { getMaterialDetail, getMaterialList } from '@/api/basic_data/material'
  176. import MaterialListDetail from './components/material_list-detail.vue'
  177. export default {
  178. components: { MaterialListDetail },
  179. mixins: [Mixin],
  180. data() {
  181. return {
  182. isShow: true,
  183. screenForm: {
  184. // 筛选表单数据
  185. keyword: "", // 名称
  186. number: "",
  187. oldNumber: "",
  188. },
  189. };
  190. },
  191. methods: {
  192. hanleDetail(id) {
  193. getMaterialDetail({ id }).then((res) => {
  194. console.log(res);
  195. this.detail = res.data;
  196. this.isShow = false;
  197. });
  198. },
  199. getList() {
  200. this.listLoading = true;
  201. const params = {
  202. pageNum: this.currentPage,
  203. pageSize: this.pageSize,
  204. keyword: this.screenForm.keyword,
  205. number: this.screenForm.number,
  206. oldNumber: this.screenForm.oldNumber,
  207. };
  208. getMaterialList(params).then((res) => {
  209. this.dataList = res.data.records;
  210. this.listTotal = res.data.total;
  211. this.listLoading = false;
  212. });
  213. },
  214. },
  215. };
  216. </script>
  217. <style lang="scss" scoped>
  218. // ::v-deep .fontstyle {
  219. // color: #0909ff;
  220. // }
  221. // ::v-deep .bianma {
  222. // color: #409eff;
  223. // }
  224. </style>