update.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <template>
  2. <HcCard actionUi="text-center">
  3. <template #header>
  4. <div class="w-48">
  5. <el-select block clearable placeholder="请选择合同名称" size="large">
  6. <el-option v-for="item in projectName" :label="item.name" :value="item.key"/>
  7. </el-select>
  8. </div>
  9. </template>
  10. <div class="hc-table-ref-box no-border hc-project-contract-update-data">
  11. <el-table :data="tableData" border
  12. :header-cell-style="tableHeaderCellStyle"
  13. :row-style="tableRowStyle"
  14. style="width: 100%; height: 100%"
  15. >
  16. <el-table-column prop="key1" label="回款条件" align="center"/>
  17. <el-table-column prop="key2" label="应收款时间" align="center"/>
  18. <el-table-column prop="key3" label="应收回款金额" align="center"/>
  19. <el-table-column prop="key4" label="实际回款时间" align="center">
  20. <template #default="{ row }">
  21. <span v-if="row.key4">{{row.key4}}</span>
  22. <el-date-picker class="block" v-model="row.key4" format="YYYY-MM-DD" type="date" value-format="YYYY-MM-DD" v-else/>
  23. </template>
  24. </el-table-column>
  25. <el-table-column prop="key5" label="实际回款金额" align="center">
  26. <template #default="{ row }">
  27. <span v-if="row.key5">{{row.key5}}</span>
  28. <el-input v-model="row.key5" v-else/>
  29. </template>
  30. </el-table-column>
  31. <el-table-column prop="key6" label="催款执行人" align="center"/>
  32. </el-table>
  33. </div>
  34. <template #action>
  35. <el-button size="large" type="info" hc-btn @click="goBackClick">
  36. <HcIcon name="arrow-go-back"/>
  37. <span>取消并返回</span>
  38. </el-button>
  39. <el-button size="large" type="primary" hc-btn @click="saveClick">
  40. <HcIcon name="check-double"/>
  41. <span>提交保存</span>
  42. </el-button>
  43. </template>
  44. </HcCard>
  45. </template>
  46. <script setup>
  47. import {onActivated, ref} from "vue";
  48. import {useRouter, useRoute} from 'vue-router'
  49. //初始变量
  50. const router = useRouter()
  51. const useRoutes = useRoute()
  52. const dataId = ref(useRoutes?.query?.id ?? '')
  53. //缓存页面被激活时
  54. onActivated(() => {
  55. dataId.value = useRoutes?.query?.id ?? ''
  56. console.log(useRoutes.query)
  57. })
  58. //项目名称
  59. const projectName = ref([
  60. {name: '陈油路', key: '陈油路'},
  61. {name: '奉建路', key: '奉建路'}
  62. ])
  63. //表格数据
  64. const tableData = ref([
  65. {id: 1, key1: 'xxxx', key2: '222', key3: '333', key4: '', key5: '', key6: '666'},
  66. {id: 2, key1: '', key2: '', key3: '', key4: '22', key5: '33', key6: ''},
  67. {id: 3, key1: '', key2: '', key3: '', key4: '22', key5: '33', key6: ''},
  68. ])
  69. //自定义表头样式
  70. const tableHeaderCellStyle = () => {
  71. return {backgroundColor: '#93D2F3', color: '#101010'}
  72. }
  73. //自定义行的样式
  74. const tableRowStyle = ({ row }) => {
  75. if (row.key4 === '' || row.key5 === '') {
  76. return {backgroundColor: '#BD3124', color: '#fff'}
  77. }
  78. }
  79. //返回
  80. const goBackClick = () => {
  81. router.back()
  82. }
  83. //提交保存
  84. const saveClick = () => {
  85. }
  86. </script>
  87. <style lang="scss">
  88. .hc-project-contract-update-data .el-table {
  89. --el-table-border-color: #b7b7b7;
  90. --el-table-row-hover-bg-color: inherit;
  91. }
  92. </style>