request 请求修改

This commit is contained in:
曹前明 2022-06-17 10:46:01 +08:00
parent 5586dea490
commit f7a785e40f
5 changed files with 159 additions and 184 deletions

View File

@ -3,14 +3,14 @@ import http from "@/utils/request"
export default { export default {
upload: { upload: {
url: `${config.API_URL}/upload`, url: `${config.API_URL}/file/`,
name: "文件上传", name: "文件上传",
post: async function(data, config={}){ post: async function(data, config={}){
return await http.post(this.url, data, config); return await http.post(this.url, data, config);
} }
}, },
uploadFile: { uploadFile: {
url: `${config.API_URL}/uploadFile`, url: `${config.API_URL}/file/`,
name: "附件上传", name: "附件上传",
post: async function(data, config={}){ post: async function(data, config={}){
return await http.post(this.url, data, config); return await http.post(this.url, data, config);

View File

@ -3,12 +3,15 @@ import http from "@/utils/request"
export default { export default {
employee: { employee: {
list: { list: async function(data){
url: `${config.API_URL}/hrm/employee/`, return await http.get(
name: "获取企业员工", `${config.API_URL}/hrm/employee/`,
get: async function(data){ data);
return await http.get(this.url, data); },
} update: async function(id, data){
return await http.put(
`${config.API_URL}/hrm/employee/${id}/`,
data);
} }
}, },
} }

View File

@ -279,7 +279,7 @@ export default {
Object.assign(reqData, this.tableParams); Object.assign(reqData, this.tableParams);
try { try {
var res = await this.apiObj.get(reqData); var res = await this.apiObj(reqData);
if (this.hidePagination) { if (this.hidePagination) {
this.tableData = res; this.tableData = res;
if (res.length == 0) { if (res.length == 0) {

View File

@ -14,7 +14,7 @@
</div> </div>
</el-header> </el-header>
<el-main class="nopadding"> <el-main class="nopadding">
<scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange" stripe :resetQuery="resetQuery" > <scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange" stripe @resetQuery="resetQuery" >
<el-table-column type="selection" width="50"></el-table-column> <el-table-column type="selection" width="50"></el-table-column>
<el-table-column label="#" type="index" width="50"></el-table-column> <el-table-column label="#" type="index" width="50"></el-table-column>
<el-table-column label="姓名" prop="name" width="150"></el-table-column> <el-table-column label="姓名" prop="name" width="150"></el-table-column>

View File

@ -1,140 +1,111 @@
<template> <template>
<el-drawer :title="titleMap[mode]" v-model="visible" :size="1000" destroy-on-close @closed="$emit('closed')"> <el-drawer
:title="titleMap[mode]"
v-model="visible"
:size="1000"
destroy-on-close
@closed="$emit('closed')"
>
<el-container v-loading="loading"> <el-container v-loading="loading">
<el-main style="padding: 0 20px 20px 20px"> <el-main style="padding: 0 20px 20px 20px">
<el-form
<el-form ref="dialogForm" :model="form" :rules="rules" label-width="100px" label-position="top"> ref="dialogForm"
<sc-title title="基础"></sc-title> :model="form"
<el-row :gutter="20"> :rules="rules"
<el-col :span="16"> label-width="80px"
<el-form-item label="表格名称" prop="name"> >
<el-input v-model="form.name" placeholder="请输入中文描述标题"></el-input> <sc-title title="详细信息"></sc-title>
<el-row>
<el-col :md="8" :sm="12" :xs="24">
<el-form-item label="姓名">
<el-input v-model="form.name" type="text" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :md="8" :sm="12" :xs="24">
<el-form-item label="标识" prop="code"> <el-form-item label="工号">
<el-input v-model="form.code" placeholder="请输入唯一标识"></el-input> <el-input v-model="form.number" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="8" :sm="12" :xs="24">
<el-form-item label="手机号">
<el-input v-model="form.phone" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="8" :sm="12" :xs="24">
<el-form-item label="邮箱号">
<el-input v-model="form.email" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="8" :sm="12" :xs="24">
<el-form-item label="身份证号">
<el-input v-model="form.id_number" type="text" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="8" :sm="12" :xs="24">
<el-form-item label="学历">
<el-input v-model="form.qualification" type="text" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item>
<el-checkbox v-model="form.remoteSort" label="远程排序"></el-checkbox>
<el-checkbox v-model="form.remoteFilter" label="远程过滤"></el-checkbox>
</el-form-item>
<sc-title title="表格列"></sc-title>
<el-form-item prop="column">
<sc-form-table v-model="form.column" :addTemplate="addTemplate" drag-sort placeholder="暂无数据">
<el-table-column prop="label" label="名称">
<template #default="scope">
<el-input v-model="scope.row.label" placeholder="请输入名称"></el-input>
</template>
</el-table-column>
<el-table-column prop="prop" label="字段" width="150">
<template #default="scope">
<el-input v-model="scope.row.prop" placeholder="请输入字段"></el-input>
</template>
</el-table-column>
<el-table-column prop="width" label="宽度" width="100">
<template #default="scope">
<el-input v-model="scope.row.width" placeholder="请输入宽度"></el-input>
</template>
</el-table-column>
<el-table-column prop="hide" label="隐藏" width="80" align="center">
<template #default="scope">
<el-checkbox v-model="scope.row.hide"></el-checkbox>
</template>
</el-table-column>
<el-table-column prop="sortable" label="排序" width="80" align="center">
<template #default="scope">
<el-checkbox v-model="scope.row.sortable"></el-checkbox>
</template>
</el-table-column>
<el-table-column prop="filters" label="过滤项" width="90" align="center">
<template #default="scope">
<el-button text size="small" :type="scope.row.filters.length==0?'':'primary'" @click="setFilters(scope.row.filters)">过滤项</el-button>
</template>
</el-table-column>
<el-table-column prop="fixed" label="固定" width="80" align="center">
<template #default="scope">
<el-checkbox v-model="scope.row.fixed"></el-checkbox>
</template>
</el-table-column>
</sc-form-table>
</el-form-item>
</el-form> </el-form>
<el-row>
<el-col :md="8" :sm="12" :xs="24">
<el-form-item label="证件照" label-width="80px">
<sc-upload v-model="form.photo" title="头像"></sc-upload>
</el-form-item>
</el-col>
</el-row>
</el-main> </el-main>
<el-footer> <el-footer>
<el-button type="primary" :loading="isSaveing" @click="submit">保存</el-button> <el-button type="primary" :loading="isSaveing" @click="submit"
>保存</el-button
>
<el-button @click="visible = false">取消</el-button> <el-button @click="visible = false">取消</el-button>
</el-footer> </el-footer>
</el-container> </el-container>
<el-drawer title="过滤项配置" v-model="setFiltersVisible" :size="500" destroy-on-close>
<el-main style="padding:0 20px 20px 20px">
<sc-form-table v-model="selectionFilters" :addTemplate="filtersAddTemplate" drag-sort placeholder="暂无数据">
<el-table-column prop="text" label="名称">
<template #default="scope">
<el-input v-model="scope.row.text" placeholder="请输入名称"></el-input>
</template>
</el-table-column>
<el-table-column prop="value" label="值" width="150">
<template #default="scope">
<el-input v-model="scope.row.value" placeholder="请输入值"></el-input>
</template>
</el-table-column>
</sc-form-table>
</el-main>
</el-drawer>
</el-drawer> </el-drawer>
</template> </template>
<script> <script>
export default { export default {
emits: ['success', 'closed'], emits: ["success", "closed"],
data() { data() {
return { return {
loading: false, loading: false,
mode: "add", mode: "add",
titleMap: { titleMap: {
add: '新增', add: "新增",
edit: '编辑' edit: "编辑",
show: "查看",
}, },
form: {}, form: {},
rules: { rules: {
name: [ name: [{ required: true, message: "请输入表格名称", trigger: "blur" }],
{required: true, message: '请输入表格名称', trigger: 'blur'} code: [{ required: true, message: "请输入唯一标识", trigger: "blur" }],
],
code: [
{required: true, message: '请输入唯一标识', trigger: 'blur'}
]
}, },
addTemplate: { addTemplate: {
label: '', label: "",
prop: '', prop: "",
width: '100', width: "100",
hide: false, hide: false,
sortable: false, sortable: false,
fixed: false, fixed: false,
filters: [] filters: [],
}, },
visible: false, visible: false,
isSaveing: false, isSaveing: false,
selectionFilters: [], selectionFilters: [],
filtersAddTemplate: { filtersAddTemplate: {
text: '', text: "",
value: '' value: "",
}, },
setFiltersVisible: false setFiltersVisible: false,
} };
},
mounted() {
}, },
mounted() {},
methods: { methods: {
// //
open(mode='add'){ open(mode = "add") {
this.mode = mode; this.mode = mode;
this.visible = true; this.visible = true;
return this; return this;
@ -144,17 +115,18 @@
this.$refs.dialogForm.validate(async (valid) => { this.$refs.dialogForm.validate(async (valid) => {
if (valid) { if (valid) {
this.isSaveing = true; this.isSaveing = true;
var res = await this.$API.demo.post.post(this.form); this.$API.hrm.employee.update(this.form.id, this.form).then(res=>{
this.isSaveing = false; this.isSaveing = false;
if(res.code == 200){
this.$emit('success', this.form, this.mode)
this.visible = false; this.visible = false;
this.$message.success("操作成功") this.$emit("success", this.form, this.mode);
}else{ this.$message.success("操作成功");
this.$alert(res.message, "提示", {type: 'error'}) return res
} }).catch(err=>{
} this.isSaveing = false;
return err
}) })
}
});
}, },
// //
setData(data) { setData(data) {
@ -167,15 +139,15 @@
// this.loading = false // this.loading = false
// this.form = res.data // this.form = res.data
// },400) // },400)
Object.assign(this.form, data) Object.assign(this.form, data);
}, },
// //
setFilters(filters) { setFilters(filters) {
this.selectionFilters = filters this.selectionFilters = filters;
this.setFiltersVisible = true this.setFiltersVisible = true;
} },
} },
} };
</script> </script>
<style> <style>