综合办公系统
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.

car.vue 4.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <template>
  2. <view class="form-container">
  3. <!-- 表单标题 -->
  4. <view class="form-title">
  5. <text class="title-text">用车申请表</text>
  6. <view class="title-line"></view>
  7. </view>
  8. <uni-forms ref="form" :modelValue="form" :rules="rules" label-position="top" label-width="150" class="custom-form">
  9. <flow-note :taskForm="taskForm"></flow-note>
  10. <!-- 当前节点 -->
  11. <uni-forms-item label="当前节点" class="form-item" v-if="taskName">
  12. <uni-tag :inverted="true" type="primary" :text="taskName"></uni-tag>
  13. </uni-forms-item>
  14. <!-- 流程发起人 -->
  15. <uni-forms-item label="填报人" class="form-item">
  16. <b style="font-size:30rpx;">{{ applierUserName }}</b>
  17. </uni-forms-item>
  18. <!-- 填报日期 -->
  19. <uni-forms-item label="填报日期" class="form-item">
  20. <text>{{ form.applyDate }}</text>
  21. </uni-forms-item>
  22. <!-- 借款类型 -->
  23. <uni-forms-item label="申请用途" required class="form-item" name="carUsage">
  24. <uni-data-checkbox v-model="form.carUsage" :localdata="carUsageOptions" :disabled="taskName != '用车申请'"
  25. @change="hanldeChangeType"></uni-data-checkbox>
  26. </uni-forms-item>
  27. <!-- 选择项目 -->
  28. <uni-forms-item label="选择项目" required class="form-item" v-if="form.carUsage == 0" name="projectId">
  29. <u-button type="primary" @click="openProject = true" v-if="taskName == '用车申请'">+ 选择项目</u-button>
  30. <ProjectPicker :visible.sync="openProject" :selected.sync="selectedProject" @confirm="handleConfirm" />
  31. <ProjectInfo :project="projectObj"></ProjectInfo>
  32. </uni-forms-item>
  33. </uni-forms>
  34. </view>
  35. </template>
  36. <script>
  37. import { parseTime } from "@/utils/common.js"
  38. import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
  39. import { listCar, getCar } from "@/api/oa/car/car";
  40. import { listCarApproval, getCarApproval, updateCarApproval, addCarApproval, modifyCarApproval } from '@/api/oa/car/carApproval'
  41. import { listProject, getProject } from "@/api/oa/project/project";
  42. import { getUserByRole } from "@/api/system/role";
  43. import { getUsersManageLeader } from '@/api/system/post.js'
  44. import FlowNote from '@/pages/components/flowNote.vue';
  45. import ProjectPicker from '@/pages/components/ProjectPicker.vue';
  46. import ProjectInfo from '@/pages/components/ProjectInfo.vue';
  47. import Auditor from "@/pages/components/auditor.vue";
  48. export default {
  49. components: {
  50. FlowNote,
  51. ProjectPicker,
  52. ProjectInfo,
  53. Auditor
  54. },
  55. props: {
  56. taskForm: Object,
  57. taskName: String,
  58. startUserName: String,
  59. },
  60. data() {
  61. return {
  62. form: {
  63. applyDate: '',
  64. projectId: '',
  65. carUsage:'0',
  66. },
  67. rules: {},
  68. openProject: false,
  69. projectObj: {},
  70. selectedProject: {},
  71. carUsageOptions: [{
  72. text: '项目用车',
  73. value: '0',
  74. disable: false
  75. }, {
  76. text: '非项目用车',
  77. value: '1',
  78. disable: false
  79. }, {
  80. text: '工会用车',
  81. value: '2',
  82. disable: false
  83. }, {
  84. text: '党委用车',
  85. value: '3',
  86. disable: false
  87. }, {
  88. text: '团委用车',
  89. value: '4',
  90. disable: false
  91. }],
  92. dept: 0,
  93. }
  94. },
  95. created() {
  96. this.applierUserName = this.startUserName;
  97. this.initForm();
  98. },
  99. methods: {
  100. initForm() {
  101. getCarApproval(this.taskForm.formId).then(res => {
  102. if (res.data) {
  103. } else {
  104. this.form.applyDate = parseTime(new Date(), "{y}-{m}-{d}");
  105. }
  106. })
  107. },
  108. handleConfirm(project) {
  109. this.selectedProject = project;
  110. this.projectObj = project;
  111. this.form.projectId = project.projectId;
  112. },
  113. hanldeChangeType(val) {
  114. if (val == '2' || val == '3' || val == '4') {
  115. this.dept = 0;
  116. }
  117. else
  118. this.dept = this.$store.getters.deptId;
  119. }
  120. },
  121. }
  122. </script>
  123. <style lang="scss" scoped></style>