update.blade.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. @extends('module.layouts.content')
  2. @push('meta')
  3. @endpush
  4. @push('css')
  5. <link href="{{ theme_asset('app/css/common.css') }}" rel="stylesheet">
  6. <link rel="stylesheet" href="{{ theme_asset('app/css/element.css') }}">
  7. <style>
  8. .body{
  9. background:#e3f1f2;
  10. }
  11. .container{
  12. width:1182px;
  13. margin:0 auto;
  14. }
  15. .container .banner{
  16. text-align: center;
  17. }
  18. .form h2{
  19. text-align: center;
  20. font:normal 24px/40px "microsoft yahei";
  21. padding: 20px 0;
  22. }
  23. .form .ruleForm{
  24. width: 600px;
  25. margin: 0 auto;
  26. }
  27. </style>
  28. @endpush
  29. @push('js')
  30. @endpush
  31. @section('content')
  32. <div class="body" id="app">
  33. <div class="banner">
  34. <img src="{{theme_asset('app/images/share/banner.jpg')}}?t=20210329" />
  35. </div>
  36. <div class="container">
  37. <div class="form" v-loading="loading">
  38. <h2>需求登记</h2>
  39. <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="150px" class="ruleForm">
  40. <el-form-item label="分类" prop="role">
  41. <el-radio-group v-model="ruleForm.role">
  42. <el-radio label="1">供应</el-radio>
  43. <el-radio label="2">需求</el-radio>
  44. </el-radio-group>
  45. </el-form-item>
  46. <el-form-item label="行业" prop="trade">
  47. <el-select v-model="ruleForm.trade" placeholder="行业" @change="changeTrade">
  48. <el-option label="全部" value="0"></el-option>
  49. <el-option
  50. v-for="item in trade_list"
  51. :key="item.value"
  52. :label="item.label"
  53. :value="item.value">
  54. </el-option>
  55. </el-select>
  56. </el-form-item>
  57. <el-form-item label="工种" prop="pro" >
  58. <el-select v-model="ruleForm.pro" :disabled="job_select_status" :placeholder="job_placeholder">
  59. <el-option label="全部" value="0"></el-option>
  60. <el-option
  61. v-for="item in job_list"
  62. :key="item.value"
  63. :label="item.label"
  64. :value="item.value">
  65. </el-option>
  66. </el-select>
  67. </el-form-item>
  68. <el-form-item label="所属地区" prop="area">
  69. <el-input v-model="ruleForm.area"></el-input>
  70. </el-form-item>
  71. <el-form-item label="来晋时间">
  72. <el-input v-model="ruleForm.time" placeholder="若已在晋江则可不填写"></el-input>
  73. </el-form-item>
  74. <el-form-item label="共享方式" prop="type">
  75. <el-select v-model="ruleForm.type" multiple placeholder="请选择活动区域">
  76. <el-option label="小时工" value="1"></el-option>
  77. <el-option label="劳务派遣" value="2"></el-option>
  78. <el-option label="委托招聘" value="3"></el-option>
  79. <el-option label="服务外包" value="4"></el-option>
  80. <el-option label="其它" value="5"></el-option>
  81. </el-select>
  82. </el-form-item>
  83. <el-form-item label="可提供/总需求人数" prop="number">
  84. <el-input v-model="ruleForm.number" placeholder=""></el-input>
  85. </el-form-item>
  86. <el-form-item label="员工薪酬" prop="salary">
  87. <el-input v-model="ruleForm.salary"></el-input>
  88. </el-form-item>
  89. <el-form-item label="其他备注" prop="remark">
  90. <el-input type="textarea" v-model="ruleForm.remark" rows="5"></el-input>
  91. </el-form-item>
  92. <el-form-item label="是否显示">
  93. <el-switch v-model="ruleForm.status"></el-switch>
  94. </el-form-item>
  95. <el-form-item>
  96. <el-button type="primary" @click="submit('ruleForm')">提交</el-button>
  97. <el-button @click="back">返回</el-button>
  98. </el-form-item>
  99. </el-form>
  100. </div>
  101. <div class="bottom">
  102. <img src="{{theme_asset('app/images/share/bottom.jpg')}}" />
  103. </div>
  104. </div>
  105. </div>
  106. @endsection
  107. @section('script')
  108. <script src="{{theme_asset('app/js/vue.min.js')}}"></script>
  109. <script src="{{theme_asset('app/js/axios.js')}}"></script>
  110. <script src="{{theme_asset('app/js/element.js')}}"></script>
  111. <script>
  112. new Vue({
  113. el: '#app',
  114. data() {
  115. return {
  116. ruleForm: {
  117. area: '',
  118. number: '',
  119. status: true,
  120. type: [],
  121. salary: '',
  122. desc: '',
  123. trade:'',
  124. pro:'',
  125. time:'',
  126. remark:'',
  127. role: 0,
  128. id:0
  129. },
  130. rules: {
  131. trade: [
  132. { required: true, message: '请选择行业', trigger: 'change' }
  133. ],
  134. pro: [
  135. { required: true, message: '请选择工种', trigger: 'change' }
  136. ],
  137. area: [
  138. { required: true, message: '请输入活动名称', trigger: 'blur' }
  139. ],
  140. number: [
  141. { required: true, message: '请填写人数', trigger: 'blur' }
  142. ],
  143. type: [
  144. { type: 'array', required: true, message: '请至少选择一个共享方式', trigger: 'change' }
  145. ],
  146. salary: [
  147. { required: true, message: '请输入员工薪酬', trigger: 'blur' }
  148. ],
  149. desc: [
  150. { required: true, message: '请填写描述', trigger: 'blur' }
  151. ],
  152. role: [
  153. { required: true, message: '请选择分类', trigger: 'change' }
  154. ]
  155. },
  156. trade_list:'',
  157. job:'',
  158. job_list: '',
  159. job_select_status:true,
  160. job_placeholder: '请先选择行业',
  161. loading:true,
  162. };
  163. },
  164. methods:{
  165. changeTrade(e){
  166. if(e == 0){
  167. this.job_list = [];
  168. this.job_select_status = true;
  169. this.job = '';
  170. this.job_placeholder = "请选择具体行业";
  171. this.ruleForm.pro = '';
  172. }else{
  173. this.job_list = this.trade_list[e-1].sub;
  174. this.job_select_status = false;
  175. this.job = '';
  176. this.job_placeholder = "请选择";
  177. }
  178. },
  179. submit(formName) {
  180. this.$refs[formName].validate((valid) => {
  181. if (valid) {
  182. this.loading = this.$loading({
  183. lock: false,
  184. text: '加载中',
  185. spinner: 'el-icon-loading',
  186. background: 'rgba(0, 0, 0, 0.7)'
  187. });
  188. axios.post('save',this.ruleForm).then(response => {
  189. if(!response.data.status){
  190. this.$message.error(response.data.msg);
  191. return false;
  192. }else{
  193. this.$alert(response.data.msg, '提交成功', {
  194. confirmButtonText: '确定',
  195. callback: action => {
  196. window.location.href = "{{ route('share.my') }}"
  197. }
  198. });
  199. }
  200. this.loading.close();
  201. });
  202. } else {
  203. console.log('error submit!!');
  204. return false;
  205. }
  206. });
  207. },
  208. back(){
  209. window.location.href = "{{ route('share.my') }}"
  210. }
  211. },
  212. created(){
  213. axios.post("/share/getSelectData").then(response => {
  214. var trade_list = new Array();
  215. response.data.forEach(function(item){
  216. var trade_item = new Object();
  217. trade_item.value = item.value;
  218. trade_item.label = item.label;
  219. trade_item.sub = item.sub;
  220. trade_list.push(trade_item)
  221. });
  222. this.trade_list = trade_list;
  223. var id = '{{ $id }}'
  224. if(id > 0){
  225. axios.post("{{ route('share.getmyinfo') }}",{id:id}).then(response => {
  226. if(response.data.status == 1){
  227. if(response.data.data != null){
  228. response.data.data.status = (response.data.data.status == 1);
  229. this.changeTrade(response.data.data.trade);
  230. this.ruleForm = response.data.data;
  231. }
  232. }else{
  233. this.$alert(response.data.msg, '温馨提示', {
  234. confirmButtonText: '确定',
  235. callback: action => {
  236. window.location.href = "/";
  237. }
  238. });
  239. }
  240. this.loading = false;
  241. });
  242. }else{
  243. this.loading = false;
  244. }
  245. });
  246. }
  247. })
  248. </script>
  249. @endsection