index.vue 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. <template>
  2. <div>
  3. <basicDetails
  4. ref="details"
  5. :titleText="mainData.itemname"
  6. :editData="mainData"
  7. :mainAreaData="mainAreaData"
  8. turnPageId="20220923140602"
  9. idname="itemid"
  10. ownertable="plm_item"
  11. tags=""
  12. :tabs="['详细信息','营销分类','商品组','商品等级价格','技术资料']"
  13. @pageChange="pageChange"
  14. @onEditSuccess="queryMainData($route.query.id)"
  15. >
  16. <div slot="tags">
  17. </div>
  18. <div slot="customOperation" >
  19. <Edit class="inline-16" :data="mainData" @onSuccess="queryMainData" v-if="tool.checkAuth($route.name,'update') && mainData.status == '新建'"/>
  20. <customBtn
  21. btnName="审核"
  22. message="确认审核当前商品吗?"
  23. idName="20220923153902"
  24. keyName="itemids"
  25. :id="[+$route.query.id]"
  26. :paramData="[{key:'status',value:1}]"
  27. @onSuccess="queryMainData($route.query.id)"
  28. class="inline-16"
  29. v-if="tool.checkAuth($route.name,'toExamine') && mainData.status == '新建'"
  30. />
  31. <customBtn
  32. btnName="反审"
  33. message="确认反审当前商品吗?"
  34. idName="20220923153902"
  35. keyName="itemids"
  36. :id="[+$route.query.id]"
  37. :paramData="[{key:'status',value:0}]"
  38. @onSuccess="queryMainData($route.query.id)"
  39. class="inline-16"
  40. v-if="tool.checkAuth($route.name,'toExamine') && mainData.status == '审核'"
  41. />
  42. <customBtn
  43. btnName="上架"
  44. message="确认上架当前商品吗?"
  45. idName="20220923154802"
  46. keyName="itemids"
  47. :id="[+$route.query.id]"
  48. :paramData="[{key:'isonsale',value:1}]"
  49. @onSuccess="queryMainData($route.query.id)"
  50. class="inline-16"
  51. v-if="tool.checkAuth($route.name,'isTop') && mainData.isonsale == 0 && mainData.status == '审核'"
  52. />
  53. <customBtn
  54. btnName="下架"
  55. message="确认下架当前商品吗?"
  56. idName="20220923154802"
  57. keyName="itemids"
  58. :id="[+$route.query.id]"
  59. :paramData="[{key:'isonsale',value:0}]"
  60. @onSuccess="queryMainData($route.query.id)"
  61. class="inline-16"
  62. v-if="tool.checkAuth($route.name,'isBottom') && mainData.isonsale == 1"
  63. />
  64. <customBtn
  65. btnName="删 除"
  66. message="确认删除当前商品吗?"
  67. idName="20220923152202"
  68. keyName="itemids"
  69. :id="[$route.query.id]"
  70. @onSuccess="$router.back()"
  71. class="inline-16"
  72. v-if="tool.checkAuth($route.name,'delete') && mainData.status == '新建'"
  73. />
  74. </div>
  75. <div slot="slot0" >
  76. <detail_data :basic="mainData"></detail_data>
  77. </div>
  78. <div slot="slot1">
  79. <saleClass ref="saleClass" :data="mainData">
  80. <template v-slot:addClass="scope">
  81. <addClass v-if="tool.checkAuth($route.name,'salerClass') && mainData.status === '新建'" :data="scope.data" @onSuccess="$refs.saleClass.listData();queryMainData($route.query.id)"/>
  82. </template>
  83. <template v-slot:delProduct="scope">
  84. <delete-btn
  85. v-if="tool.checkAuth($route.name,'salerClass')"
  86. :nameId="20230214111502"
  87. nameKey="sa_itemsaleclassids"
  88. message="确定删除当前分类吗?"
  89. :id="scope.data.sa_itemsaleclassid"
  90. @deleteSuccess="$refs.saleClass.listData()"></delete-btn>
  91. </template>
  92. </saleClass>
  93. </div>
  94. <div slot="slot2">
  95. <productGroup :data="mainData">
  96. </productGroup>
  97. </div>
  98. <div slot="slot3">
  99. <productPrice :data="mainData"></productPrice>
  100. </div>
  101. <div slot="slot4">
  102. <productInfo></productInfo>
  103. </div>
  104. </basicDetails>
  105. </div>
  106. </template>
  107. <script>
  108. import Edit from '../modules/edit'
  109. import detail_data from './modules/detailedData'
  110. import saleClass from '../modules/saleClass.vue'
  111. import productGroup from '../modules/productGroup.vue'
  112. import productPrice from '../modules/productPrice'
  113. import addClass from '../modules/addClass'
  114. import productInfo from './modules/productInfo'
  115. export default {
  116. name: "index",
  117. data() {
  118. return {
  119. mainData:{},
  120. mainAreaData:{}
  121. }
  122. },
  123. components:{detail_data,saleClass,productPrice,addClass,Edit,productGroup,productInfo},
  124. methods: {
  125. async queryMainData(id) {
  126. const res = await this.$api.requested({
  127. "id": 20220923155302,
  128. "content": {
  129. "itemid": this.$route.query.id
  130. },
  131. })
  132. this.mainData = res.data
  133. this.changeDataStructure()
  134. console.log(this.mainData)
  135. },
  136. // 监听切换数据,上一页,下一页
  137. pageChange (id,rowindex) {
  138. this.$router.replace({path:'/productmagDetail',query:{id:id,rowindex:rowindex}})
  139. this.queryMainData(id)
  140. },
  141. changeDataStructure(){
  142. let that = this
  143. this.mainAreaData = [
  144. {
  145. label:'产品名称',
  146. value:this.mainData.itemname
  147. },
  148. {
  149. label:'产品编号',
  150. value:this.mainData.itemno
  151. },
  152. {
  153. label:'型号',
  154. value:this.mainData.model
  155. },
  156. {
  157. label:'规格',
  158. value:this.mainData.spec
  159. },
  160. {
  161. label:'状态',
  162. value:this.mainData.status,
  163. style:function () {
  164. let style = {}
  165. switch (that.mainData.status) {
  166. case '审核':
  167. style = {color:"#52C41A"}
  168. break;
  169. case '新建':
  170. style = {color:"#000000"}
  171. break;
  172. default:
  173. break;
  174. }
  175. return style
  176. }
  177. },
  178. {
  179. label:'计量单位',
  180. value:this.mainData.unitname
  181. },
  182. {
  183. label:'起订量',
  184. value:this.mainData.orderminqty
  185. },
  186. {
  187. label:'增量',
  188. value:this.mainData.orderaddqty
  189. },
  190. {
  191. label:'品号',
  192. value:this.mainData.erpitemno
  193. },
  194. {
  195. label:'品名',
  196. value:this.mainData.erpitemname
  197. },
  198. {
  199. label:'牌价',
  200. value:this.mainData.marketprice
  201. },
  202. {
  203. label:'领域',
  204. value:this.mainData.tradefield.map(item => item.tradefield).join(',')
  205. },
  206. {
  207. label:'库存',
  208. value:this.mainData.invbal_qty
  209. },
  210. /*{
  211. label:'上/下架',
  212. value:this.mainData.isonsale ? '上架' : '下架'
  213. },*/
  214. {
  215. label:'上/下架',
  216. value:this.mainData.isonsale ? '上架' : '下架',
  217. style:function () {
  218. let style = {}
  219. switch (that.mainData.isonsale) {
  220. case 1:
  221. style = {color:"#3874f6"}
  222. break;
  223. case 0:
  224. style = {color:"#333333"}
  225. break;
  226. default:
  227. break;
  228. }
  229. return style
  230. }
  231. },
  232. {
  233. label:'是否工具',
  234. value:this.mainData.istool ? '是' : '否'
  235. },
  236. ]
  237. },
  238. },
  239. mounted() {
  240. this.queryMainData(this.$route.query.id)
  241. }
  242. }
  243. </script>
  244. <style scoped>
  245. </style>