social.vue 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. <template>
  2. <div class="social-wrap">
  3. <div class="p_head">
  4. <img src="../../assets/image/payrollback_left@2x.png" class="leftIcon" alt="" @click="$router.replace('/index')">
  5. <span>
  6. <img v-if="data.is_fund == 0" src="../../assets/image/socialHeadIcon@2x.png" class="HeadIcon" alt="">
  7. <img v-else src="../../assets/image/fiveRisksHeadIcon@2x.png" class="HeadIcon" alt="">
  8. <span>
  9. {{data.is_fund == 0 ? '社保代缴' : '五险一金'}}
  10. </span>
  11. </span>
  12. </div>
  13. <section class="social-basic input-qian" v-if="data.social_type == null">
  14. <form action="" id="social-basic" class="needs-validation" novalidate>
  15. <div class="form-group row">
  16. <label for="realname" class="col-3 col-form-label">姓名</label>
  17. <div class="col-8">
  18. <input type="text" class="form-control" id="realname" name="realname"
  19. value="" required pattern="^[\u4e00-\u9fa5]{2,4}$">
  20. <div class="invalid-feedback">
  21. 请输入有效的姓名
  22. </div>
  23. </div>
  24. <b class="text-danger">*</b>
  25. </div>
  26. <div class="form-group row">
  27. <label for="gender" class="col-3 col-form-label">性别</label>
  28. <div class="col-8">
  29. <select id="gender" name="gender" class="form-control">
  30. <option value="1">男</option>
  31. <option value="2">女</option>
  32. </select>
  33. </div>
  34. </div>
  35. <div class="form-group row">
  36. <label for="city" class="col-3 col-form-label">选择城市</label>
  37. <div class="col-8">
  38. <select class="city-sheng" name="" id="sheng" v-model='data.code' @change="chooseShi()">
  39. <option style="color:#8e8e8e" v-for="item in data.sheng" :value="item.code"> {{item.name}} </option>
  40. </select>
  41. <br>
  42. <select class="city-shi" name="social_city" id="" v-model='data.codes' @change="chooseSocial()">
  43. <option v-for="items in data.shi" :value="items.code" > {{items.name}} </option>
  44. </select>
  45. <div class="invalid-feedback">
  46. 请选择代缴城市
  47. </div>
  48. </div>
  49. <b class="text-danger">*</b>
  50. </div>
  51. <div class="form-group row">
  52. <label for="socialType" class="col-3 col-form-label">社保户别</label>
  53. <div class="col-8">
  54. <select id="socialType" name="socialType" class="form-control" >
  55. <option v-for="item in data.sociallist" :value="item.id">{{item.name}}</option>
  56. </select>
  57. <div class="invalid-feedback">
  58. 请输入有效的社保户别
  59. </div>
  60. </div>
  61. <b class="text-danger">*</b>
  62. </div>
  63. <!-- <div class="form-group row">-->
  64. <!-- <label for="socialCity" class="col-3 col-form-label">缴费城市</label>-->
  65. <!-- <div class="col-8">-->
  66. <!-- <input id="socialCity" name="socialCity" class="form-control" type="text" value="北京" readonly>-->
  67. <!-- </div>-->
  68. <!-- <b class="text-danger">*</b>-->
  69. <!-- </div>-->
  70. <div class="form-group row">
  71. <label for="idCard" class="col-3 col-form-label">身份证号</label>
  72. <div class="col-8">
  73. <input type="text" class="form-control" id="idCard" name="idCard" value="" required
  74. pattern="(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)">
  75. <div class="invalid-feedback">
  76. 请输入有效的身份证号
  77. </div>
  78. </div>
  79. <b class="text-danger">*</b>
  80. </div>
  81. <div class="form-group row">
  82. <label for="mobile" class="col-3 col-form-label">手机号码</label>
  83. <div class="col-8">
  84. <input type="text" class="form-control" id="mobile" name="mobile" :value="data.mobile" required
  85. pattern="^1[3-9]\d{9}$">
  86. <div class="invalid-feedback">
  87. 请输入有效的手机号码
  88. </div>
  89. </div>
  90. <b class="text-danger">*</b>
  91. </div>
  92. <div class="form-group row">
  93. <label for="email" class="col-3 col-form-label">电子邮箱</label>
  94. <div class="col-8">
  95. <input type="text" class="form-control" id="email" name="email" value=""
  96. >
  97. <div class="invalid-feedback">
  98. 请输入有效的电子邮箱
  99. </div>
  100. </div>
  101. </div>
  102. <div class="form-group row">
  103. <label for="addr" class="col-3 col-form-label">联系地址</label>
  104. <div class="col-8">
  105. <input type="text" class="form-control" id="addr" name="addr" value="">
  106. </div>
  107. </div>
  108. <div class="text-right" style="color: #6b6b6b">
  109. <small class="small">输入您的个人信息,<b class="text-danger">*</b>号为必填内容</small>
  110. </div>
  111. <div class="btn-box form-group mt-3 row">
  112. <input type="hidden" name="is_edit" value="">
  113. <a href="https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzUxMzYyMjYzOA==&scene=126&bizpsid=0#wechat_redirect" > 联系客服</a>
  114. <button type="button" style="background: #0dbc5a;color: #ffffff;" class="btn btn-block p-3" v-on:click="saveInfo">下一步</button>
  115. </div>
  116. </form>
  117. </section>
  118. <!-- style="margin-bottom: 10rem;" -->
  119. <section class="social-detail" v-if="data.social_type != null">
  120. <form @submit.prevent action="" id="social-detail" class="needs-validation" novalidate>
  121. <input type="hidden" name="bill_type" value="calc">
  122. <input type="hidden" name="social_type" :value="data.social_type">
  123. <input type="hidden" name="code" :value="data.citycode">
  124. <div class="form-group row" style="padding-left: 1.5rem;padding-right: 1.5rem;">
  125. <label for="socialBasic" class="col-5 col-form-label">社保缴纳额度</label>
  126. <div class="col-7">
  127. <input type="number" class="form-control" id="socialBasic" name="socialBasic"
  128. v-on:change="calcBill"
  129. v-model="data.social_basic.pension[0]"
  130. min="3613"
  131. :max="data.social_basic.pension[1]" required>
  132. <!-- <input type="number"
  133. class="form-control"
  134. id="socialBasic"
  135. name="socialBasic"
  136. v-on:change="calcBill"
  137. v-model="social_basic.pension[0]"> -->
  138. <div class="invalid-feedback">
  139. <!-- 请输入介于{{data.social_basic.pension[0]}},{{data.social_basic.pension[1]}}之间的整数 -->
  140. 请输入介于3613,{{data.social_basic.pension[1]}}之间的整数
  141. </div>
  142. </div>
  143. </div>
  144. <div id="fund" class="form-group row" v-if="data.is_fund" style="padding-left: 1.5rem;padding-right: 1.5rem;">
  145. <label for="fundBasic" class="col-5 col-form-label">公积金缴纳额度</label>
  146. <div class="col-7">
  147. <input type="number" class="form-control fuwuinput" id="fundBasic" name="fundBasic"
  148. placeholder="请输入3613-23565之间的整数"
  149. v-on:change="calcBill"
  150. v-model="data.social_basic.fund[0]" :min="3613"
  151. :max="data.social_basic.fund[1]"
  152. required>
  153. <div class="invalid-feedback">
  154. <!-- 请输入介于{{data.social_basic.fund[0]}},{{data.social_basic.fund[1]}}之间的整数 -->
  155. 请输入介于3613,{{data.social_basic.pension[1]}}之间的整数
  156. </div>
  157. </div>
  158. </div>
  159. <div class="form-group row" style="padding-left: 1.5rem;padding-right: 1.5rem;">
  160. <label for="serviceCharge" class="col-5 col-form-label">服务费</label>
  161. <div class="col-4">
  162. <select id="serviceCharge" class="form-control" name="serviceType" v-on:change="calcBill">
  163. <option v-for="(value, key) in data.service_charge" :value="key" :selected="key === 'monthly'">
  164. {{value}}
  165. </option>
  166. </select>
  167. </div>
  168. <!-- <b class="text-danger col-3 text-right" v-if="data.is_discounts">5折优惠</b> -->
  169. <img src="../../assets/image/fiveDiscount@2x.png" alt="" class="col-3 text-right" v-if="data.is_discounts">
  170. </div>
  171. <div class="detail mt-2 d-flex justify-content-between align-items-center" style="padding-left: 1.5rem;padding-right: 1.5rem;">
  172. <label class="col-form-label">代缴月份</label>
  173. <span class="hubie-right">{{data.month}}月份</span>
  174. </div>
  175. <div class="detail d-flex justify-content-between align-items-center" style="padding-left: 1.5rem;padding-right: 1.5rem;">
  176. <label class="col-form-label">代缴城市</label>
  177. <span class="hubie-right">{{data.cityname}}</span>
  178. </div>
  179. <div class="detail" style="padding-left: 1.5rem;padding-right: 1.5rem;padding-bottom: 1.5rem;">
  180. <label class="col-form-label">社保户别</label>
  181. <span class="hubie-right">{{data.hubie}}</span>
  182. <!-- <ul class="list-group list-group-flush pl-4">
  183. <li class="list-group-item d-flex justify-content-between align-items-center"
  184. v-for="value in data.social_calc">
  185. {{value[1]}}
  186. <span class="badge badge-pill">&yen;{{value[0]}}</span>
  187. </li>
  188. </ul> -->
  189. </div>
  190. <!-- 缴费明细 -->
  191. <div class="backgroundColor"></div>
  192. <div>
  193. <div class="header" style="padding-left: 1.5rem;padding-right: 1.5rem;">
  194. <span>缴费明细</span>
  195. </div>
  196. <ul class="list-group list-group-flush pl-4">
  197. <li class="list-group-item d-flex justify-content-between align-items-center"
  198. v-for="(value,idx) in data.social_calc"
  199. :key="idx">
  200. {{value[1]}}
  201. <span class="badge badge-pill">&yen;{{value[0]}}</span>
  202. </li>
  203. </ul>
  204. </div>
  205. <div class="youhui" style="padding-left: 1.5rem;padding-right: 1.5rem;">
  206. <!-- <p class="pingtai">*平台优惠可以选择优惠方式进行支付</p>-->
  207. <!-- <p class="pingtai-2">平台优惠(二选一)</p>-->
  208. <div class="youhui-box">
  209. <p class="youhui-text">
  210. <span class="youhui-dec">优惠券</span>
  211. <select class="form-control youinput" name="discount" v-on:change="calcBill" >
  212. <option v-for="(item,key) in data.discountList" :value="item.id" :selected="item.id === 'item.id'">
  213. {{item.money}}
  214. </option>
  215. </select>
  216. </p>
  217. <!-- <p class="youhui-p">-->
  218. <!-- <span>余额可抵扣 -¥{{data.blance}}</span>-->
  219. <!-- <el-switch-->
  220. <!-- v-model="data.is_balance"-->
  221. <!-- :value="data.is_balance"-->
  222. <!-- name="is_balance"-->
  223. <!-- active-color="#2277e1"-->
  224. <!-- inactive-color="#c2c2c2"-->
  225. <!-- @change="changebalance()"-->
  226. <!-- style="position: absolute;right: 1rem;">-->
  227. <!-- </el-switch>-->
  228. <!-- </p>-->
  229. </div>
  230. </div>
  231. <div class="detail mt-2 pr-3 d-flex justify-content-between align-items-center" style="padding-left: 1.5rem;padding-right: 1.5rem;">
  232. <label class="col-form-label">社保小计</label>
  233. <span class="badge">&yen;{{data.subtotal_calc}}</span>
  234. </div>
  235. <div class="detail mt-2 pr-3 d-flex justify-content-between align-items-center"
  236. v-if="data.is_fund" style="padding-left: 1.5rem;padding-right: 1.5rem;">
  237. <label class="col-form-label">公积金</label>
  238. <span class="badge">&yen;{{data.fund_calc}}</span>
  239. </div>
  240. <div
  241. class="detail mt-2 pr-3 d-flex justify-content-between align-items-center"
  242. style="padding-left: 1.5rem;padding-right: 1.5rem;"
  243. v-for="(item, idx) in data.append_cost" :key="idx">
  244. <label class="col-form-label">{{item.name}}</label>
  245. <span class="badge">&yen;{{item.cost}}</span>
  246. </div>
  247. <div class="detail mt-2 pr-3 d-flex justify-content-between align-items-center" style="padding-left: 1.5rem;padding-right: 1.5rem;">
  248. <label class="col-form-label">服务费</label>
  249. <span class="badge">&yen;{{data.service_calc}}</span>
  250. </div>
  251. <div class="detail mt-2 pr-3 d-flex justify-content-between align-items-center" style="padding-left: 1.5rem;padding-right: 1.5rem;">
  252. <label class="col-form-label">优惠劵抵扣金额</label>
  253. <span class="badge"> - &yen;{{data.discount}}</span>
  254. </div>
  255. <div class="detail mt-2 pr-3 d-flex justify-content-between align-items-center" style="padding-left: 1.5rem;padding-right: 1.5rem;">
  256. <label class="col-form-label">手续费(支付通道服务费0.6%)</label>
  257. <span class="badge"> &yen;{{data.freedom}}</span>
  258. </div>
  259. <div class="detail mt-2 pr-3 d-flex justify-content-between align-items-center" style="padding-left: 1.5rem;padding-right: 1.5rem;padding-bottom: 1.5rem;">
  260. <label class="col-form-label">总计</label>
  261. <span class="badge" style="color: #d30000;font-weight:700;">&yen;{{data.total_calc}}</span>
  262. </div>
  263. <div class="text-right" style="color: #6b6b6b">
  264. </div>
  265. <div class="backgroundColorFooter">
  266. </div>
  267. <div class="bottom-twobtn">
  268. <button type="button" class="button-1" v-on:click="saveOrder">
  269. <img class="button-2-img" src="../../assets/image/payFoot@2x.png" alt="">
  270. 去缴费
  271. </button>
  272. <button type="button" class="button-2" @click="open"><img class="button-2-img" src="../../assets/image/serviceFoot@2x.png" alt=""> 联系客服</button>
  273. </div>
  274. </form>
  275. </section>
  276. </div>
  277. </template>
  278. <script lang="ts" src="./social.ts"></script>
  279. <style lang="scss" scoped>
  280. @import './social.scss';
  281. </style>