addSanfangHetong.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. <template>
  2. <view class="sfht-info-page">
  3. <view class="icon-title-navBar-box">
  4. <view @click="goUpPage" class="nav-bar-icon"></view>
  5. <text class="nav-bar-title">新增三方合同</text>
  6. </view>
  7. <!-- form -->
  8. <view class="sfht-form-box">
  9. <!-- 合同模板 -->
  10. <view class="form-label-select form-radius-box">
  11. <view class="phone-form-label"><text class="form-label-require"></text>合同模板</view>
  12. <picker :range="data.mobanList" mode='selector' :value="data.mobanIndex" range-key="name"
  13. @change="onMobanSelect" class="select-picker-box">
  14. <view class="form-radio-select">
  15. <view v-if="data.mobanList[data.mobanIndex]">{{ data.mobanList[data.mobanIndex].name}}</view>
  16. <icon></icon>
  17. </view>
  18. </picker>
  19. </view>
  20. </view>
  21. <!-- 客户信息 -->
  22. <kehuCardVue :info="data.kehu" @select-kehu="onSelectKehu"></kehuCardVue>
  23. <!-- 家政人员 -->
  24. <jiazhengCardVue :info="data.jiazheng" @select-jzry="onSelectJzry"></jiazhengCardVue>
  25. <!-- 合同信息 -->
  26. <hetongCardVue :info="data.hetong" @fuwuleixing="onSelectFuwuLeixing"></hetongCardVue>
  27. <!-- 其他约定 -->
  28. <qiTaYueDingVue :info="data.qita" @qita="handleUpQita"></qiTaYueDingVue>
  29. <!-- 家政签名 -->
  30. <qianMingVue :info="data.qianming" @qianming="handleQianming"></qianMingVue>
  31. <!-- <button @click="handleSelct('kh')">选择客户</button>
  32. <button @click="handleSelct('jz')">选择家政</button> -->
  33. </view>
  34. </template>
  35. <script setup>
  36. import {
  37. ref,
  38. reactive,
  39. nextTick
  40. } from "vue";
  41. import {
  42. onLoad
  43. } from "@dcloudio/uni-app";
  44. import * as httpApi from "@/api/sanfang.js"
  45. import hetongCardVue from "./components/hetongCard.vue";
  46. import jiazhengCardVue from "./components/jiazhengCard.vue";
  47. import kehuCardVue from "./components/kehuCard.vue";
  48. import qianMingVue from "./components/qianMing.vue";
  49. import qiTaYueDingVue from "./components/qiTaYueDing.vue";
  50. import {
  51. useHetong
  52. } from "./useHetong.js"
  53. const {
  54. provideHetong
  55. } = useHetong()
  56. const emits = defineEmits('select-kehu')
  57. const data = reactive({
  58. mobanList: [],
  59. mobanIndex: null,
  60. kehu: {
  61. name: '',
  62. idCard: '',
  63. tel: '',
  64. dizhi: '',
  65. id: null
  66. },
  67. jiazheng: {
  68. id: null,
  69. realName: ''
  70. },
  71. hetong: {
  72. baochou: '', // 基本月报酬
  73. beizhu: '', // 备注
  74. bingren: '', // 病人病情
  75. dizhi: '', // 服务地址
  76. fafangri: '', // 工资发放日
  77. fangshi: 1, // 服务方式,1住家型,2非住家型
  78. fsShijian: '', // 非住家型服务时间
  79. fuwufei: '', // 服务费
  80. fuwufeiRate: '', // 服务费百分比
  81. fzHaizi: '', // 辅助照顾孩子人数
  82. fzHzNianling: '', // 辅助照顾孩子年龄
  83. huli: '', // 产妇护理
  84. idcard: '', // 家政身份证号
  85. jiabingEndDate: '', // 甲丙服务结束时间
  86. jiabingStartDate: '', // 甲丙服务开始时间
  87. jiandurexian: '', // 服务监督热线
  88. jiayiEndDate: '', // 甲乙服务结束时间
  89. jiayiStartDate: '', // 甲乙服务开始时间
  90. khId: '', // 客户ID
  91. khName: '', // 客户姓名
  92. khIdcard: '', // 客户身份证号
  93. laoren: '', // 照顾老人人数
  94. leixing: 1, // 服务类型,1普通家务保姆,2钟点工保姆,3育儿嫂,4其他
  95. lrnianling: '', // 照顾老人年龄: 60,70,80
  96. lxName: '', // 其他服务类型名称
  97. mianji: '', // 住房面积
  98. qita: '', // 基本月报酬
  99. qzHaizi: '', // 全职照顾孩子人数
  100. qzHzNianliang: '', // 全职照顾孩子年龄
  101. realName: '', // 家政姓名
  102. renkou: '', // 常驻人口数
  103. tianshu: '', // 基本月报酬天数
  104. userId: '', // 家政员ID
  105. xinyongdaima: '', // 统一社会信用代码
  106. xiuxi: '', // 休息天数
  107. khUserName: '', // 客户电话
  108. },
  109. qita: '',
  110. qianming: '',
  111. htId: '', // 三方合同ID
  112. })
  113. // 穿透式传参
  114. provideHetong(data)
  115. const jzRef = ref(null)
  116. function handleSelct(code) {
  117. if (code == 'kh') {
  118. khRef.value.handleShow();
  119. } else {
  120. jzRef.value.handleShow();
  121. }
  122. }
  123. function goUpPage() {
  124. uni.navigateBack()
  125. }
  126. function getMoban() {
  127. httpApi.getMobanList().then(res => {
  128. data.mobanList = res.data;
  129. // 初始化默认选中
  130. data.mobanIndex = 0;
  131. })
  132. }
  133. function onMobanSelect(da) {
  134. data.mobanIndex = da.detail.value
  135. }
  136. function onSelectKehu(da) {
  137. data.kehu = da;
  138. }
  139. function onSelectJzry(da) {
  140. data.jiazheng = da;
  141. }
  142. function handleQianming(da) {
  143. data.qianming = da;
  144. }
  145. function handleUpQita(da) {
  146. data.qita = da;
  147. }
  148. function onSelectFuwuLeixing(da) {
  149. data.hetong.leixing = da.value;
  150. }
  151. onLoad(() => {
  152. getMoban();
  153. })
  154. </script>
  155. <style>
  156. </style>