综合办公系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

chooseContract.vue 3.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <template>
  2. <div>
  3. <el-row>
  4. <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="88px">
  5. <el-form-item label="合同编码" prop="contractCode">
  6. <el-input v-model="queryParams.contractCode" placeholder="请输入合同编码" clearable
  7. @keyup.enter.native="handleQuery" />
  8. </el-form-item>
  9. <el-form-item label="合同编号" prop="contractNumber">
  10. <el-input v-model="queryParams.contractNumber" placeholder="请输入合同编号" clearable
  11. @keyup.enter.native="handleQuery" />
  12. </el-form-item>
  13. <el-form-item>
  14. <el-button type="primary" icon="el-icon-search" @click="handleQuery()">搜索</el-button>
  15. </el-form-item>
  16. </el-form>
  17. </el-row>
  18. <el-table ref="choosePContract" v-loading="loading" :data="contractList" highlight-current-row
  19. @current-change="handleCurrentChange" :row-key="getRowKeys" @row-dblclick="confirmChoose">
  20. <el-table-column label="项目名称" align="center" key="tender.projectName" prop="tender.projectName"
  21. min-width="150px" />
  22. <el-table-column label="合同编码" align="center" key="contractCode" prop="contractCode" />
  23. <el-table-column label="合同编号" align="center" prop="contractNumber" min-width="100px" />
  24. <el-table-column label="合同金额" align="center" prop="amount" min-width="100px" />
  25. <el-table-column label="拟稿人" align="center" prop="draftUser.nickName" min-width="100px" />
  26. <el-table-column label="合同备注" align="center" prop="remark" min-width="100px" />
  27. </el-table>
  28. <div style="text-align: right;" class="mt20 mr20">
  29. <el-pagination @current-change="getList" :current-page.sync="queryParams.pageNum"
  30. :page-size="queryParams.pageSize" layout="total, prev, pager, next" :total="total">
  31. </el-pagination>
  32. </div>
  33. <div>
  34. 已选项目:<el-tag>{{ choosePContract.tender.projectName }}</el-tag>
  35. </div>
  36. <div style="text-align: center;margin-top: 20px;">
  37. <el-button type="primary" @click="confirmChoose">确认选择</el-button>
  38. <el-button @click="$emit('close')">取消</el-button>
  39. </div>
  40. </div>
  41. </template>
  42. <script>
  43. import { listProjectContract, addProjectContract } from "@/api/oa/contract/projectContract";
  44. import { listContract, getContract, delContract, addContract, updateContract } from "@/api/oa/contract/contract";
  45. export default {
  46. data() {
  47. return {
  48. // 查询参数
  49. queryParams: {
  50. pageNum: 1,
  51. pageSize: 10
  52. },
  53. contractList: [],
  54. userList: [],
  55. total: 0,
  56. loading: true,
  57. choosePContract: {
  58. tender: {
  59. projectName: ''
  60. }
  61. },
  62. }
  63. },
  64. created() {
  65. this.getList()
  66. },
  67. methods: {
  68. getList() {
  69. listContract(this.queryParams).then(response => {
  70. this.contractList = response.rows;
  71. this.total = response.total;
  72. this.loading = false;
  73. })
  74. },
  75. handleQuery() {
  76. this.queryParams.pageNum = 1;
  77. this.getList();
  78. },
  79. handleCurrentChange(val) {
  80. this.choosePContract = val
  81. },
  82. getRowKeys(row) {
  83. return row.contractId;
  84. },
  85. confirmChoose() {
  86. this.$emit('choose', this.choosePContract)
  87. },
  88. },
  89. }
  90. </script>
  91. <style lang="scss" scoped></style>