detail.vue 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694
  1. <template>
  2. <el-drawer :visible.sync="dialogFormVisible" append-to-body size="97%">
  3. <div class="Mcontainer">
  4. <div v-if="Object.keys(detailInfo).length" style="background:#ffffff;padding:10px">
  5. <div class="Mcontainer-header">
  6. <div class="Mcontainer-header__left">
  7. <div style="width:60px;height: 60px;background:#F3F9FC;border-radius:10px;padding:10px">
  8. <img alt="" src="@/assets/saler.svg" style="width:100%;height:100%">
  9. </div>
  10. <div class="account">
  11. <p class="normal-title" style="font-size:18px">
  12. <el-tooltip :content="detailInfo.projectname" class="item" effect="dark" placement="top">
  13. <span>{{ detailInfo.name }}</span>
  14. </el-tooltip>
  15. </p>
  16. <div class="Mtag">
  17. <el-tag v-for="(item,index) in detailInfo.tag" :key="index" size="small" style="margin-right:10px">
  18. {{ item }}
  19. </el-tag>
  20. </div>
  21. </div>
  22. </div>
  23. <div class="Mcontainer-header__right">
  24. <el-descriptions class="margin-top">
  25. <el-descriptions-item label="联系方式"><span
  26. style="color:#E85B5B;font-size:16px;font-weight:bold">{{ detailInfo.phonenumber }}</span>
  27. </el-descriptions-item>
  28. <el-descriptions-item label="微信">{{ detailInfo.wechatnum }}</el-descriptions-item>
  29. <el-descriptions-item label="偏好">{{ detailInfo.preference }}</el-descriptions-item>
  30. <el-descriptions-item label="分级"><span
  31. style="color:#E85B5B;font-size:16px;font-weight:bold"> {{ detailInfo.grade }}</span>
  32. </el-descriptions-item>
  33. <el-descriptions-item label="邮箱">{{ detailInfo.email }}</el-descriptions-item>
  34. <el-descriptions-item label="爱好">{{ detailInfo.hobby }}</el-descriptions-item>
  35. <el-descriptions-item label="性别"> {{ detailInfo.sex }}</el-descriptions-item>
  36. <el-descriptions-item label="传真">{{ detailInfo.fax }}</el-descriptions-item>
  37. <el-descriptions-item label="备注"> {{ detailInfo.remarks }}</el-descriptions-item>
  38. <el-descriptions-item label="生日"> {{ detailInfo.birthday }}</el-descriptions-item>
  39. <el-descriptions-item label="单位">{{ detailInfo.company }}</el-descriptions-item>
  40. <el-descriptions-item label="负责人"><span
  41. style="color:#E85B5B;font-size:16px;font-weight:bold">{{ detailInfo.leadername }}</span>
  42. </el-descriptions-item>
  43. <el-descriptions-item label="家庭住址"> {{ detailInfo.homeaddress }}</el-descriptions-item>
  44. <el-descriptions-item label="部门"> {{ detailInfo.depname }}</el-descriptions-item>
  45. <el-descriptions-item label="未跟进天数"><span
  46. style="color:#E85B5B;font-size:16px;font-weight:bold;margin-right: 10px">{{ detailInfo.subdate ? detailInfo.subdate + '天' : detailInfo.subdate }}</span>
  47. <el-tooltip class="item" content="未跟进天数=当前查询时间-最近跟进时间-节假日" effect="dark" placement="top">
  48. <i class="el-icon-warning-outline"></i>
  49. </el-tooltip>
  50. </el-descriptions-item>
  51. <el-descriptions-item label="群组">{{ detailInfo.groupname }}</el-descriptions-item>
  52. <el-descriptions-item label="职位"> {{ detailInfo.position }}</el-descriptions-item>
  53. </el-descriptions>
  54. </div>
  55. </div>
  56. </div>
  57. <div style="padding: 0 10px;">
  58. <!-- 跟进记录 -->
  59. <div class="Mproject" style="margin-top:10px">
  60. <el-card class="box-card">
  61. <div slot="header">
  62. <span class="myTitle">跟进记录</span>
  63. <myRadio :btnOptions="[{label:'全部',value:'全部'},{label:'本年',value:'本年'},{label:'本季',value:'本季'},{label:'本月',value:'本月'}]" :value1="followParam.content" :value2="followParam.content.where"
  64. key1="dateType"
  65. @clickBtn="refreshTable('followParam','followRef')">
  66. </myRadio>
  67. </div>
  68. <myCard
  69. :list="
  70. [
  71. {title:'跟进次数',value:$refs.followRef && $refs.followRef.total,bg:'#F3F9FC',color:'#3874F6'},
  72. {title:'最近跟进人',value:$refs.followRef && $refs.followRef.list[0] && $refs.followRef.list[0].createby || '--',bg:'#E8F7EC',color:'#78B32B'},
  73. {title:'最近跟进时间',value:$refs.followRef && $refs.followRef.list[0] && $refs.followRef.list[0].createdate || '--',bg:'#F9F2E5',color:'#FF7603'},
  74. {title:'跟进频率',value:$refs.followRef && $refs.followRef.list[0] && $refs.followRef.list[0].followfrequency,descript:'定义:每次平均跟进天数;若没有跟进次数,则跟进频率=0天/次;若有跟进次数,则按跟进频率=(首次跟进时间到当前时间的天数-节假日天数)÷跟进次数',bg:'#FDF3F3',color:'#E85B5B'},
  75. ]"
  76. >
  77. </myCard>
  78. <p v-if="$refs.followRef && $refs.followRef.list[0] && $refs.followRef.list[0].followDetail.length"
  79. style="font-size:14px;font-weight:bold;margin-bottom:10px">
  80. 跟进人及次数</p>
  81. <div style="display:flex">
  82. <myTag
  83. v-for="(item,index) in $refs.followRef && $refs.followRef.list[0] && $refs.followRef.list[0].followDetail"
  84. :key="index + 'b'"
  85. :data="{title:item.name,descript:'跟进次数',value:item.qty}"
  86. style="margin-right:10px"
  87. >
  88. </myTag>
  89. </div>
  90. <showIsNone title="跟进记录明细">
  91. <pageTable
  92. ref="followRef"
  93. :custom="true"
  94. :param="followParam"
  95. :tablecols="tool.tabelCol($route.name).followTable.tablecols"
  96. >
  97. <template v-slot:custom="scope">
  98. <div v-if="scope.data.columnname === 'followname'">
  99. </div>
  100. <div v-else style="text-wrap:wrap;word-wrap: break-word;white-space: normal;">
  101. {{ scope.data.data[scope.data.columnname] || '--' }}
  102. </div>
  103. </template>
  104. </pageTable>
  105. </showIsNone>
  106. </el-card>
  107. </div>
  108. <!-- 关联客户 -->
  109. <div class="Mproject" style="margin-top:10px">
  110. <el-card class="box-card">
  111. <div slot="header">
  112. <span class="myTitle">关联客户</span>
  113. <myRadio :btnOptions="[{label:'全部',value:'全部'},{label:'本年',value:'本年'},{label:'本季',value:'本季'},{label:'本月',value:'本月'}]" :value1="customerParam.content" :value2="customerParam.content.where"
  114. key1="dateType"
  115. @clickBtn="refreshTable('customerParam','customerRef')">
  116. </myRadio>
  117. </div>
  118. <myNewCard
  119. :list="
  120. [
  121. {title:'客户数',value:$refs.customerRef && $refs.customerRef.total,bg:'#F3F9FC',color:'#3874F6'},
  122. {title:'客户成交数量/金额',
  123. value:$refs.customerRef && $refs.customerRef.list[0] && $refs.customerRef.list[0].tradingqty,
  124. value3: $refs.customerRef && $refs.customerRef.list[0] && $refs.customerRef.list[0].tradingamount,
  125. value4:$refs.customerRef && $refs.customerRef.list[0] && $refs.customerRef.list[0].tradingcjl,
  126. value2descript:'成交率',descript:'关联客户的成交率=有成交的关联客户数÷关联的客户总数x100%',
  127. bg:'#E8F7EC',color:'#78B32B'},
  128. ]"
  129. >
  130. </myNewCard>
  131. <showIsNone title="客户明细">
  132. <pageTable
  133. ref="customerRef"
  134. :custom="true"
  135. :param="customerParam"
  136. :tablecols="tool.tabelCol($route.name).customerTable.tablecols"
  137. >
  138. <template v-slot:custom="scope">
  139. <div v-if="scope.data.columnname === 'tag'">
  140. <div v-if="scope.data.data[scope.data.columnname].length > 0">
  141. <el-tag v-for="item in scope.data.data[scope.data.columnname]" :key="item.index"
  142. style="margin-right: 5px">{{ item }}
  143. </el-tag>
  144. </div>
  145. <div v-else>--</div>
  146. </div>
  147. <div v-else-if="scope.data.columnname === 'industry'">
  148. <div v-if="scope.data.data[scope.data.columnname]">
  149. <el-tag v-for="item in scope.data.data[scope.data.columnname]" :key="item.index"
  150. style="margin-right: 5px">{{ item }}
  151. </el-tag>
  152. </div>
  153. <div v-else>--</div>
  154. </div>
  155. <div v-else-if="scope.data.columnname === 'tradingstatus'">
  156. <span v-if="scope.data.data[[scope.data.columnname]] == '未成交'"
  157. style="color:#3874f6">{{ scope.data.data[[scope.data.columnname]] }}</span>
  158. <span v-else-if="scope.data.data[[scope.data.columnname]] == '已成交'"
  159. style="color:#fa8c16">{{ scope.data.data[[scope.data.columnname]] }}</span>
  160. <span v-else-if="scope.data.data[[scope.data.columnname]] == '多次成交'"
  161. style="color:#333333">{{ scope.data.data[[scope.data.columnname]] }}</span>
  162. </div>
  163. <div v-else-if="scope.data.columnname === 'status'">
  164. <span v-if="scope.data.data[[scope.data.columnname]] == '潜在'"
  165. style="color:#3874f6">{{ scope.data.data[[scope.data.columnname]] }}</span>
  166. <span v-else-if="scope.data.data[[scope.data.columnname]] == '合作中'"
  167. style="color:#52c41a">{{ scope.data.data[[scope.data.columnname]] }}</span>
  168. <span v-else-if="scope.data.data[[scope.data.columnname]] == '已终止'"
  169. style="color:#999999">{{ scope.data.data[[scope.data.columnname]] }}</span>
  170. </div>
  171. <div v-else>
  172. {{ scope.data.data[scope.data.columnname] || '--' }}
  173. </div>
  174. </template>
  175. </pageTable>
  176. </showIsNone>
  177. </el-card>
  178. </div>
  179. <!-- 关联项目 -->
  180. <div class="Mproject" style="margin-top:10px">
  181. <el-card class="box-card">
  182. <div slot="header">
  183. <span class="myTitle">关联项目</span>
  184. <myRadio :btnOptions="[{label:'全部',value:'全部'},{label:'本年',value:'本年'},{label:'本季',value:'本季'},{label:'本月',value:'本月'}]" :value1="projectParam.content" :value2="projectParam.content.where"
  185. key1="dateType"
  186. @clickBtn="refreshTable('projectParam','projectRef')">
  187. </myRadio>
  188. </div>
  189. <myNewCard
  190. :list="
  191. [
  192. {title:'项目数',value:$refs.projectRef && $refs.projectRef.total,bg:'#F3F9FC',color:'#3874F6'},
  193. {title:'成交项目数量/金额',
  194. value:$refs.projectRef && $refs.projectRef.list[0] && $refs.projectRef.list[0].tradingqty,
  195. value3: $refs.projectRef && $refs.projectRef.list[0] && $refs.projectRef.list[0].tradingamount,
  196. value4:$refs.projectRef && $refs.projectRef.list[0] && $refs.projectRef.list[0].tradingcjl,
  197. value2descript:'成交率',descript:'关联项目的成交率=有成交的关联项目数÷关联的项目总数x100%',
  198. bg:'#E8F7EC',color:'#78B32B'},
  199. ]"
  200. >
  201. </myNewCard>
  202. <showIsNone title="项目明细">
  203. <pageTable
  204. ref="projectRef"
  205. :custom="true"
  206. :param="projectParam"
  207. :tablecols="tool.tabelCol($route.name).projectTable.tablecols"
  208. >
  209. <template v-slot:custom="scope">
  210. <div v-if="scope.data.columnname === 'tradingamount'">
  211. {{ scope.data.data[scope.data.columnname] ? '¥' + tool.formatAmount(scope.data.data[scope.data.columnname], 2) : '¥0.00' }}
  212. </div>
  213. <div v-else-if="scope.data.columnname === 'signamount_due'">
  214. {{ scope.data.data[scope.data.columnname] ? '¥' + tool.formatAmount(scope.data.data[scope.data.columnname], 2) : '¥0.00' }}
  215. </div>
  216. <div v-else-if="scope.data.columnname === 'status'">
  217. <span v-if="scope.data.data[[scope.data.columnname]] == '跟进中'"
  218. style="color:#52c41a">{{ scope.data.data[[scope.data.columnname]] }}</span>
  219. <span v-else-if="scope.data.data[[scope.data.columnname]] == '已成交'"
  220. style="color:#fa8c16">{{ scope.data.data[[scope.data.columnname]] }}</span>
  221. <span v-else-if="scope.data.data[[scope.data.columnname]] == '已失败'"
  222. style="color:#999999">{{ scope.data.data[[scope.data.columnname]] }}</span>
  223. <span v-else-if="scope.data.data[[scope.data.columnname]] == '已结案'"
  224. style="color:#999999">{{ scope.data.data[[scope.data.columnname]] }}</span>
  225. </div>
  226. <div v-else-if="scope.data.columnname === 'projecttype'">
  227. {{ scope.data.data.projecttype + '-' + scope.data.data.projecttype_remarks }}
  228. </div>
  229. <div v-else>
  230. {{ scope.data.data[scope.data.columnname] || '--' }}
  231. </div>
  232. </template>
  233. </pageTable>
  234. </showIsNone>
  235. </el-card>
  236. </div>
  237. <!-- 报价单 -->
  238. <div class="Mproject" style="margin-top:10px">
  239. <el-card class="box-card">
  240. <div slot="header">
  241. <span class="myTitle">报价单</span>
  242. <myRadio :btnOptions="[{label:'全部',value:'全部'},{label:'本年',value:'本年'},{label:'本季',value:'本季'},{label:'本月',value:'本月'}]" :value1="quotationParam.content" :value2="quotationParam.content.where"
  243. class="inline-16" key1="dateType"
  244. @clickBtn="refreshTable('quotationParam','quotationRef')">
  245. </myRadio>
  246. <el-select v-model="quotationParam.content.where.isproject" clearable
  247. placeholder="请选择" size="small" @change="refreshTable('quotationParam','quotationRef')">
  248. <el-option label="全部" value=""></el-option>
  249. <el-option label="项目报价单" value="1"></el-option>
  250. <el-option label="客户报价单" value="0"></el-option>
  251. </el-select>
  252. </div>
  253. <myCard
  254. :list="
  255. [
  256. {title:'报价次数',value:$refs.quotationRef && $refs.quotationRef.total,bg:'#F3F9FC',color:'#3874F6'},
  257. {title:'最近报价金额',value:unitCompile($refs.quotationRef && $refs.quotationRef.list[0] && $refs.quotationRef.list[0].quotedpriceamount || '0'),bg:'#E8F7EC',color:'#78B32B'},
  258. {title:'最近报价时间',value:$refs.quotationRef && $refs.quotationRef.list[0] && $refs.quotationRef.list[0].submitdate || '--',bg:'#F9F2E5',color:'#FF7603'},
  259. ]"
  260. >
  261. </myCard>
  262. <showIsNone title="报价单明细">
  263. <pageTable
  264. ref="quotationRef"
  265. :custom="true"
  266. :param="quotationParam"
  267. :tablecols="tool.tabelCol($route.name).quotedPriceTable.tablecols"
  268. >
  269. <template v-slot:custom="scope">
  270. <div v-if="scope.data.columnname === 'sumamount'">
  271. {{ scope.data.data[scope.data.columnname] ? '¥' + tool.formatAmount(scope.data.data[scope.data.columnname], 2) : '¥0.00' }}
  272. </div>
  273. <div v-else-if="scope.data.columnname === 'discountrate'">
  274. {{ scope.data.data[scope.data.columnname] ? Math.round((scope.data.data[scope.data.columnname] * 100) * 100) / 100 + '%' : '--' }}
  275. </div>
  276. <div v-else-if="scope.data.columnname === 'specialoffer'">
  277. {{ scope.data.data[scope.data.columnname] == '1' ? '是' : '否' }}
  278. </div>
  279. <div v-else-if="scope.data.columnname === 'begdate'">
  280. {{ scope.data.data.begdate ? scope.data.data.begdate + '至' + scope.data.data.enddate : '--' }}
  281. </div>
  282. <div v-else-if="scope.data.columnname === 'status'">
  283. <span v-if="scope.data.data[[scope.data.columnname]] == '新建'"
  284. style="color:#3874f6">{{ scope.data.data[[scope.data.columnname]] }}</span>
  285. <span v-else-if="scope.data.data[[scope.data.columnname]] == '提交'"
  286. style="color:#52c41a">{{ scope.data.data[[scope.data.columnname]] }}</span>
  287. <span v-else-if="scope.data.data[[scope.data.columnname]] == '审核'"
  288. style="color:#333333">{{ scope.data.data[[scope.data.columnname]] }}</span>
  289. <span v-else-if="scope.data.data[[scope.data.columnname]] == '复核'"
  290. style="color:#fa8c16">{{ scope.data.data[[scope.data.columnname]] }}</span>
  291. </div>
  292. <div v-else style="text-wrap:wrap;word-wrap: break-word;white-space: normal;">
  293. {{ scope.data.data[scope.data.columnname] || '--' }}
  294. </div>
  295. </template>
  296. </pageTable>
  297. </showIsNone>
  298. </el-card>
  299. </div>
  300. <!-- 订单 -->
  301. <div class="Mproject" style="margin-top:10px">
  302. <el-card class="box-card">
  303. <div slot="header">
  304. <span class="myTitle">订单</span>
  305. <myRadio :btnOptions="[{label:'全部',value:'全部'},{label:'本年',value:'本年'},{label:'本季',value:'本季'},{label:'本月',value:'本月'}]" :value1="orderParam.content" :value2="orderParam.content.where"
  306. key1="dateType"
  307. @clickBtn="refreshTable('orderParam','orderRef')">
  308. </myRadio>
  309. <el-select v-model="orderParam.content.where.type" clearable placeholder="请选择订单类型" size="mini"
  310. style="margin-left:24px" @change="refreshTable('orderParam','orderRef')">
  311. <el-option label="全部" value=""></el-option>
  312. <el-option v-for="(item,index) in orderTypeList" :key="index" :label="item.value"
  313. :value="item.value"></el-option>
  314. </el-select>
  315. </div>
  316. <myCard
  317. :list="
  318. [
  319. {title:'订单数量',value:$refs.orderRef && $refs.orderRef.list && $refs.orderRef.list[0] && $refs.orderRef.list[0].allOrderQty,bg:'#F3F9FC',color:'#3874F6'},
  320. {title:'订单总金额',value:unitCompile($refs.orderRef && $refs.orderRef.list && $refs.orderRef.list[0] && $refs.orderRef.list[0].allAmount || '0'),bg:'#E8F7EC',color:'#78B32B'},
  321. {title:'订单回款金额',value:unitCompile($refs.orderRef && $refs.orderRef.list && $refs.orderRef.list[0] && $refs.orderRef.list[0].cashbillAmount || '0'),bg:'#F9F2E5',color:'#FF7603'},
  322. {title:'订单未出货金额',value:unitCompile($refs.orderRef && $refs.orderRef.list && $refs.orderRef.list[0] && $refs.orderRef.list[0].allunAmount || '0'),bg:'#FDF3F3',color:'#E85B5B'},
  323. {title:'已出货未开票金额',value:unitCompile($refs.orderRef && $refs.orderRef.list && $refs.orderRef.list[0] && $refs.orderRef.list[0].alluninvoicamount || '0'),bg:'#F9F2E5',color:'#FF7603'},
  324. {title:'已开票未回款金额',value:unitCompile($refs.orderRef && $refs.orderRef.list && $refs.orderRef.list[0] && $refs.orderRef.list[0].allunwriteoffamount || '0'),bg:'#FDF3F3',color:'#E85B5B'},
  325. ]"
  326. >
  327. </myCard>
  328. <showIsNone title="订单明细">
  329. <pageTable
  330. ref="orderRef"
  331. :custom="true"
  332. :param="orderParam"
  333. :tablecols="tool.tabelCol($route.name).orderTable.tablecols"
  334. >
  335. <template v-slot:custom="scope">
  336. <div v-if="scope.data.columnname == 'amount'">
  337. {{scope.data.data[scope.data.columnname]?tool.formatAmount(scope.data.data[scope.data.columnname],2,'¥'):scope.data.data[scope.data.columnname] == 0?'¥ 0.00':'--'}}
  338. </div>
  339. <div v-else-if="scope.data.columnname == 'writeoffamount'">
  340. {{scope.data.data[scope.data.columnname]?tool.formatAmount(scope.data.data[scope.data.columnname],2,'¥'):scope.data.data[scope.data.columnname] == 0?'¥ 0.00':'--'}}
  341. </div>
  342. <div v-else-if="scope.data.columnname == 'unoutOrderamount'">
  343. {{scope.data.data[scope.data.columnname]?tool.formatAmount(scope.data.data[scope.data.columnname],2,'¥'):scope.data.data[scope.data.columnname] == 0?'¥ 0.00':'--'}}
  344. </div>
  345. <div v-else-if="scope.data.columnname == 'uninvoicamount'">
  346. {{scope.data.data[scope.data.columnname]?tool.formatAmount(scope.data.data[scope.data.columnname],2,'¥'):scope.data.data[scope.data.columnname] == 0?'¥ 0.00':'--'}}
  347. </div>
  348. <div v-else-if="scope.data.columnname == 'unwriteoffamount'">
  349. {{scope.data.data[scope.data.columnname]?tool.formatAmount(scope.data.data[scope.data.columnname],2,'¥'):scope.data.data[scope.data.columnname] == 0?'¥ 0.00':'--'}}
  350. </div>
  351. <div v-else-if="scope.data.columnname == 'returnamount'">
  352. {{scope.data.data[scope.data.columnname]?tool.formatAmount(scope.data.data[scope.data.columnname],2,'¥'):scope.data.data[scope.data.columnname] == 0?'¥ 0.00':'--'}}
  353. </div>
  354. <div v-else-if="scope.data.columnname == 'status'">
  355. <span v-if="scope.data.data[[scope.data.columnname]] == '新建'"
  356. style="color:#000000">{{ scope.data.data[[scope.data.columnname]] }}</span>
  357. <span v-else-if="scope.data.data[[scope.data.columnname]] == '提交'"
  358. style="color:#d90a0a">{{ scope.data.data[[scope.data.columnname]] }}</span>
  359. <span v-if="scope.data.data[[scope.data.columnname]] == '交期待确认'"
  360. style="color:#e09a1a">{{ scope.data.data[[scope.data.columnname]] }}</span>
  361. <span v-else-if="scope.data.data[[scope.data.columnname]] == '交期确认'"
  362. style="color:#3874f6">{{ scope.data.data[[scope.data.columnname]] }}</span>
  363. <span v-if="scope.data.data[[scope.data.columnname]] == '审核'"
  364. style="color:#52C41A">{{ scope.data.data[[scope.data.columnname]] }}</span>
  365. <span v-else-if="scope.data.data[[scope.data.columnname]] == '关闭'"
  366. style="color:#b2c0ea">{{ scope.data.data[[scope.data.columnname]] }}</span>
  367. </div>
  368. <div v-else style="text-wrap:wrap;word-wrap: break-word;white-space: normal;">
  369. {{ scope.data.data[scope.data.columnname] || '--' }}
  370. </div>
  371. </template>
  372. </pageTable>
  373. </showIsNone>
  374. </el-card>
  375. </div>
  376. </div>
  377. </div>
  378. </el-drawer>
  379. </template>
  380. <script>
  381. import myRadio from '@/HDrpManagement/customerPortrait/modules/myRadio'
  382. import myCard from '@/HDrpManagement/customerPortrait/modules/myCrad'
  383. import pageTable from '@/HDrpManagement/customerPortrait/modules/pageTable'
  384. import showIsNone from '@/HDrpManagement/customerPortrait/modules/showIsNone'
  385. import myNewCard from './myNewCrad'
  386. import myTag from '@/HDrpManagement/customerPortrait/modules/myTag'
  387. export default {
  388. name: "detail",
  389. props: ['data'],
  390. components: {myRadio, myCard, pageTable, showIsNone, myTag, myNewCard},
  391. data() {
  392. return {
  393. dialogFormVisible: false,
  394. detailInfo: {},
  395. followParam: {
  396. "id": 20240605110904,
  397. "content": {
  398. "sys_phonebookid": this.$route.query.id,
  399. "dateType": "全部",
  400. "where": {
  401. "begdate": "",
  402. "enddate": ""
  403. }
  404. }
  405. },
  406. customerParam: {
  407. "id": 20240605124904,
  408. "content": {
  409. "sys_phonebookid": this.$route.query.id,
  410. "dateType": "全部",// 全部 本年 本季 本月 自定义
  411. "where": {
  412. "begdate": "",
  413. "enddate": ""
  414. }
  415. }
  416. },
  417. projectParam: {
  418. "id": 20240605131804,
  419. "content": {
  420. "sys_phonebookid": this.$route.query.id,
  421. "dateType": "全部",// 全部 本年 本季 本月 自定义
  422. "where": {
  423. "begdate": "",
  424. "enddate": ""
  425. }
  426. }
  427. },
  428. quotationParam: {
  429. "id": 20240605133604,
  430. "content": {
  431. "sys_phonebookid": this.$route.query.id,
  432. "dateType": "全部",// 全部 本年 本季 本月 自定义
  433. "where": {
  434. "begdate": "",
  435. "enddate": "",
  436. "isproject": ""
  437. }
  438. }
  439. },
  440. orderParam: {
  441. "id": 20240605135904,
  442. "content": {
  443. "sys_phonebookid": this.$route.query.id,
  444. "dateType": "全部",// 全部 本年 本季 本月 自定义
  445. "where": {
  446. "begdate": "",
  447. "enddate": "",
  448. "type": ""//订单类型
  449. }
  450. }
  451. },
  452. orderTypeList: [],
  453. }
  454. },
  455. methods: {
  456. /*详情页信息*/
  457. async getDetailInfo() {
  458. const res = await this.$api.requested({
  459. "id": 20240605102804,
  460. "content": {
  461. "sys_phonebookid": this.$route.query.id
  462. }
  463. });
  464. this.detailInfo = res.data[0];
  465. console.log(this.detailInfo, 'detailInfo')
  466. },
  467. refreshTable(param, el) {
  468. this[param].content.pageNumber = 1;
  469. this.$refs[el] && this.$refs[el].listData()
  470. },
  471. async queryType() {
  472. const res = await this.$store.dispatch('optiontypeselect', 'ordertype');
  473. this.orderTypeList = res.data
  474. this.orderTypeList.forEach((item,index)=>{
  475. if (item.value == '工具借用单'){
  476. this.orderTypeList.splice(index,1)
  477. }
  478. })
  479. },
  480. unitCompile(num) {
  481. if (num == 0) {
  482. return this.tool.formatAmount(num, 0, '¥')
  483. } else {
  484. return this.tool.formatAmount(num / 10000, 2, '¥') + '万'
  485. }
  486. },
  487. },
  488. mounted() {
  489. this.getDetailInfo();
  490. this.queryType()
  491. /*this.followData()*/
  492. }
  493. }
  494. </script>
  495. <style scoped>
  496. * {
  497. box-sizing: border-box;
  498. }
  499. .my-label {
  500. background: rgba(235, 245, 253, 1);
  501. }
  502. .nowrap {
  503. white-space: nowrap;
  504. overflow: hidden;
  505. text-overflow: ellipsis;
  506. flex: 100;
  507. }
  508. /deep/ .el-drawer {
  509. background: #F5F5F5 !important;
  510. }
  511. /deep/ .el-drawer__header {
  512. display: none !important;
  513. }
  514. /deep/ .el-descriptions-item__cell {
  515. padding: 8px 8px 0px 8px !important;
  516. }
  517. /deep/ .el-card__header, /deep/ .el-card__body {
  518. padding: 10px !important;
  519. }
  520. .Mcontainer .Mcontainer-header {
  521. display: flex;
  522. align-items: center;
  523. }
  524. .Mcontainer .Mcontainer-header .Mcontainer-header__left {
  525. display: flex;
  526. max-width: 350px;
  527. min-width: 350px;
  528. align-items: center;
  529. padding-right: 20px;
  530. }
  531. .Mcontainer .Mcontainer-header .Mcontainer-header__right {
  532. flex: 100;
  533. border-left: 1px solid #cccccc;
  534. padding-left: 20px;
  535. }
  536. .Mcontainer .Mcontainer-header .Mcontainer-header__left .account {
  537. display: flex;
  538. flex-direction: column;
  539. justify-content: space-between;
  540. margin-left: 10px;
  541. overflow: hidden;
  542. flex: 100;
  543. }
  544. .Mcontainer .Mcontainer-header .Mcontainer-header__left .account .Mtag {
  545. margin-top: 5px;
  546. }
  547. .Mcontainer .Mfollow {
  548. margin-top: 10px;
  549. }
  550. .Mcontainer .peopleInfo {
  551. margin-top: 10px;
  552. padding-bottom: 10px;
  553. }
  554. .peopleInfo-content {
  555. display: flex;
  556. flex-direction: column;
  557. height: 300px;
  558. overflow-y: scroll;
  559. }
  560. .peopleInfo-content::-webkit-scrollbar {
  561. display: none;
  562. }
  563. .peopleInfo-content .leader {
  564. margin-bottom: 10px;
  565. display: flex;
  566. flex-direction: column;
  567. }
  568. .peopleInfo-content .leader .title {
  569. font-size: 14px;
  570. }
  571. .peopleInfo-content .leader .content {
  572. display: flex;
  573. flex-wrap: wrap;
  574. }
  575. .peopleInfo-content .leader .content .item {
  576. display: flex;
  577. align-items: center;
  578. margin: 0 20px 10px 0;
  579. }
  580. .peopleInfo-content .leader .content .avatar {
  581. width: 50px;
  582. height: 50px;
  583. border-radius: 50%;
  584. text-align: center;
  585. line-height: 50px;
  586. background: #3874F6;
  587. margin-right: 10px;
  588. color: #ffffff;
  589. }
  590. .peopleInfo-content .leader .content .Info {
  591. display: flex;
  592. flex-direction: column;
  593. }
  594. .peopleInfo-content .leader .content .Info div {
  595. display: flex;
  596. align-items: center;
  597. font-size: 12px;
  598. color: #cccccc;
  599. }
  600. .peopleInfo-content .people {
  601. margin-bottom: 10px;
  602. display: flex;
  603. flex-direction: column;
  604. }
  605. .peopleInfo-content .people .title {
  606. font-size: 14px;
  607. }
  608. .peopleInfo-content .people .content {
  609. display: flex;
  610. flex-wrap: wrap;
  611. }
  612. .peopleInfo-content .people .content .item {
  613. display: flex;
  614. align-items: center;
  615. margin: 0 20px 10px 0;
  616. }
  617. .peopleInfo-content .people .content .avatar {
  618. width: 50px;
  619. height: 50px;
  620. border-radius: 50%;
  621. text-align: center;
  622. line-height: 50px;
  623. background: #3874F6;
  624. margin-right: 10px;
  625. color: #ffffff;
  626. }
  627. .peopleInfo-content .people .content .Info {
  628. display: flex;
  629. flex-direction: column;
  630. }
  631. .peopleInfo-content .people .content .Info div {
  632. display: flex;
  633. align-items: center;
  634. font-size: 12px;
  635. color: #cccccc;
  636. }
  637. .peopleInfo-content .people {
  638. }
  639. .descript {
  640. font-size: 12px;
  641. color: #cccccc;
  642. margin-right: 20px;
  643. white-space: nowrap;
  644. }
  645. .title {
  646. font-size: 14px;
  647. color: #000000;
  648. margin-right: 10px;
  649. white-space: nowrap;
  650. }
  651. .myTitle {
  652. margin-right: 24px;
  653. font-size: 16px;
  654. font-weight: bold;
  655. }
  656. </style>