index.vue 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. <template>
  2. <basicDetails
  3. style="min-width:80vw"
  4. ref="details"
  5. :titleText="mainData.enterprisename"
  6. formPath="marketing2/agent"
  7. :editData="mainData"
  8. :mainAreaData="mainAreaData"
  9. turnPageId="20221011144903"
  10. delApiId="20221011145003"
  11. idname="sa_agentsid"
  12. :tags="[]"
  13. :tabs="['经销商团队','代理区域','营销类别','账户余额查询','地址管理','联系人管理','财务信息','关联合同','授权领域']"
  14. @pageChange="pageChange"
  15. @onEditSuccess="queryMainData($route.query.id)">
  16. <div slot="tags">
  17. <!-- 使用此插槽可不传[tags] -->
  18. <!-- :tabs="['经销商团队','代理区域','营销类别','账户余额']" -->
  19. </div>
  20. <div slot="customOperation">
  21. <!-- 此区域提供了自定义操作按钮 -->
  22. </div>
  23. <div slot="slot0">
  24. <el-button size="small" type="primary" @click="createAgentAccount" class="normal-margin">创建团队账号</el-button>
  25. <tableLayout :layout="tablecols" :data="mainData.hrs" :custom="true" height="calc(100vh - 425px)">
  26. <template v-slot:customcol="scope">
  27. <div v-if="scope.column.columnname === 'name'">
  28. <div v-if="scope.column.data.isleader === 1">
  29. <p class="inline-16">{{scope.column.data[scope.column.columnname]}}</p>
  30. <el-tag size="mini">主账号</el-tag>
  31. </div>
  32. <div v-else>
  33. <p class="inline-16">{{scope.column.data[scope.column.columnname]}}</p>
  34. </div>
  35. </div>
  36. <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
  37. </template>
  38. </tableLayout>
  39. </div>
  40. <div slot="slot1">
  41. <salescope :data="mainData"></salescope>
  42. </div>
  43. <div slot="slot2">
  44. <SaleClass :data="mainData"></SaleClass>
  45. </div>
  46. <div slot="slot3">
  47. <accountMoney :mainData="mainData"></accountMoney>
  48. </div>
  49. <div slot="slot4">
  50. <agent-address :mainData="mainData"></agent-address>
  51. </div>
  52. <div slot="slot5">
  53. <agent-contact :mainData="mainData"></agent-contact>
  54. </div>
  55. <div slot="slot6">
  56. <financial :mainData="mainData"></financial>
  57. </div>
  58. <div slot="slot7">
  59. <contract :data="mainData"></contract>
  60. </div>
  61. <div slot="slot8">
  62. <field :data="mainData"></field>
  63. </div>
  64. </basicDetails>
  65. </template>
  66. <script>
  67. import salescope from './modules/salescope/list'
  68. import SaleClass from './modules/saleclass/index'
  69. import accountMoney from './modules/accountMoney/index'
  70. import agentAddress from './modules/address/list'
  71. import agentContact from './modules/contact/list'
  72. import contract from './modules/contract/index'
  73. import financial from '@/components/financialInfo/index.vue'
  74. import field from './modules/field/index.vue'
  75. export default {
  76. data () {
  77. return {
  78. mainData:{},
  79. mainAreaData:[],
  80. tablecols:[]
  81. }
  82. },
  83. components:{
  84. salescope,
  85. SaleClass,
  86. accountMoney,
  87. agentAddress,
  88. agentContact,
  89. financial,
  90. contract,
  91. field
  92. },
  93. methods:{
  94. async queryMainData (id) {
  95. const res = await this.$api.requested({
  96. "classname": "webmanage.sale.agents.agents",
  97. "method": "query_agentMain",
  98. "content": {
  99. "sa_agentsid": this.$route.query.id
  100. }
  101. })
  102. this.mainData = res.data
  103. this.$refs['details'].param.content.containssub = 1
  104. this.$refs['details'].param.content.sa_saleareaids = [this.mainData.sa_saleareaid]
  105. this.changeDataStructure()
  106. },
  107. pageChange (id,rowindex) {
  108. this.$router.replace({path:this.$route.path,query:{id:id,rowindex:rowindex}})
  109. this.queryMainData(id)
  110. },
  111. changeDataStructure () {
  112. this.mainAreaData = [
  113. {
  114. label:'经销商编号',
  115. value: this.mainData.agentnum
  116. },
  117. {
  118. label:'签约日期',
  119. value: this.mainData.signdate
  120. },
  121. {
  122. label:'经销商类型',
  123. value: this.mainData.type
  124. },
  125. {
  126. label:'上级经销商',
  127. value: this.mainData.parent_enterprisename
  128. },
  129. {
  130. label:'经销商等级',
  131. value: this.mainData.grade
  132. },
  133. {
  134. label:'营销区域',
  135. value: this.mainData.areaname
  136. },
  137. {
  138. label:'企业名称',
  139. value: this.mainData.enterprisename
  140. },
  141. {
  142. label:'省市县',
  143. value: `${this.mainData.province}-${this.mainData.city}-${this.mainData.county}`
  144. },
  145. {
  146. label:'详细地址',
  147. value: this.mainData.address
  148. },
  149. {
  150. label:'企业联系人',
  151. value: this.mainData.contact
  152. },
  153. {
  154. label:'联系电话',
  155. value: this.mainData.phonenumber
  156. },
  157. {
  158. label:'税号',
  159. value: this.mainData.taxno
  160. },
  161. {
  162. label:'创建人',
  163. value: this.mainData.createby
  164. },
  165. {
  166. label:'创建时间',
  167. value: this.mainData.createdate
  168. },
  169. ]
  170. },
  171. createAgentAccount () {
  172. this.$confirm('是否继续创建团队账户?', '提示', {
  173. confirmButtonText: '确定',
  174. cancelButtonText: '取消',
  175. type: 'warning'
  176. }).then(async () => {
  177. const res = await this.$api.requested({
  178. "id": 20220920084301,
  179. "content": {
  180. "sys_enterpriseid":this.mainData.sys_enterpriseid
  181. }
  182. })
  183. this.tool.showMessage(res,()=>{
  184. this.queryMainData()
  185. })
  186. /*this.$message({
  187. type: 'success',
  188. message: '创建成功!'
  189. });*/
  190. }).catch(() => {
  191. this.$message({
  192. type: 'info',
  193. message: '取消创建'
  194. });
  195. });
  196. }
  197. },
  198. mounted () {
  199. this.queryMainData(this.$route.query.id)
  200. },
  201. created () {
  202. // 获取表结构
  203. this.tablecols = this.tool.tabelCol(this.$route.name)['agentGrouptable'].tablecols
  204. // 验证权限
  205. this.tool.checkAuth(this.$route.name,'update')?'':this.$router.go(-1)
  206. },
  207. }
  208. </script>
  209. <style>
  210. </style>