index.vue 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. <template>
  2. <div>
  3. <basicLayout
  4. ref="basicLayout"
  5. tableName="agentTable"
  6. idName="sa_agentsid"
  7. :apiId="{query:20221011144903,del:''}"
  8. :autoQuery="false"
  9. @checkboxCallBack="checkboxCallBack"
  10. >
  11. <template #titleLight>
  12. <batchDeletion v-if="tool.checkAuth($route.name,'batchDeletion')" ref="batchDeletion" :ownerids="selectData" :sys_object="application" @delSuccess="queryData"></batchDeletion>
  13. <batchRecovery v-if="tool.checkAuth($route.name,'batchRecovery')" ref="batchRecovery" :ownerids="selectData" :sys_object="application" @recoverySuccess="queryData"></batchRecovery>
  14. </template>
  15. <template #custom>
  16. <div class="mt-10">
  17. <p class="search__label">{{ $t('应用') }}:</p>
  18. <el-select
  19. class="inline-24"
  20. size="small"
  21. v-model="application"
  22. :placeholder="$t('请选择范围')"
  23. @change="applicationChange"
  24. >
  25. <el-option
  26. v-for="item in applicationList"
  27. :key="item.index"
  28. :label="$t(item.label)"
  29. :value="item.value"
  30. ></el-option>
  31. </el-select>
  32. </div>
  33. <div class="mt-10">
  34. <p class="search__label">{{ $t('合作伙伴类型') }}:</p>
  35. <el-select
  36. class="inline-16"
  37. ref="sle"
  38. v-model="selectParam.type"
  39. :placeholder="$t(`请选择合作伙伴类型`)"
  40. size="small"
  41. @change="selectChange"
  42. clearable
  43. >
  44. <el-option
  45. v-for="item in agent_type"
  46. :key="item.value"
  47. :label="$t(item.value)"
  48. :value="item.value"
  49. >
  50. <span style="float: left">{{ $t(item.value) }}</span>
  51. <span style="float: right; color: #8492a6; font-size: 12px">{{ item.helptips?$t(item.helptips):$t('暂无描述') }}</span>
  52. </el-option>
  53. </el-select>
  54. </div>
  55. <div class="mt-10">
  56. <p class="search__label">{{ $t('合作状态') }}:</p>
  57. <el-select
  58. class="inline-16"
  59. ref="sle"
  60. v-model="selectParam.cooperationstatus"
  61. :placeholder="$t(`合作状态`)"
  62. size="small"
  63. @change="selectChange"
  64. clearable
  65. >
  66. <el-option
  67. v-for="item in cooperationstatus"
  68. :key="item.label"
  69. :label="$t(item.label)"
  70. :value="item.label"
  71. >
  72. </el-option>
  73. </el-select>
  74. </div>
  75. </template>
  76. <template v-slot:tbList="scope">
  77. <div>
  78. <p v-if="scope.data.column.columnname === 'province'">
  79. {{`${scope.data.column.data.province}-${scope.data.column.data.city}-${scope.data.column.data.county}`}}
  80. </p>
  81. <p v-else-if="scope.data.column.columnname === 'type'">
  82. <span v-if="scope.data.column.data.type">
  83. <span v-for="(item,index) in scope.data.column.data.type" :key="index">
  84. <span v-if="scope.data.column.data.type.length - 1 === index">
  85. {{$t(item)}}
  86. </span>
  87. <span v-else>
  88. {{$t(item) + ','}}
  89. </span>
  90. </span>
  91. </span>
  92. <span v-else>
  93. --
  94. </span>
  95. </p>
  96. <p v-else-if="scope.data.column.columnname === 'cooperationstatus'">
  97. <span :style="tool.getStatusColor(scope.data.column.data[[scope.data.column.columnname]])">{{$t(scope.data.column.data[[scope.data.column.columnname]])}}</span>
  98. </p>
  99. <p v-else-if="scope.data.column.columnname === 'status'">
  100. <span :style="tool.getStatusColor(scope.data.column.data[[scope.data.column.columnname]])">{{$t(scope.data.column.data[[scope.data.column.columnname]])}}</span>
  101. </p>
  102. <p v-else-if="scope.data.column.columnname === 'isservice'">
  103. {{scope.data.column.data.isservice ? $t('是') : $t('否')}}
  104. </p>
  105. <p v-else>{{scope.data.column.data[[scope.data.column.columnname]]?$t(scope.data.column.data[[scope.data.column.columnname]]):'--'}}</p>
  106. </div>
  107. </template>
  108. <template v-slot:tbOpreation="scope">
  109. <delData class="inline-16" :ownerid="scope.data.data.sa_agentsid" :sys_object="application" @delSuccess="queryData"></delData>
  110. <recovery type="合作伙伴" class="inline-16" :ownerid="scope.data.data.sa_agentsid" :sys_object="application" @recoverySuccess="queryData"></recovery>
  111. </template>
  112. </basicLayout>
  113. </div>
  114. </template>
  115. <script>
  116. import recovery from "@/HManagement/ecycle/modules/recovery";
  117. import delData from "@/HManagement/ecycle/modules/delData";
  118. import batchDeletion from "@/HManagement/ecycle/modules/batchDeletion";
  119. import batchRecovery from "@/HManagement/ecycle/modules/batchRecovery";
  120. export default {
  121. name: "index",
  122. data () {
  123. return {
  124. application:'6',
  125. applicationList:[
  126. {
  127. label: '销售线索',
  128. value: "1",
  129. },
  130. {
  131. label: '客户',
  132. value: "2",
  133. },
  134. {
  135. label: '合同',
  136. value: "3",
  137. },
  138. {
  139. label: '项目商机',
  140. value: "4",
  141. },
  142. {
  143. label: '报价单',
  144. value: "5",
  145. },
  146. {
  147. label: '合作伙伴',
  148. value: "6",
  149. },
  150. {
  151. label: '公海线索',
  152. value: "7",
  153. }
  154. ],
  155. dateSelect:'',
  156. typeList:[],
  157. area:'1',
  158. tabIndex:"1",
  159. condition:'',
  160. selectParam: {
  161. status: "",
  162. type: "",
  163. cooperationstatus:"",
  164. },
  165. selectData:[],
  166. statusList:[],
  167. agent_type:[],
  168. cooperationstatus:[
  169. {
  170. label:'正式'
  171. },
  172. {
  173. label:'意向'
  174. },
  175. ],
  176. }
  177. },
  178. components:{recovery,delData,batchDeletion,batchRecovery},
  179. methods:{
  180. queryData(){
  181. this.$refs.basicLayout.param.content.isAll = 1
  182. this.$refs.basicLayout.param.content.type = 0
  183. this.$refs.basicLayout.param.content.isdeleted = 1
  184. this.$refs.basicLayout.param.content.containssub = 1
  185. this.$refs.basicLayout.param.content.sa_saleareaids = []
  186. this.$refs.basicLayout.param.content.sort = [{reversed:0,sorted:1,sortid:187,sortname:'作废时间倒序'}]
  187. this.$refs.basicLayout.listData()
  188. },
  189. applicationChange(val){
  190. this.$emit("changeApplication",val)
  191. },
  192. async userstatus() {
  193. let param = {
  194. classname: "sysmanage.develop.optiontype.optiontype",
  195. method: "optiontypeselect",
  196. content: {
  197. pageNumber: 1,
  198. pageSize: 20,
  199. typename: "userstatus",
  200. parameter: {},
  201. },
  202. };
  203. const res = await this.$api.requested(param);
  204. this.statusList = res.data;
  205. },
  206. async bindImportOrder (id) {
  207. const res = await this.$api.requested({
  208. "id": 20230311163004,
  209. "content": {
  210. "attachmentid":id
  211. }
  212. })
  213. if (res.data !== '成功') {
  214. this.errorUrl = res.data
  215. }
  216. this.tool.showMessage(res,() => {
  217. this.$refs.basicLayout.listData()
  218. })
  219. },
  220. /*合作伙伴类型*/
  221. async queryType(){
  222. const res = await this.$store.dispatch('optiontypeselect','agenttypemx')
  223. this.agent_type = res.data
  224. },
  225. selectChange () {
  226. this.$refs.basicLayout.param.content.where = this.selectParam
  227. this.$refs.basicLayout.listData()
  228. },
  229. checkboxCallBack(val){
  230. this.selectData = []
  231. val.forEach((item,index) => {
  232. this.selectData[index] = item.sa_agentsid
  233. })
  234. this.$refs.batchDeletion.length = this.selectData.length
  235. this.$refs.batchRecovery.length = this.selectData.length
  236. }
  237. },
  238. mounted() {
  239. this.queryData()
  240. this.userstatus()
  241. this.queryType()
  242. },
  243. created () {
  244. // this.getAgentList()
  245. },
  246. }
  247. </script>
  248. <style scoped>
  249. </style>