|
|
|
@ -1,10 +1,10 @@ |
|
|
|
|
<template> |
|
|
|
|
<div class="app-container"> |
|
|
|
|
<SearchForm v-show="showSearch" ref="SearchForm" @search="_getTableList" :options="options" /> |
|
|
|
|
<SearchForm v-show="showSearch" ref="SearchForm" :options="options" @search="_getTableList" /> |
|
|
|
|
<el-row :gutter="10" class="mb8"> |
|
|
|
|
<el-col :span="1.5"> |
|
|
|
|
<el-button type="primary" icon="el-icon-plus" v-hasPermi="['zs:sign:add']" @click="handleAddAndUpdate(undefined)">新增</el-button> |
|
|
|
|
<el-button v-if="admin == 'true'" type="warning" v-hasPermi="['zs:sign:export']" icon="el-icon-download" size="mini" @click="handleExport">导出</el-button> |
|
|
|
|
<el-button v-hasPermi="['zs:sign:add']" type="primary" icon="el-icon-plus" @click="handleAddAndUpdate(undefined)">新增</el-button> |
|
|
|
|
<el-button v-if="admin == 'true'" v-hasPermi="['zs:sign:export']" type="warning" icon="el-icon-download" size="mini" @click="handleExport">导出</el-button> |
|
|
|
|
</el-col> |
|
|
|
|
<right-toolbar :show-search.sync="showSearch" :columns="columns" @queryTable="_getTableList" /> |
|
|
|
|
</el-row> |
|
|
|
@ -15,24 +15,24 @@ |
|
|
|
|
<template v-for="item in columns"> |
|
|
|
|
<el-table-column v-if="item.visible && item.prop === 'state'" :key="item.prop" :label="item.label" align="center" :width="item.width" :prop="item.prop"> |
|
|
|
|
<template slot-scope="{row}"> |
|
|
|
|
<el-button type="success" size="mini" v-if="row.state">全款</el-button> |
|
|
|
|
<el-button type="warning" size="mini" v-else>未全款</el-button> |
|
|
|
|
<el-button v-if="row.state" type="success" size="mini">全款</el-button> |
|
|
|
|
<el-button v-else type="warning" size="mini">未全款</el-button> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column v-else-if="item.visible" :key="item.prop" :label="item.label" align="center" :width="item.width" :prop="item.prop" :show-overflow-tooltip="item.overflow" /> |
|
|
|
|
</template> |
|
|
|
|
<el-table-column align="center" width="100" fixed="right" label="审核状态"> |
|
|
|
|
<template slot-scope="{row}"> |
|
|
|
|
<el-button type="danger" size="mini" v-if="row.checkState == 1">待审核</el-button> |
|
|
|
|
<el-button type="success" size="mini" v-else-if="row.checkState == 2">已审核</el-button> |
|
|
|
|
<el-button type="warning" size="mini" v-else-if="row.checkState == 3">驳回</el-button> |
|
|
|
|
<el-button v-if="row.checkState == 1" type="danger" size="mini">待审核</el-button> |
|
|
|
|
<el-button v-else-if="row.checkState == 2" type="success" size="mini">已审核</el-button> |
|
|
|
|
<el-button v-else-if="row.checkState == 3" type="warning" size="mini">驳回</el-button> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="操作" fixed="right" align="center" width="160"> |
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
<el-button size="mini" type="text" v-hasPermi="['zs:sign:edit']" v-if="scope.row.signEdit" icon="el-icon-edit" @click="handleAddAndUpdate(scope.row)">修改</el-button> |
|
|
|
|
<el-button size="mini" type="text" v-hasPermi="['zs:sign:check']" v-if="scope.row.checkState == 1 " @click="handleCheck(scope.row)">审核</el-button> |
|
|
|
|
<el-button size="mini" type="text" v-hasPermi="['zs:sign:remove']" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button> |
|
|
|
|
<template slot-scope="{row}"> |
|
|
|
|
<el-button v-show="row.checkState == 0 || row.checkState == 3" v-hasPermi="['zs:sign:edit']" size="mini" type="text" icon="el-icon-edit" @click="handleAddAndUpdate(scope.row)">修改</el-button> |
|
|
|
|
<el-button v-if="row.checkState == 1" v-hasPermi="['zs:sign:check']" size="mini" type="text" @click="handleCheck(scope.row)">审核</el-button> |
|
|
|
|
<el-button v-hasPermi="['zs:sign:remove']" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
@ -50,17 +50,14 @@ |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script> |
|
|
|
|
import { getSignList, exportData, deleteSign } from '@/api/zs/sign' |
|
|
|
|
import empApi from '@/api/system/employee' |
|
|
|
|
import CheckDialog from './components/CheckDialog' |
|
|
|
|
import SearchForm from './components/SearchForm.vue' |
|
|
|
|
import SignFormDialog from './components/SignFormDialog.vue' |
|
|
|
|
import { getSignList, exportData, deleteSign } from '@/api/zs/sign'; |
|
|
|
|
import empApi from '@/api/system/employee'; |
|
|
|
|
import CheckDialog from './components/CheckDialog'; |
|
|
|
|
import SearchForm from './components/SearchForm.vue'; |
|
|
|
|
import SignFormDialog from './components/SignFormDialog.vue'; |
|
|
|
|
import { defaultColumns } from './columns.js'; |
|
|
|
|
import UploadDialog from './components/UploadDialog.vue' |
|
|
|
|
|
|
|
|
|
import UploadDialog from './components/UploadDialog.vue'; |
|
|
|
|
|
|
|
|
|
export default { |
|
|
|
|
name: 'Sign', |
|
|
|
@ -68,7 +65,7 @@ export default { |
|
|
|
|
SearchForm, |
|
|
|
|
CheckDialog, |
|
|
|
|
SignFormDialog, |
|
|
|
|
UploadDialog, |
|
|
|
|
UploadDialog |
|
|
|
|
}, |
|
|
|
|
data() { |
|
|
|
|
return { |
|
|
|
@ -76,7 +73,7 @@ export default { |
|
|
|
|
userId: localStorage.getItem('userId'), |
|
|
|
|
searchForm: { |
|
|
|
|
pageNum: 1, |
|
|
|
|
pageSize: 10, |
|
|
|
|
pageSize: 10 |
|
|
|
|
}, |
|
|
|
|
loading: false, |
|
|
|
|
columns: [], |
|
|
|
@ -88,12 +85,12 @@ export default { |
|
|
|
|
percentageOptions: [ |
|
|
|
|
{ |
|
|
|
|
value: '驾校已结算', |
|
|
|
|
label: '驾校已结算', |
|
|
|
|
label: '驾校已结算' |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
value: '提成已发放', |
|
|
|
|
label: '提成已发放', |
|
|
|
|
}, |
|
|
|
|
label: '提成已发放' |
|
|
|
|
} |
|
|
|
|
], |
|
|
|
|
areaOptions: [], |
|
|
|
|
showSearch: true, |
|
|
|
@ -109,32 +106,32 @@ export default { |
|
|
|
|
moneyStateOptions: [], |
|
|
|
|
sourceOptions: [] |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|
created() { |
|
|
|
|
const str = localStorage.getItem(`${this.$route.name}-table-columns`); |
|
|
|
|
this.columns = str ? JSON.parse(str) : defaultColumns; |
|
|
|
|
// 回款状态 |
|
|
|
|
this.getDicts('dm_money_state').then((response) => { |
|
|
|
|
this.options.moneyStateOptions = response.data |
|
|
|
|
}) |
|
|
|
|
this.options.moneyStateOptions = response.data; |
|
|
|
|
}); |
|
|
|
|
// s所属区域 |
|
|
|
|
this.getDicts('dm_area').then((response) => { |
|
|
|
|
this.options.areaOptions = response.data |
|
|
|
|
}) |
|
|
|
|
this.options.areaOptions = response.data; |
|
|
|
|
}); |
|
|
|
|
// s所属区域 |
|
|
|
|
this.getDicts('dm_source').then((response) => { |
|
|
|
|
this.options.sourceOptions = response.data |
|
|
|
|
}) |
|
|
|
|
this.getSchools() |
|
|
|
|
this._getTableList() |
|
|
|
|
this.getEmployee() |
|
|
|
|
this.options.sourceOptions = response.data; |
|
|
|
|
}); |
|
|
|
|
this.getSchools(); |
|
|
|
|
this._getTableList(); |
|
|
|
|
this.getEmployee(); |
|
|
|
|
}, |
|
|
|
|
methods: { |
|
|
|
|
// 搜索 |
|
|
|
|
handleQuery() { |
|
|
|
|
this.searchForm.pageNum = 1 |
|
|
|
|
this._getTableList() |
|
|
|
|
this.searchForm.pageNum = 1; |
|
|
|
|
this._getTableList(); |
|
|
|
|
}, |
|
|
|
|
_getTableList() { |
|
|
|
|
this.loading = true; |
|
|
|
@ -142,16 +139,16 @@ export default { |
|
|
|
|
const params = { ...this.searchForm, ...tempForm }; |
|
|
|
|
getSignList(params).then( |
|
|
|
|
(response) => { |
|
|
|
|
this.tableDataList = response.rows |
|
|
|
|
this.total = response.total |
|
|
|
|
this.loading = false |
|
|
|
|
this.tableDataList = response.rows; |
|
|
|
|
this.total = response.total; |
|
|
|
|
this.loading = false; |
|
|
|
|
} |
|
|
|
|
) |
|
|
|
|
); |
|
|
|
|
}, |
|
|
|
|
getSchools() { |
|
|
|
|
empApi.pageList().then((resp) => { |
|
|
|
|
this.options.schoolOptions = resp.data |
|
|
|
|
}) |
|
|
|
|
this.options.schoolOptions = resp.data; |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
/** 导出按钮操作 */ |
|
|
|
@ -159,46 +156,46 @@ export default { |
|
|
|
|
this.$confirm('是否确认导出所有成交记录项?', '警告', { |
|
|
|
|
confirmButtonText: '确定', |
|
|
|
|
cancelButtonText: '取消', |
|
|
|
|
type: 'warning', |
|
|
|
|
type: 'warning' |
|
|
|
|
}) |
|
|
|
|
.then((resp) => { |
|
|
|
|
const tempForm = this.$refs.SearchForm?.searchForm || {}; |
|
|
|
|
this.download('zs/sign/export', tempForm, `登记信息_${new Date().getTime()}.xlsx`); |
|
|
|
|
}) |
|
|
|
|
.catch(function () { }) |
|
|
|
|
.catch(function () { }); |
|
|
|
|
}, |
|
|
|
|
/** 导入按钮操作 */ |
|
|
|
|
handleImport() { |
|
|
|
|
this.upload.title = '成交记录导入' |
|
|
|
|
this.upload.open = true |
|
|
|
|
this.upload.title = '成交记录导入'; |
|
|
|
|
this.upload.open = true; |
|
|
|
|
}, |
|
|
|
|
/** 查询员工 */ |
|
|
|
|
getEmployee() { |
|
|
|
|
empApi.getEmployee().then((resp) => { |
|
|
|
|
if (resp.code == 200) { |
|
|
|
|
this.options.userOptions = resp.data |
|
|
|
|
this.options.userOptions = resp.data; |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
changeSort(val) { |
|
|
|
|
if (val.order) { |
|
|
|
|
this.searchForm.orderName = val.prop |
|
|
|
|
this.searchForm.orderName = val.prop; |
|
|
|
|
if (val.order == 'ascending') { |
|
|
|
|
this.searchForm.orderType = 'asc' |
|
|
|
|
this.searchForm.orderType = 'asc'; |
|
|
|
|
} else { |
|
|
|
|
this.searchForm.orderType = 'desc' |
|
|
|
|
this.searchForm.orderType = 'desc'; |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
this.searchForm.orderName = '' |
|
|
|
|
this.searchForm.orderType = '' |
|
|
|
|
this.searchForm.orderName = ''; |
|
|
|
|
this.searchForm.orderType = ''; |
|
|
|
|
} |
|
|
|
|
this.getPageList() |
|
|
|
|
this.getPageList(); |
|
|
|
|
}, |
|
|
|
|
handleAddAndUpdate(item) { |
|
|
|
|
this.dialog.signVisible = true |
|
|
|
|
this.dialog.signVisible = true; |
|
|
|
|
this.$nextTick(() => { |
|
|
|
|
this.$refs.signDialogForm.init(item) |
|
|
|
|
}) |
|
|
|
|
this.$refs.signDialogForm.init(item); |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
handleDelete(item) { |
|
|
|
|
this.$confirm( |
|
|
|
@ -207,30 +204,30 @@ export default { |
|
|
|
|
{ |
|
|
|
|
confirmButtonText: '确定', |
|
|
|
|
cancelButtonText: '取消', |
|
|
|
|
type: 'warning', |
|
|
|
|
type: 'warning' |
|
|
|
|
} |
|
|
|
|
) |
|
|
|
|
.then((res) => { |
|
|
|
|
deleteSign({ signId: item.signId }).then((resp) => { |
|
|
|
|
if (resp.code == 200) { |
|
|
|
|
this.$message.success('删除成功') |
|
|
|
|
this.getPageList() |
|
|
|
|
this.$message.success('删除成功'); |
|
|
|
|
this.getPageList(); |
|
|
|
|
} else { |
|
|
|
|
// this.$message.error("删除失败:" + resp.msg); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
.catch(function () { }) |
|
|
|
|
.catch(function () { }); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
handleCheck(item) { |
|
|
|
|
this.dialog.checkVisible = true |
|
|
|
|
this.dialog.checkVisible = true; |
|
|
|
|
this.$nextTick(() => { |
|
|
|
|
this.$refs.checkDialogForm.init(item) |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
this.$refs.checkDialogForm.init(item); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
<style rel="stylesheet/scss" lang="scss"> |
|
|
|
|