浏览代码

Merge branch 'pre' of http://git.bjzxtw.org.cn:3000/zxt/admin_home into pre

dangyunlong 5 天之前
父节点
当前提交
20f0d872d6
共有 5 个文件被更改,包括 279 次插入22 次删除
  1. 49 0
      src/api/size.js
  2. 64 0
      src/store/modules/size.js
  3. 117 15
      src/views/componentGallery/size.vue
  4. 31 7
      src/views/job/creatJob.vue
  5. 18 0
      src/views/news/addJobHunting.vue

+ 49 - 0
src/api/size.js

@@ -0,0 +1,49 @@
+// 组件
+import request from '@/utils/request'
+
+//获取尺寸列表
+export const getSizeList = (params) => {
+    return request({
+        url: '/website/getSizeList',
+        method: 'get',
+        params,
+        
+    })
+    console.log("-----------------------",params) // 打印响应数据,以便检查是否正确获取到了用户信息
+}
+
+//新增尺寸
+export const addSize = (data) => {
+    return request({
+        url: '/website/addSize',
+        method: 'post',
+        data
+    })
+}
+
+//编辑尺寸
+export const upSize = (data) => {
+    return request({
+        url: '/website/upSize',
+        method: 'post',
+        data
+    })
+}
+
+//删除尺寸
+export const delSize = (data) => {
+    return request({
+        url: '/website/delSize',
+        method: 'post',
+        data
+    })
+}
+
+//获取尺寸详情
+export const getSizeInfo = (params) => {
+    return request({
+        url: '/website/getSizeInfo',
+        method: 'get',
+        params
+    })
+}

+ 64 - 0
src/store/modules/size.js

@@ -0,0 +1,64 @@
+import { getSizeList,addSize,upSize,delSize,getSizeInfo} from '@/api/size'
+
+const state = {
+
+}
+
+const mutations = {
+
+}
+
+const actions = {
+    getSizeList({commit},data) {
+        return new Promise((resolve, reject) => {
+            getSizeList(data).then(response => {
+            resolve(response)
+            console.log("-----------------------",response) // 打印响应数据,以便检查是否正确获取到了用户信息
+          }).catch(error => {
+            reject(error)
+          })
+        })
+      },
+      addSize({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            addSize(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    upSize({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            upSize(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    delSize({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            delSize(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+    getSizeInfo({ commit }, data) {
+        return new Promise((resolve, reject) => {
+            getSizeInfo(data).then(response => {
+                resolve(response)
+            }).catch(error => {
+                reject(error)
+            })
+        })
+    },
+}
+export default {
+    namespaced: true,
+    state,
+    mutations,
+    actions
+}

+ 117 - 15
src/views/componentGallery/size.vue

@@ -8,7 +8,7 @@
                         <el-input v-model="sizeHeight" clearable placeholder="请输入尺寸高度"></el-input>
                     </div>
                 </el-col>
-                <el-col :span="6" class="left">
+                <el-col :span="6" class="left"> 
                     <div class="searchBox">
                         <div class="searchTitle">尺寸宽度</div>
                         <el-input v-model="sizeWidth" clearable placeholder="请输入尺寸宽度"></el-input>
@@ -41,7 +41,7 @@
                                         <i class="el-icon-delete"></i>
                                         删除
                                     </div>
-                                    <div class="listEditBtn" @click="goEdit(scope.row.id)">
+                                    <div class="listEditBtn" @click="goEdit(scope.row.id, scope.row)">
                                         <i class="el-icon-edit-outline"></i>
                                         编辑
                                     </div>
@@ -119,10 +119,7 @@ export default {
             //1.查询条件 end ---------------------------------------->
 
             //2.列表数据 start ---------------------------------------->
-            tableData: [
-                {"id":1,"height":"1200","width":"300","created_at":"2025-05-23 10:00:00","updated_at":"2025-05-23 10:00:00"},
-                {"id":1,"height":"1200","width":"450","created_at":"2025-05-23 10:00:00","updated_at":"2025-05-23 10:00:00"},
-            ],
+            tableData: [],
             page: 1,
             pageSize: 10,
             total: 0,
@@ -147,19 +144,45 @@ export default {
         //1.列表和分页相关 start ------------------------------------------------------------>
         //1.1 请求数据
         getData() {
-            
+            this.$store.dispatch('size/getSizeList',{page: this.page,pageSize: this.pageSize}).then(res=> {
+                this.tableData =  res.data.row; //给与内容
+                this.total = res.data.count; //给与总条数
+              }).catch(() => {
+                this.$message({
+                  type: 'error',
+                  message: '网络错误,请重试!'
+                });
+              })
         },
         //1.2 删除
         deleteRow(id) {
             console.log(id);
             let data = new FormData()
             data.append('id', id)
-            this.$confirm('注意:删除后通栏与组件中无法再选择该尺寸!', '是否确认删除该尺寸?', {
+            this.$confirm('注意:删除后,该条信息及其绑定关系全部删除', '是否确认删除该条信息?', {
                 confirmButtonText: '确定',
                 cancelButtonText: '取消',
             }).then(() => {
                 console.log("当前删除:" + id)
-                
+                const data = {
+                    id: id, //id
+                }
+                this.$store.dispatch('size/delSize',data).then(res=> {
+                    console.log(res);
+                }).then(() => {
+                    this.$message({
+                        message: '删除成功',
+                        type:'success'
+                    })
+                    this.getData()
+                }).catch(() => {
+                    this.$message({
+                        type: 'error',
+                        message: '删除失败'
+                    });
+
+                })
+
             }).catch(() => {
                 this.$message({
                     type: 'warning',
@@ -180,12 +203,26 @@ export default {
         },
         // 1.5 搜索
         goSearch() {
-           
+            const data = {
+                width: this.sizeWidth, //宽度
+                height: this.sizeHeight, //高度
+                page: 1, //页码
+                pageSize: 10, //每页条数
+            }
+            this.$store.dispatch('size/getSizeList',data).then(res=> {
+            this.tableData =  res.data.row; //给与内容
+            this.total = res.data.count; //给与总条数
+            }).catch(() => {
+            this.$message({
+                type: 'info',
+                message: '网络错误,请重试!'
+            });
+            })
         },
         //1.6 重置
         goReset() {
-            this.templateStyle = ""
-            this.templateName = ""
+            this.sizeHeight = ""
+            this.sizeWidth = ""
             this.page=1
             this.pageSize=10
             this.getData()
@@ -193,18 +230,83 @@ export default {
         //列表和分页相关 end ------------------------------------------------------------>
 
         //1.7 编辑
-        goEdit(id) {
+        goEdit(id,val) {
+            this.dialogName = '编辑尺寸'
+            this.activeid = id
             this.dialogTableVisible = true
+            this.getData()
+
+            //数据回显
+            this.ruleForm.sizeHeight = val.height //高度
+            this.ruleForm.sizeWidth = val.width //宽度
         },
         //1.8 添加
         addSize() {
             this.dialogTableVisible = true
+            this.dialogName = "添加尺寸"
+            //添加时清空回显回来的数据
+
+            this.ruleForm.sizeHeight = '' //高度
+            this.ruleForm.sizeWidth = '' //宽度
         },
 
         // 弹出层相关方法 ---------------------------------------------------->
         // 1.9 提交表单
         submitForm() {
-            this.dialogTableVisible = false
+            if (this.dialogName === "添加尺寸") {
+                const data = {
+                    height: this.ruleForm.sizeHeight,
+                    width: this.ruleForm.sizeWidth,
+                };
+                // 直接传递 data 作为参数,而不是 {data}
+                this.$store.dispatch('size/addSize', data).then(res => {
+                    if (res.code === 200) {
+                        this.$message({
+                            message: '添加成功',
+                            type:'success'
+                        });
+                        this.dialogTableVisible = false;
+                        this.getData();
+                    } else if (res.code === 0) {
+                        this.$message({
+                            message: res.message,
+                            type: 'error'
+                        });
+                    }
+                }).catch(error => {
+                    this.$message({
+                        message: '添加过程中出现错误,请重试',
+                        type: 'error'
+                    });
+                });
+            }
+            if (this.dialogName == "编辑尺寸") {
+                const data = {
+                    id: this.activeid,
+                    height: this.ruleForm.sizeHeight,
+                    width: this.ruleForm.sizeWidth,
+                };
+                this.$store.dispatch('size/upSize', data).then(res => {
+                    if (res.code === 200) {
+                        this.$message({
+                            message: '编辑成功',
+                            type:'success'
+                        });
+                        this.dialogTableVisible = false;
+                        this.getData();
+                    } else if (res.code === 0) {
+                        this.$message({
+                            message: res.message,
+                            type: 'error'
+                        });
+                    }
+                }).catch(error => {
+                    this.$message({
+                        message: '编辑过程中出现错误,请重试',
+                        type: 'error'
+                    });
+                });
+            }
         },
         // 1.10 取消提交
         cancelForm(){
@@ -213,7 +315,7 @@ export default {
         // 弹出层相关方法 end ---------------------------------------------------->
     },
     mounted() {
-      
+        this.getData()
     },
 }
 </script>

+ 31 - 7
src/views/job/creatJob.vue

@@ -15,6 +15,14 @@
             <el-cascader :key="parentKey_2" v-model="form.cat_arr_id" placeholder="请选择栏目名称" :props="parentData_2"
               popper-class="my_cascader" filterable clearable></el-cascader>
           </el-form-item>
+          <div v-if="creatNews_user_type == 10000">
+            <el-form-item label="推荐等级:" prop="" class="custom-align-right">
+              <el-select v-model="form.job_level" clearable placeholder="请选择推荐等级">
+                <el-option v-for="item in gradeArr" :key="item.value" :label="item.label" :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </div>
           <el-form-item label="招聘职位名称:" prop="title" class="custom-align-right">
             <el-input v-model="form.title" autocomplete="off" placeholder="请输入招聘职位名称"></el-input>
           </el-form-item>
@@ -94,9 +102,15 @@
                 </el-option>
               </el-select>
             </el-form-item>
+            <!-- <el-form-item label="职位描述:" prop="description" class="custom-align-right">
+              <myEditor ref="myEditor" v-model="form.description"></myEditor>
+            </el-form-item> -->
             <el-form-item label="职位描述:" prop="description" class="custom-align-right" style="display:block;">
               <el-input v-model="form.description" type="textarea" :rows="2" placeholder="介绍公司对该职位的职位描述..."> </el-input>
             </el-form-item>
+            <!-- <el-form-item label="具体要求:" prop="jt_description" class="custom-align-right">
+              <myEditor1 ref="myEditor1" v-model="form.jt_description"></myEditor1>
+            </el-form-item> -->
             <el-form-item label="具体要求:" prop="jt_description" class="custom-align-right" style="display:block;">
               <el-input v-model="form.jt_description" type="textarea" :rows="2" placeholder="介绍公司对该职位的具体要求...">
               </el-input>
@@ -176,15 +190,19 @@
 import { getWebSiteId, getUseType } from '@/utils/auth'
 //表格标题
 import tableTitle from './components/tableTitle';
+//引入富文本编辑器
+import myEditor from '@/components/edit/myEditor.vue';
 //引入公用样式
 import '@/styles/global.less';
 import { create } from 'sortablejs';
 import CityCascader from './components/CityCascader';
 import { formatLocalDate } from '@/utils/public';
+import job from '@/store/modules/job';
 export default {
   components: {
     tableTitle,
-    CityCascader
+    CityCascader,
+    myEditor,
   },
   data() {
 
@@ -258,6 +276,7 @@ export default {
         city_arr_id: [],//城市
         // websiteName: "",//站点名称
         cat_arr_id: [],//栏目名称
+        job_level: "",//推荐等级
         title: "",//招聘职位名称
         province_id: "",//省份
         job_pronviceid: "",//省份id
@@ -341,7 +360,10 @@ export default {
         // 邮箱
         email: [{ required: true, trigger: 'blur', validator: validateEmpty }],
       },
-
+      gradeArr: [{
+        value: 1,
+        label: '推荐位'
+      }],
 
       //获取父级导航池
       parentKey: 0,//获取父级导航
@@ -643,7 +665,6 @@ export default {
     //跳转操作 end ------------------------------------------------------------>
 
     //3.回显操作 ------------------------------------------------------------>
-    //   //3.1回显数据
     //3.1回显数据
     getMainData() {
       if (this.creatNews_user_type === '10000' || this.$route.query.id != undefined) {
@@ -671,7 +692,7 @@ export default {
             this.form.province_id = this.form.city_arr_id[0] ?? '';
             if (this.form.city_arr_id.length > 1) {
               this.province_change(this.form.city_arr_id[0]);
-              this.form.city_id = this.form.city_arr_id[1] ?? '';
+              this.form.city_id = this.form.city_arr_id[1] == 0 ? '' : this.form.city_arr_id[1];
             } else {
               let data = {
                 'pid': this.form.city_arr_id[0]
@@ -696,8 +717,11 @@ export default {
           this.form.level = res.data.level;                //掌握程度
           this.form.description = res.data.description;    //职位描述
           this.form.jt_description = res.data.jt_description;//具体要求
-
-
+          if (res.data.job_level != null) {
+            this.form.job_level = Number(res.data.job_level);  //推荐等级 
+          } else if (res.data.job_level == 0 || res.data.job_level == null) {
+            this.form.job_level = '';  //推荐等级
+          }
           this.form.business_name = res.data.business_name;
           this.form.company_hy_id = res.data.company_hy_id;
           this.form.company_size = res.data.company_size;
@@ -780,7 +804,7 @@ export default {
           delete this.form.city_id;
           delete this.form.createjob_pronvice;
           delete this.form.web_site_id;
-          
+
           this.$store.dispatch('news/upJobRecruiting', this.form).then(res => {
             if (res.code != 200) {
               this.$message.error("修改失败,请稍后再试!");

+ 18 - 0
src/views/news/addJobHunting.vue

@@ -33,6 +33,14 @@
                 filterable clearable></el-cascader>
             </el-form-item>
           </div>
+          <div v-if="creatNews_user_type == 10000">
+            <el-form-item label="推荐等级:" prop="" class="custom-align-right">
+              <el-select v-model="form.job_level" clearable placeholder="请选择推荐等级">
+                <el-option v-for="item in gradeArr" :key="item.value" :label="item.label" :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </div>
           <el-form-item label="头像:" class="custom-align-right" prop="imgUrl">
             <div class="uploaderBox">
               <el-upload class="avatar-uploader" action="#" :show-file-list="false" :before-upload="beforeAvatarUpload">
@@ -444,6 +452,7 @@ export default {
       creatNews_user_type: 0,//判断用户类型'
 
       form: {
+        job_level: '',//推荐等级
         status: '',//状态
         experience: '',//工作经验
         industry: '',//行业
@@ -516,6 +525,10 @@ export default {
         cat_arr_id: [{ required: true, trigger: 'change', validator: validateArray }],
         job_typename: [{ required: true, trigger: 'change', validator: validateArray }],
       },
+      gradeArr: [{
+        value: 1,
+        label: '推荐位'
+      }],
       //1.3富文本编辑器配置
 
       //1.4图片上传
@@ -905,6 +918,11 @@ export default {
         this.form.salary = res.data.salary;
         this.form.self_evaluation = res.data.self_evaluation;
         this.form.job = parseInt(res.data.job);
+        if (res.data.job_level != null) {
+          this.form.job_level = Number(res.data.job_level);  //推荐等级 
+        } else if (res.data.job_level == 0 || res.data.job_level == null) {
+          this.form.job_level = '';  //推荐等级
+        }
         if (this.form.job) {
           this.$store.dispatch('news/getPositionList', { zwpid: this.form.job }).then(res => {
             this.job_name_arr = res.data;