worker.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. <template>
  2. <view>
  3. <scroll-view scroll-x class="bg-white nav solid-bottom">
  4. <view class="flex text-center">
  5. <view class="cu-item flex-sub" :class="forminfo.wtype==1?'text-blue cur':''" @tap="tabSelect" data-wtype="1">个人雇主注册</view>
  6. <view class="cu-item flex-sub" :class="forminfo.wtype==2?'text-blue cur':''" @tap="tabSelect" data-wtype="2">企业雇主注册</view>
  7. </view>
  8. </scroll-view>
  9. <form>
  10. <!-- <view class="cu-form-group margin-top-xs">
  11. <view class="title"> <text class="text-red text-bold padding-right-xs">*</text> 微店图标</view>
  12. <view class="cu-avatar radius bg-gray">
  13. <avatar selWidth="640upx" selHeight="640upx" @upload="setTilpic" :avatarSrc="forminfo.tilpic" noTab="true" avatarStyle="width: 75upx; height: 75upx; border-radius: 5%;"></avatar>
  14. </view>
  15. </view> -->
  16. <view class="cu-form-group margin-top-sm">
  17. <view class="title"> <text class="text-red text-bold padding-right-xs">*</text> 姓名</view>
  18. <input placeholder="请输入..." data-field="realname" name="realname" :value="forminfo.realname" @input="setInput"></input>
  19. </view>
  20. <view class="cu-form-group">
  21. <view class="title"> <text class="text-red text-bold padding-right-xs">*</text> 手机号</view>
  22. <input placeholder="请输入..." data-field="mobile" name="mobile" :value="forminfo.mobile" @input="setInput"></input>
  23. </view>
  24. <!-- <view class="cu-form-group">
  25. <view class="title"> 微信号</view>
  26. <input placeholder="请输入..." data-field="weixin" name="weixin" :value="forminfo.weixin" @input="setInput"></input>
  27. </view> -->
  28. <!-- <view class="cu-form-group margin-top-sm">
  29. <view class="title"> <text class="text-red text-bold padding-right-xs">*</text> 公司名称</view>
  30. <input placeholder="请输入..." data-field="title" name="title" :value="forminfo.title" @input="setInput"></input>
  31. </view> -->
  32. <!-- <view class="cu-form-group">
  33. <view class="title"> <text class="text-red text-bold padding-right-xs">*</text> 微店名称</view>
  34. <input placeholder="请输入..." data-field="ftitle" name="ftitle" :value="forminfo.ftitle" @input="setInput"></input>
  35. </view> -->
  36. <view class="cu-form-group">
  37. <view class="title"> <text class="text-red text-bold padding-right-xs">*</text> 用工地点</view>
  38. <view style="text-align: right; flex: 1; font-size: 30rpx;">
  39. <pickerAddress @change="regionChange">{{forminfo.region}}</pickerAddress>
  40. </view>
  41. </view>
  42. <view class="cu-form-group">
  43. <view class="title"> <text class="text-red text-bold padding-right-xs">*</text> 详细地址</view>
  44. <input placeholder="请输入..." data-field="address" name="address" :value="forminfo.address" @input="setInput"></input>
  45. </view>
  46. <block v-if="forminfo.wtype==1">
  47. <view class="cu-form-group">
  48. <view class="grid col-2 grid-square flex-sub">
  49. <view class="bg-img solids" style="margin-bottom: 0rpx !important;" data-fieldimage="idcardzpic" @tap="chooseImage">
  50. <text v-if="forminfo.idcardzpic==''" class='cuIcon-cameraadd'></text>
  51. <image v-else :src="forminfo.idcardzpic" mode="aspectFill"></image>
  52. </view>
  53. <view class="bg-img solids" style="margin-bottom: 0rpx !important;" data-fieldimage="idcardfpic" @tap="chooseImage">
  54. <text v-if="forminfo.idcardfpic==''" class='cuIcon-cameraadd'></text>
  55. <image v-else :src="forminfo.idcardfpic" mode="aspectFill"></image>
  56. </view>
  57. </view>
  58. </view>
  59. <view class="cu-form-group" style="border-top: 0rpx; text-align: center;">
  60. <view class="grid col-2 flex-sub">
  61. <view>身份证正面</view>
  62. <view>身份证反面</view>
  63. </view>
  64. </view>
  65. <view class="cu-form-group align-start">
  66. <view class="title">备注介绍</view>
  67. <textarea maxlength="-1" placeholder="请输入..." data-field="details" name="details" :value="forminfo.details" @input="setInput"></textarea>
  68. </view>
  69. </block>
  70. <!-- <view class="cu-form-group align-start">
  71. <view class="title">公司介绍</view>
  72. <textarea maxlength="-1" placeholder="请输入..." data-field="details" name="details" :value="forminfo.details" @input="setInput"></textarea>
  73. </view> -->
  74. <block v-if="forminfo.wtype==2">
  75. <view class="cu-form-group margin-top-sm">
  76. <view class="title"> <text class="text-red text-bold padding-right-xs">*</text> 公司名称</view>
  77. <input placeholder="请输入..." data-field="title" name="title" :value="forminfo.title" @input="setInput"></input>
  78. </view>
  79. <view class="cu-form-group align-start">
  80. <view class="title">公司介绍</view>
  81. <textarea maxlength="-1" placeholder="请输入..." data-field="details" name="details" :value="forminfo.details" @input="setInput"></textarea>
  82. </view>
  83. <view class="cu-bar bg-white margin-top">
  84. <view class="action">
  85. <text class="text-red text-bold padding-right-xs">*</text>
  86. 相关资质
  87. </view>
  88. </view>
  89. <view class="cu-form-group">
  90. <view class="grid col-3 grid-square flex-sub">
  91. <view class="bg-img solids" style="margin-bottom: 0rpx !important;" data-fieldimage="picone" @tap="chooseImage">
  92. <text v-if="forminfo.picone==''" class='cuIcon-cameraadd'></text>
  93. <image v-else :src="forminfo.picone" mode="aspectFill"></image>
  94. </view>
  95. <!-- <view class="bg-img solids" style="margin-bottom: 0rpx !important;" data-fieldimage="pictwo" v-if="forminfo.wtype==2" @tap="chooseImage">
  96. <text v-if="forminfo.pictwo==''" class='cuIcon-cameraadd'></text>
  97. <image v-else :src="forminfo.pictwo" mode="aspectFill"></image>
  98. </view>
  99. <view class="bg-img solids" style="margin-bottom: 0rpx !important;" data-fieldimage="picthr" v-if="forminfo.wtype==2" @tap="chooseImage">
  100. <text v-if="forminfo.picthr==''" class='cuIcon-cameraadd'></text>
  101. <image v-else :src="forminfo.picthr" mode="aspectFill"></image>
  102. </view> -->
  103. </view>
  104. </view>
  105. <view class="cu-form-group" style="border-top: 0rpx; text-align: center;">
  106. <view class="grid col-3 flex-sub">
  107. <view>营业执照</view>
  108. <!-- <view v-if="forminfo.wtype==2">派遣许可证</view>
  109. <view v-if="forminfo.wtype==2">人力资源许可证</view> -->
  110. </view>
  111. </view>
  112. </block>
  113. <view class="padding flex flex-direction">
  114. <button class="cu-btn bg-green margin-tb-sm lg" @tap="regWorker">立即提交</button>
  115. </view>
  116. <view class="padding"></view>
  117. </form>
  118. </view>
  119. </template>
  120. <script>
  121. var _this;
  122. import avatar from "@/components/yq-avatar/yq-avatar.vue";
  123. import pickerAddress from "@/components/pickerAddress/pickerAddress.vue";
  124. export default {
  125. components: {
  126. avatar,
  127. pickerAddress
  128. },
  129. data() {
  130. return {
  131. isRotate: false,
  132. userinfo: {},
  133. forminfo: {
  134. wtype: 1,
  135. title: "",
  136. ftitle: "",
  137. tilpic: "",
  138. realname: "",
  139. mobile: "",
  140. weixin: "",
  141. province: "",
  142. city: "",
  143. district: "",
  144. region: "请选择...",
  145. address: "",
  146. picone: "",
  147. pictwo: "",
  148. picthr: "",
  149. details: "",
  150. idcardzpic: "",
  151. idcardfpic: "",
  152. }
  153. }
  154. },
  155. onLoad: function(option) {
  156. _this = this;
  157. _this.userinfo = _this.checkLogin("/pages/my/my");
  158. if (_this.userinfo === false) {
  159. return false;
  160. }
  161. _this.forminfo.wtype =option.wtype;
  162. _this.forminfo.realname = _this.userinfo.realname;
  163. _this.forminfo.mobile = _this.userinfo.mobile;
  164. },
  165. methods: {
  166. // 填写字段
  167. tabSelect: function(e) {
  168. _this.forminfo.wtype = e.currentTarget.dataset.wtype;
  169. },
  170. // 图片上传
  171. chooseImage: function(e) {
  172. var fieldimage = e.currentTarget.dataset.fieldimage;
  173. uni.chooseImage({
  174. count: 1,
  175. sizeType: ['original', 'compressed'],
  176. sourceType: ['album'],
  177. success: (res) => {
  178. _this.$req.ajaxFile({
  179. path: "attachment/tplfieldimage",
  180. title: '正在上传',
  181. filePath: res.tempFilePaths[0],
  182. fileName: 'file',
  183. }).then((filedata) => {
  184. var data = JSON.parse(filedata.data);
  185. _this.forminfo[fieldimage] = data.data.src;
  186. }).catch((err) => {
  187. uni.showModal({
  188. title: '信息提示',
  189. content: err,
  190. showCancel: false
  191. });
  192. });
  193. }
  194. });
  195. },
  196. setTilpic: function(rsp) {
  197. _this.$req.ajaxFile({
  198. path: "attachment/tplfieldimage",
  199. title: '正在上传',
  200. filePath: rsp.path,
  201. fileName: 'file',
  202. }).then((filedata) => {
  203. var data = JSON.parse(filedata.data);
  204. _this.forminfo.tilpic = data.data.src;
  205. }).catch((err) => {
  206. uni.showModal({
  207. title: '信息提示',
  208. content: err,
  209. showCancel: false
  210. });
  211. });
  212. },
  213. setInput: function(e) {
  214. var field = e.currentTarget.dataset.field;
  215. _this.forminfo[field] = e.detail.value;
  216. },
  217. regionChange: function(data) {
  218. _this.forminfo.province = data.data[0];
  219. _this.forminfo.city = data.data[1];
  220. _this.forminfo.district = data.data[2];
  221. _this.forminfo.region = data.data.join(' ');
  222. },
  223. // 提交注册
  224. regWorker: function() {
  225. _this.userinfo = _this.checkLogin("/pages/my/my");
  226. if (_this.userinfo === false) {
  227. return false;
  228. }
  229. if (_this.isRotate) {
  230. return false;
  231. }
  232. _this.isRotate = true;
  233. _this.$req.ajax({
  234. path: "wlogin/regworker",
  235. title: "正在提交注册",
  236. data: {
  237. userid: _this.userinfo.id,
  238. wtype: _this.forminfo.wtype,
  239. title: _this.forminfo.title,
  240. ftitle: _this.forminfo.ftitle,
  241. tilpic: _this.forminfo.tilpic,
  242. realname: _this.forminfo.realname,
  243. mobile: _this.forminfo.mobile,
  244. weixin: _this.forminfo.weixin,
  245. province: _this.forminfo.province,
  246. city: _this.forminfo.city,
  247. district: _this.forminfo.district,
  248. address: _this.forminfo.address,
  249. picone: _this.forminfo.picone,
  250. pictwo: _this.forminfo.pictwo,
  251. picthr: _this.forminfo.picthr,
  252. idcardzpic: _this.forminfo.idcardzpic,
  253. idcardfpic: _this.forminfo.idcardfpic,
  254. details: _this.forminfo.details
  255. }
  256. }).then((data) => {
  257. uni.showModal({
  258. title: '信息提示',
  259. content: '您的公司已注册成功,请耐心等待管理员的审核!',
  260. showCancel: false,
  261. success: function(res) {
  262. if (res.confirm) {
  263. uni.reLaunch({
  264. url: "/pages/index/home"
  265. });
  266. }
  267. }
  268. });
  269. // uni.setStorageSync('identityinfo', false);
  270. // uni.setStorageSync('workerinfo', data.worker);
  271. // uni.switchTab({
  272. // url: "/pages/index/home"
  273. // });
  274. _this.isRotate = false;
  275. }).catch((err) => {
  276. uni.showModal({
  277. title: '信息提示',
  278. content: err,
  279. showCancel: false
  280. });
  281. _this.isRotate = false;
  282. });
  283. }
  284. }
  285. }
  286. </script>
  287. <style>
  288. .cu-form-group .title {
  289. min-width: calc(5em + 15px);
  290. }
  291. .cu-form-group input {
  292. text-align: right;
  293. }
  294. .fieldpic {
  295. width: 150rpx;
  296. height: 150rpx;
  297. }
  298. .fieldpictil {
  299. width: 230rpx;
  300. text-align: center;
  301. }
  302. </style>