CompanyTaskList0219.vue 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352
  1. <template>
  2. <a-spin :spinning="pdfLoading" size="large" tip="正在生成pdf,请勿刷新页面">
  3. <div>
  4. <a-page-header
  5. style="background-color: #FFFFFF;"
  6. :title="'客户信息'"
  7. sub-title=""
  8. @back="showTaskList"
  9. >
  10. <a-button style="left: 1%;position: relative" type="primary" @click="exportToWord">导出PDF</a-button>
  11. <div id="pdfHtml">
  12. <a-card :bordered="false" style="margin-top: 10px;">
  13. <div slot="title">
  14. <span style="float: left;position: relative;top: 4px;color: #1890FF">1、客户经理:崔小亮 </span>
  15. <span style="float: left;position: relative;top: 4px;left: 20px;color: #1890FF">工号:B06530</span>
  16. <span style="float: left;position: relative;top: 4px;left: 40px;color: #1890FF">联系方式:18406573912</span>
  17. </div>
  18. <a-descriptions title="客户名称:测试" style="left: 3%;top:2%;position: relative;">
  19. <a-descriptions-item label="稽核类型">物联网</a-descriptions-item>
  20. <a-descriptions-item label="所属任务">测试1</a-descriptions-item>
  21. <a-descriptions-item label="创建时间">2024-01-01 02:58:58</a-descriptions-item>
  22. <a-descriptions-item label="稽核状态">待整改</a-descriptions-item>
  23. <a-descriptions-item label="用户编号">400018080223</a-descriptions-item>
  24. </a-descriptions>
  25. <a-divider style="left: 3%;position: relative;font-weight:400;color: rgb(55 53 53 / 85%)"
  26. orientation="left">
  27. 工作信息
  28. </a-divider>
  29. <a-list style="left: 3%;position: relative;width: 98%" size="small" bordered>
  30. <a-list-item>24-01-16 10:27 崔小亮:提交了客户名称【测试1】的资料</a-list-item>
  31. <a-list-item>24-01-16 10:30 刘婷婷:退回客户名称【测试】的资料</a-list-item>
  32. </a-list>
  33. <a-divider/>
  34. <a-descriptions title="客户名称: 1223测试" style="left: 3%;top:2%;position: relative;">
  35. <a-descriptions-item label="稽核类型">物联网</a-descriptions-item>
  36. <a-descriptions-item label="所属任务">1223测试</a-descriptions-item>
  37. <a-descriptions-item label="创建时间">2024-01-11 03:06:12</a-descriptions-item>
  38. <a-descriptions-item label="稽核状态">通过</a-descriptions-item>
  39. <a-descriptions-item label="用户编号">400018080223</a-descriptions-item>
  40. </a-descriptions>
  41. <a-divider style="left: 3%;position: relative;font-weight:400;color: rgb(55 53 53 / 85%)"
  42. orientation="left">
  43. 工作信息
  44. </a-divider>
  45. <a-list style="left: 3%;position: relative;width: 98%" size="small" bordered>
  46. <a-list-item>24-01-16 11:27 崔小亮:提交客户名称【1223测试】的资料</a-list-item>
  47. <a-list-item>24-01-16 11:31 刘婷婷:退回客户名称【1223测试】的资料</a-list-item>
  48. <a-list-item>24-01-16 11:33 崔小亮:整改客户名称【1223测试】的资料</a-list-item>
  49. <a-list-item>24-01-16 11:31 刘婷婷:通过客户名称【1223测试】的资料</a-list-item>
  50. </a-list>
  51. <a-divider/>
  52. <a-descriptions title="客户名称: 测试0111" style="left: 3%;top:2%;position: relative;">
  53. <a-descriptions-item label="稽核类型">物联网</a-descriptions-item>
  54. <a-descriptions-item label="所属任务">测试0111</a-descriptions-item>
  55. <a-descriptions-item label="创建时间">2024-01-11 09:00:54</a-descriptions-item>
  56. <a-descriptions-item label="稽核状态">通过</a-descriptions-item>
  57. <a-descriptions-item label="用户编号">400018080223</a-descriptions-item>
  58. </a-descriptions>
  59. <a-divider style="left: 3%;position: relative;font-weight:400;color: rgb(55 53 53 / 85%)"
  60. orientation="left">
  61. 工作信息
  62. </a-divider>
  63. <a-list style="left: 3%;position: relative;width: 98%" size="small" bordered>
  64. <a-list-item>24-01-12 16:01 崔小亮:提交客户名称【1223测试】的资料</a-list-item>
  65. <a-list-item>24-01-12 16:05 刘婷婷:退回客户名称【1223测试】的资料</a-list-item>
  66. <a-list-item>24-01-12 16:10 崔小亮:整改客户名称【1223测试】的资料</a-list-item>
  67. <a-list-item>24-01-12 16:21 刘婷婷:通过客户名称【1223测试】的资料</a-list-item>
  68. </a-list>
  69. </a-card>
  70. <a-card :bordered="false" style="margin-top: 10px;">
  71. <div slot="title">
  72. <span style="float: left;position: relative;top: 4px;color: #1890FF">2、客户经理:张雪 </span>
  73. <span style="float: left;position: relative;top: 4px;left: 20px;color: #1890FF">工号:C0157101</span>
  74. <span style="float: left;position: relative;top: 4px;left: 40px;color: #1890FF">联系方式:18010135831</span>
  75. </div>
  76. <a-descriptions title="客户名称:测试222" style="left: 3%;top:2%;position: relative;">
  77. <a-descriptions-item label="稽核类型">行短</a-descriptions-item>
  78. <a-descriptions-item label="所属任务">测试222</a-descriptions-item>
  79. <a-descriptions-item label="创建时间">2023-12-22 10:24:46</a-descriptions-item>
  80. <a-descriptions-item label="稽核状态">未处理</a-descriptions-item>
  81. <a-descriptions-item label="用户编号">400018080223</a-descriptions-item>
  82. </a-descriptions>
  83. <a-divider style="left: 3%;position: relative;font-weight:400;color: rgb(55 53 53 / 85%)"
  84. orientation="left">
  85. 工作信息
  86. </a-divider>
  87. <a-list style="left: 3%;position: relative;width: 98%" size="small" bordered>
  88. <a-list-item>暂无相关信息</a-list-item>
  89. </a-list>
  90. </a-card>
  91. </div>
  92. </a-page-header>
  93. </div>
  94. </a-spin>
  95. </template>
  96. <script>
  97. import CompanyCheckCheck from "@views/company/CompanyCheckCheck";
  98. import CompanyCheckDetail from "@views/company/CompanyCheckDetail";
  99. import {getAction} from "@api/manage";
  100. import {JeecgListMixin} from "@/mixins/JeecgListMixin";
  101. import {mixinDevice} from "@/utils/mixin";
  102. import html2Canvas from 'html2canvas'
  103. import {getPdf} from '@/utils/htmlToPdf'
  104. export default {
  105. name: 'CompanyTaskList',
  106. mixins: [JeecgListMixin, mixinDevice],
  107. components: {
  108. CompanyCheckCheck,
  109. CompanyCheckDetail,
  110. },
  111. props: {
  112. taskInfo: {
  113. type: Object,
  114. require: true
  115. }
  116. },
  117. filters: {
  118. statusTypeFilter(type) {
  119. const statusTypeMap = {
  120. '0': 'error',
  121. '1': 'error',
  122. '2': 'warning',
  123. '3': 'warning',
  124. '4': 'processing',
  125. '5': 'success'
  126. }
  127. return statusTypeMap[type]
  128. },
  129. statusFilter(status) {
  130. const statusMap = {
  131. '0': '未处理',
  132. '1': '未完善',
  133. '2': '待稽核',
  134. '3': '待稽核',
  135. '4': '待整改',
  136. '5': '通过'
  137. }
  138. return statusMap[status]
  139. }
  140. },
  141. data() {
  142. return {
  143. data1: ["23-12-22 10:27 张雪:提交了客户名称【测试】的资料",
  144. "23-12-22 10:30 管理员:对客户名称【测试】的资料进行退回",
  145. ],
  146. labelCol4: {
  147. labelCol: {
  148. xs: {span: 24},
  149. sm: {span: 8},
  150. },
  151. wrapperCol: {
  152. xs: {span: 24},
  153. sm: {span: 14},
  154. }
  155. },
  156. pdfLoading: false,
  157. columns: [
  158. {
  159. title: '#',
  160. dataIndex: '',
  161. key: 'rowIndex',
  162. width: 60,
  163. align: "center",
  164. customRender: function (t, r, index) {
  165. return parseInt(index) + 1;
  166. }
  167. },
  168. {
  169. title: '服务号码',
  170. align: "center",
  171. dataIndex: 'smsNumber',
  172. customRender: function (text, record, index) {
  173. if (!text) {
  174. return '暂无'
  175. }
  176. return text;
  177. }
  178. },
  179. {
  180. title: '入网时间',
  181. align: "center",
  182. dataIndex: 'networkAccessTime'
  183. },
  184. {
  185. title: '客户经理',
  186. align: "center",
  187. dataIndex: 'staffName'
  188. },
  189. {
  190. title: '客户经理工号',
  191. align: "center",
  192. dataIndex: 'staffNo'
  193. },
  194. {
  195. title: '创建时间',
  196. align: "center",
  197. dataIndex: 'createTime'
  198. },
  199. {
  200. title: '客户信息类型',
  201. align: "center",
  202. dataIndex: 'type',
  203. customRender: function (text, record, index) {
  204. console.log(text)
  205. let checkStateName = ''
  206. if (!text) {
  207. checkStateName = '无'
  208. }
  209. if (text === 1) {
  210. checkStateName = '行短'
  211. }
  212. if (text === 2) {
  213. checkStateName = '物联网'
  214. }
  215. if (text === 3) {
  216. checkStateName = '特审复开'
  217. }
  218. if (text === 4) {
  219. checkStateName = '中继线'
  220. }
  221. return checkStateName
  222. }
  223. },
  224. {
  225. title: '资料状态',
  226. align: "center",
  227. dataIndex: 'checkState',
  228. scopedSlots: {customRender: 'checkState'}
  229. },
  230. {
  231. title: '操作',
  232. dataIndex: 'action',
  233. align: "center",
  234. fixed: "right",
  235. width: 147,
  236. scopedSlots: {customRender: 'action'}
  237. }
  238. ],
  239. description: '稽核业务列表',
  240. labelCol: {span: 1},
  241. wrapperCol: {span: 23},
  242. taskCheckInfo: {},
  243. showType: 'checktask',
  244. url: {
  245. list: "/smsCheck/customerInfo/staff/list",
  246. },
  247. queryParam: {
  248. customerNo: this.taskInfo.info.customerNo,
  249. },
  250. showHistory: ''
  251. }
  252. },
  253. created() {
  254. this.queryParam.customerNo = this.taskInfo.info.customerNo
  255. this.initTable();
  256. this.init();
  257. },
  258. methods: {
  259. exportToWord() {
  260. this.pdfLoading = true
  261. getPdf('客户信息报表', 'pdfHtml')//pdfHtml为导出内容的ID
  262. this.pdfLoading = false
  263. },
  264. init() {
  265. let queryList = {
  266. customerNo: this.taskInfo.info.customerNo,
  267. }
  268. getAction("/smsCheck/customerInfo/selectTaskList", queryList).then(resp => {
  269. if (resp.success) {
  270. this.taskCheckInfo = resp.result.records
  271. }
  272. })
  273. },
  274. initTable() {
  275. let queryTable = {
  276. customerNo: this.taskInfo.info.customerNo,
  277. /*taskId:this.taskInfo.task.id*/
  278. }
  279. /*getAction("/smsCheck/customerInfo/list",queryTable).then(resp=>{
  280. if(resp.success){
  281. this.dataSource=resp.result.records
  282. }
  283. })*/
  284. },
  285. showTaskList() {
  286. let taskInfo = Object.assign({}, this.task);
  287. this.$emit("goCompany", taskInfo)
  288. },
  289. showCheckCheck(record) {
  290. let type = record.type;
  291. if (type === 1) {
  292. this.$router.push({path: '/sms/check/TaskUploadDataSelect', query: {id: record.id}});
  293. }
  294. if (type === 2) {
  295. this.$router.push({path: '/lotCheck/modules/TaskCheckAudit', query: {id: record.id}});
  296. }
  297. if (type === 3) {
  298. }
  299. if (type === 4) {
  300. }
  301. //this.taskInfo.info=record
  302. //this.$emit("goCheckCheck",this.taskInfo)
  303. },
  304. taskType(type) {
  305. if (type === 1) {
  306. return '行短';
  307. }
  308. if (type === 2) {
  309. return '物联网';
  310. }
  311. if (type === 3) {
  312. return '防诈复开'
  313. }
  314. if (type === 4) {
  315. return '中继线'
  316. }
  317. }
  318. }
  319. }
  320. </script>