index.vue 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <template>
  2. <div>
  3. <basicLayout
  4. ref="list"
  5. formPath="contractManage"
  6. tableName="contractListTable"
  7. idName="sa_contractid"
  8. :apiId="{query:20221121201502,del:20221121202502}"
  9. :options="options"
  10. :detailPath="{
  11. path:'/contractDetail',
  12. param:{tabIndex:tabIndex}
  13. }"
  14. @listData="listdata"
  15. @listCreate="list">
  16. <template #custom>
  17. <div class="mt-10">
  18. <p class="search__label">范围:</p>
  19. <el-select
  20. class="inline-24"
  21. size="small"
  22. v-model="area"
  23. placeholder="请选择范围"
  24. @change="areaChange"
  25. >
  26. <el-option
  27. v-for="item in areaList"
  28. :key="item.index"
  29. :label="item.title"
  30. :value="item.name"
  31. ></el-option>
  32. </el-select>
  33. </div>
  34. <div class="mt-10">
  35. <p class="search__label">合同类型:</p>
  36. <el-select
  37. class="inline-24"
  38. size="small"
  39. v-model="type"
  40. placeholder="请选择合同类型"
  41. clearable
  42. @change="$refs.list.param.content.pageNumber=1;$refs.list.param.content.where.type=type;$refs.list.listData()"
  43. >
  44. <el-option
  45. v-for="item in typeList"
  46. :key="item.value"
  47. :label="item.remarks"
  48. :value="item.value"
  49. ></el-option>
  50. </el-select>
  51. </div>
  52. <div class="mt-10">
  53. <p class="search__label">合同状态:</p>
  54. <el-select
  55. class="inline-24"
  56. size="small"
  57. v-model="status"
  58. placeholder="请选择合同状态"
  59. clearable
  60. @change="$refs.list.param.content.pageNumber=1;$refs.list.param.content.where.status=status;$refs.list.listData()"
  61. >
  62. <el-option label="新建" value="新建" ></el-option>
  63. <el-option label="审核" value="审核" ></el-option>
  64. <el-option label="已提交" value="已提交" ></el-option>
  65. <el-option label="已终止" value="已终止" ></el-option>
  66. </el-select>
  67. </div>
  68. </template>
  69. <template v-slot:tbList="scope">
  70. <div v-if="scope.data.column.columnname == 'status'">
  71. <span style="color:#3874f6" v-if="scope.data.column.data[[scope.data.column.columnname]] == '新建'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  72. <span style="color:#52c41a" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '提交'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  73. <span style="color:#333333" v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '审核'">{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  74. <span style="color:#000000" v-else>{{scope.data.column.data[[scope.data.column.columnname]]}}</span>
  75. </div>
  76. <div v-else-if="scope.data.column.columnname == 'type'">
  77. <span v-if="scope.data.column.data[[scope.data.column.columnname]] == '框架'">经销商合作协议</span>
  78. <span v-else-if="scope.data.column.data.typemx == '经销'">经销项目协议</span>
  79. <span v-else-if="scope.data.column.data.typemx == '直销'">直销项目协议</span>
  80. <span v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '工具借用'">工具使用协议</span>
  81. <span v-else-if="scope.data.column.data[[scope.data.column.columnname]] == '居间'">居间协议</span>
  82. </div>
  83. <div v-else-if="scope.data.column.columnname == 'discountrate'">
  84. {{scope.data.column.data[[scope.data.column.columnname]] <1 ?(scope.data.column.data[[scope.data.column.columnname]] * 100).toFixed(2):100}}
  85. </div>
  86. <div v-else>
  87. {{scope.data.column.data[[scope.data.column.columnname]]}}
  88. </div>
  89. <span v-if="!scope.data.column.data[[scope.data.column.columnname]] && scope.data.column.data[[scope.data.column.columnname]] !== 0">--</span>
  90. </template>
  91. <template v-slot:tbOpreation="scope">
  92. </template>
  93. </basicLayout>
  94. </div>
  95. </template>
  96. <script>
  97. import { log } from '@antv/g2plot/lib/utils'
  98. export default {
  99. data () {
  100. return {
  101. options:[],
  102. areaList:[
  103. {
  104. title: '我负责的',
  105. name: "1",
  106. },
  107. {
  108. title: '我参与的',
  109. name: "2",
  110. },
  111. {
  112. title: '我创建的',
  113. name: "5",
  114. },
  115. {
  116. title: '我下属负责的',
  117. name: "3",
  118. },
  119. {
  120. title: '我下属参与的',
  121. name: "4",
  122. }
  123. ],
  124. typeList:[],
  125. area:'1',
  126. tabIndex:"1",
  127. type:'',
  128. condition:'',
  129. status:''
  130. }
  131. },
  132. created () {
  133. this.getSystemList()
  134. this.getAgentList()
  135. this.queryUserInfo()
  136. },
  137. methods:{
  138. async getSystemList () {
  139. /*const res = await this.$store.dispatch('optiontypeselect','dataarea')
  140. this.areaList = res.data
  141. console.log(this.areaList);*/
  142. const res2 = await this.$store.dispatch('optiontypeselect','contracttype')
  143. this.typeList = res2.data
  144. },
  145. async getAgentList () {
  146. let res = await this.$api.requested({
  147. "classname": "webmanage.sale.agents.agents",
  148. "method": "query_agentList",
  149. "content": {
  150. "pageNumber": 1,
  151. "pageSize": 20,
  152. "agenttype":"经销商",
  153. "where": {
  154. "condition": ""
  155. }
  156. }
  157. })
  158. console.log(res.data);
  159. },
  160. async queryUserInfo() {
  161. let res = await this.$api.requested({
  162. "classname": "common.usercenter.usercenter",
  163. "method": "queryUserMsg",
  164. "content": {
  165. }
  166. })
  167. this.userInfo = {
  168. isAuth : res.data.hr.isleader,
  169. userid: res.data.hr.userid
  170. }
  171. window.sessionStorage.setItem('userInfo',JSON.stringify(this.userInfo))
  172. },
  173. list (params) {
  174. params.content.type = 0
  175. },
  176. listdata(data) {
  177. console.log(data);
  178. },
  179. areaChange(){
  180. this.tabIndex = this.area
  181. this.$refs.list.param.content.pageNumber=1;
  182. this.$refs.list.param.content.type=this.area;
  183. this.$refs.list.listData()
  184. }
  185. }
  186. }
  187. </script>
  188. <style scoped>
  189. </style>