Commit 8470b1c8 by liuguorong93

退役犬管理 静态页面

parent 70a2e380
import { post, postform, get, postJson } from '@/utils/http.js'
export let baseUrl = '/api'
// RetireDog
// 退役犬管理(列表)
export const getRetireDogList = params =>
postJson(`${baseUrl}/retired/dogQuery`, params)
// 退役犬管理(导出url)
export const exportRetireDogUrl = `${baseUrl}/retired/export`
// 退役犬管理(删除)
export const deleteRetireDog = params =>
postJson(`${baseUrl}/retired/dogDelete`, params)
// 退役犬管理(新增)
export const addRetireDog = params =>
postJson(`${baseUrl}/retired/dogAdd`, params)
// 退役犬管理(编辑)
export const editRetireDog = params =>
postJson(`${baseUrl}/retired/dogUpdate`, params)
// 退役犬管理(详情)
export const getRetireDogDetail = params =>
postJson(`${baseUrl}/retired/dogDetail`, params)
// 退役犬管理(提取)
export const extractRetireDog = params =>
postJson(`${baseUrl}/retired/extract`, params)
......@@ -182,7 +182,6 @@ export default [
isEditPage: true
}
},
// 工作犬等级评定管理(二级菜单)
{
path: 'jobDogGradeManage',
......@@ -324,8 +323,32 @@ export default [
meta: {
title: '警用退役犬信息管理',
isOneMenu: false,
keepAlive: true,
oneMenuName: 'poDogManage',
paixu: 3
paixu: 3,
routeNames: ['poDogRetireManageEdit', 'poDogRetireManageAdd'],
}
},
// 警用退役犬信息管理(编辑页)
{
path: 'poDogRetireManageEdit',
name: 'poDogRetireManageEdit',
component: () => import('@/views/poDogRetireManage/components/poDogRetireManageEdit.vue'),
meta: {
title: '警用退役犬信息管理-编辑',
// 编辑新增页面此字段务必设置为true
isEditPage: true
}
},
// 警用退役犬信息管理(新增页)
{
path: 'poDogRetireManageAdd',
name: 'poDogRetireManageAdd',
component: () => import('@/views/poDogRetireManage/components/poDogRetireManageEdit.vue'),
meta: {
title: '警用退役犬信息管理-新增',
// 编辑新增页面此字段务必设置为true
isEditPage: true
}
},
// 警犬电子沙盘(只有一级菜单)
......
......@@ -351,7 +351,7 @@ export const getJyzqAllColumns = () => {
return arr
}
// 警用种犬管理(默认列)
// 警用种犬管理(默认列)
export const getJyzqDefaultColumns = () => {
let arr = [
{
......@@ -372,4 +372,98 @@ export const getJyzqDefaultColumns = () => {
},
]
return arr
}
\ No newline at end of file
}
// 退役犬管理(全部列)
export const getTyqglAllColumns = () => {
let arr = [
{
label: "芯片号",
prop: "chipCode",
},
{
label: "警犬名称",
prop: "name",
},
{
label: "出生日期",
prop: "birthDate",
},
{
label: "服役年限",
prop: "fyqx",
},
{
label: "退役单位",
prop: "trainingUnit",
},
{
label: "退役日期",
prop: "retiredDate",
},
{
label: "原技术人员",
prop: "personName",
},
{
label: "接收单位",
prop: "acceptUnit",
},
{
label: "接收技术人员",
prop: "acceptArtisan",
},
{
label: "接收人员身份证号码",
prop: "acceptArtisanCard",
},
{
label: "接收日期",
prop: "acceptDate",
},
{
label: "审核单位",
prop: "auditUnit",
},
{
label: "审核人员",
prop: "auditStaff",
},
{
label: "审核人员身份证号码",
prop: "auditStaffCard",
},
{
label: "审核日期",
prop: "auditDate",
},
]
return arr
}
// 退役犬管理(默认列)
export const getTyqglDefaultColumns = () => {
let arr = [
{
label: "芯片号",
prop: "chipCode",
},
{
label: "警犬名称",
prop: "name",
},
{
label: "出生日期",
prop: "birthDate",
},
{
label: "退役日期",
prop: "retiredDate",
},
{
label: "退役单位",
prop: "trainingUnit",
},
]
return arr
}
......@@ -25,7 +25,7 @@
style="background: #fa654f"
></span>退役犬
</div>
<div>0<span class="dog_co_right_one_nao"></span></div>
<div>{{qzCount.retiredDog}}<span class="dog_co_right_one_nao"></span></div>
</div>
<div
class="dog_co_right_one"
......@@ -37,7 +37,7 @@
style="background: #ffc64e"
></span>种犬
</div>
<div>0<span class="dog_co_right_one_nao"></span></div>
<div>{{qzCount.studDog}}<span class="dog_co_right_one_nao"></span></div>
</div>
</div>
</div>
......
<template>
<div></div>
</template>
<script>
export default {
name: "poDogRetireManageEdit",
data() {
return {};
},
};
</script>
\ No newline at end of file
<template>
<div>警用退役犬信息管理</div>
<div class="listContentClass">
<div class="contents">
<div
class="titles"
style="width: 72px;"
>查询条件</div>
{{formData}}
<el-form
:model="formData"
ref="formDataRef"
:inline="true"
>
<el-form-item
label="芯片号"
class="elItemClass"
>
<el-input
v-model="formData.chipCode"
:clearable="true"
placeholder="请输入芯片号"
></el-input>
</el-form-item>
<el-form-item
label="警犬名称"
class="elItemClass"
>
<el-input
v-model="formData.name"
:clearable="true"
placeholder="请输入警犬名称"
></el-input>
</el-form-item>
<el-form-item
label="出生日期"
class="elItemClass elDateClass"
>
<el-date-picker
v-model="formData.birthDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择出生日期"
>
</el-date-picker>
</el-form-item>
<el-form-item
label="退役日期"
class="elItemClass elDateClass"
>
<el-date-picker
v-model="formData.retiredDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择退役日期"
>
</el-date-picker>
</el-form-item>
<el-form-item
label="退役单位"
class="elItemClass"
>
<lazy-select-tree-dialog
:sendId="formData.trainingUnit"
:formData="formData"
:currentItem="unitInfo"
/>
</el-form-item>
</el-form>
<div class="queryBtnsClass">
<el-button
type="text"
size="small"
class="btnStylePub"
@click="handleHeaderSettings"
>
表头配置
</el-button>
<el-button
type="primary"
size="small"
class="btnStylePub"
@click="getLists(1)"
>
查询
</el-button>
<el-button
size="small"
@click="resetForm"
style="margin-right: 0 !important;"
class="btnStylePub"
>
重置
</el-button>
</div>
<div class="hengLine"></div>
<div class="resultClass spaceBetween">
<div class="leftC">
<div
class="titles"
style="display: inline-block;width: 72px;"
>查询结果</div>
<span class="infoClass">共有 <span class="numColor">{{ total }}</span> 条查询结果,共 <span class="numColor">{{ Math.ceil(total / limit) }}</span> 页;</span>
</div>
<div class="rightC">
<el-button
icon="el-icon-plus"
size="small"
type="primary"
plain
class="btnStylePub btnStyle1"
@click="addData"
>新增</el-button>
<el-button
size="small"
icon="el-icon-upload2"
style="margin-right: 0 !important;"
type="primary"
class="btnStylePub btnStyle3"
@click="exportData"
>导出</el-button>
</div>
</div>
<el-table
v-loading="tableLoading"
element-loading-text="拼命加载中"
ref="tableRef"
:data="tableData"
tooltip-effect="dark"
max-height="600"
width="100%"
size="small"
class="elTableClass"
>
<el-table-column
align="left"
label="操作"
width="100"
>
<template slot-scope="scope">
<div>
<el-button
type="text"
size="small"
@click="editData(scope.row)"
>
补采
</el-button>
<el-button
type="text"
size="small"
@click="deleteData(scope.row)"
>删除
</el-button>
</div>
</template>
</el-table-column>
<template v-if="colPropArr && colPropArr.length">
<el-table-column
:label="item.label"
:align="setAlign(item.prop)"
show-overflow-tooltip
v-for="item in colPropArr"
:key="item.prop"
>
<template slot-scope="scope">
<span v-if="item.prop === 'name'">{{ scope.row.name }}</span>
<span v-if="item.prop === 'chipCode'">{{ scope.row.chipCode }}</span>
<span v-if="item.prop === 'trainingLevelIdForName'">{{ scope.row.trainingLevelIdForName }}</span>
<span v-if="item.prop === 'trainCountForName'">{{ scope.row.trainCountForName }}</span>
<span v-if="item.prop === 'trainingUnit'">{{ scope.row.trainingUnitName }}</span>
<span v-if="item.prop === 'checkUnit'">{{ scope.row.checkUnitName }}</span>
<span v-if="item.prop === 'pxrq'">{{ (scope.row.refreshmentKssj && scope.row.refreshmentJssj) ? (scope.row.refreshmentKssj + '&nbsp;&nbsp;至&nbsp;&nbsp;' + scope.row.refreshmentJssj) : '' }}</span>
<span v-if="item.prop === 'checkStaff'">{{ scope.row.checkStaff }}</span>
<span v-if="item.prop === 'trainSubjectForName'">{{ scope.row.trainSubjectForName }}</span>
<span v-if="item.prop === 'remark'">{{ scope.row.remark }}</span>
</template>
</el-table-column>
</template>
</el-table>
<div class="pageClass">
<el-pagination
class="elPage"
background
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
:page-size="limit"
layout="prev, pager, next"
:total="total"
>
</el-pagination>
</div>
</div>
<!-- 表头配置 -->
<headerSettings
v-if="showHeaderSettingBox"
:headerSettInfo="headerSettInfo"
@getNewColArr="getNewColArr"
@close="showHeaderSettingBox = false"
></headerSettings>
</div>
</template>
<script>
import {
getRetireDogList,
exportRetireDogUrl,
deleteRetireDog,
} from "@/api/menuDataApi/poDogRetireManageApi.js";
import { getJsonDataApi } from "@/utils/getJsonData.js";
import { getCodeName, handleDownFile, getColumns } from "@/utils/mk.js";
import {
getTyqglAllColumns,
getTyqglDefaultColumns,
} from "@/utils/tableHeaderParams.js";
import LazySelectTreeDialog from "@c/lazy_treeCode_components.vue";
import headerSettings from "@c/headerSettings.vue";
export default {
name: "poDogRetireManage",
components: {
LazySelectTreeDialog,
headerSettings,
},
data() {
return {};
return {
formData: {
chipCode: "",
name: "",
birthDate: "",
retiredDate: "",
trainingUnit: "",
},
tableLoading: false,
tableData: [],
currentPage: 1,
limit: 10,
total: 0,
unitInfo: {
name: "退役单位:",
id: "trainingUnit",
type: "lazyCodeTreeDialog",
value: "",
prop: "checkEmpty",
placeholder: "请选择退役单位",
col: "2",
disabled: false,
codeTree: "CODE_QGUNIT",
codeOptions: [],
},
showHeaderSettingBox: false,
headerSettInfo: {
menuId: "tyqManage",
allColumns: getTyqglAllColumns(),
defaultColumns: getTyqglDefaultColumns(),
},
colPropArr: [],
};
},
mounted() {},
async activated() {
// this.zyfxOptions = await getJsonDataApi("CODE_BASEDATA");
// this.gzqdjOptions = await getJsonDataApi("CODE_GZQDJ");
// this.jyjqOptions = await getJsonDataApi("CODE_SPECIES");
// this.genderOptions = await getJsonDataApi("CODE_DOG_GENDER");
// this.gsjzOptions = await getJsonDataApi("CODE_POLICECATEGORY");
// this.sylbOptions = await getJsonDataApi("CODE_BASEDATA");
let options = await getColumns(this.headerSettInfo.menuId);
if (options?.length) {
this.colPropArr = options;
} else {
this.colPropArr = this.headerSettInfo.defaultColumns;
}
this.getLists(this.currentPage);
},
methods: {
setAlign(val) {
let rightArr = [];
if (rightArr.includes(val)) {
return "right";
} else {
return "left";
}
},
resetForm() {
this.formData.chipCode = "";
this.formData.name = "";
this.formData.birthDate = "";
this.formData.retiredDate = "";
this.formData.trainingUnit = "";
this.getLists(1);
},
getLists(current) {
this.tableLoading = true;
this.currentPage = current;
let params = {
pageNow: current,
pageSize: this.limit,
chipCode: this.formData.chipCode,
name: this.formData.name,
birthDate: this.formData.birthDate,
retiredDate: this.formData.retiredDate,
trainingUnit: this.formData.trainingUnit,
};
getRetireDogList(params)
.then((res) => {
if (
res.code === 200 &&
res.success &&
res.data &&
res.data.data &&
res.data.data.records &&
res.data.data.records.length
) {
let datas = res.data.data.records;
console.log(datas);
// datas.forEach((item) => {});
this.tableData = datas;
this.total = res.data.data.total;
this.tableLoading = false;
return;
}
this.tableLoading = false;
this.tableData = [];
this.total = 0;
})
.catch((e) => {
console.log(e);
this.tableLoading = false;
this.tableData = [];
this.total = 0;
});
},
handleCurrentChange(current) {
this.currentPage = current;
this.getLists(current);
},
addData() {
this.$router.push({ name: "poDogRetireManageAdd" });
},
editData(row) {
this.$router.push({
name: "poDogRetireManageEdit",
query: {
id: row.id,
},
});
},
deleteData(row) {
// this.$confirm(`此操作将永久删除该数据,是否继续?`, "提示", {
// confirmButtonText: "确定",
// cancelButtonText: "取消",
// type: "warning",
// })
// .then(() => {
// let params = {
// id: row.id,
// };
// deletePoDogJob(params)
// .then((res) => {
// if (res.code === 200 && res.success) {
// this.$message({
// message: "删除成功",
// type: "success",
// duration: 1000,
// });
// this.getLists(1);
// return;
// }
// this.$message({
// message: res.message,
// type: "warning",
// duration: 3000,
// });
// })
// .catch(() => {
// this.$message({
// message: "删除失败",
// type: "warning",
// duration: 3000,
// });
// });
// })
// .catch(() => {
// this.$message("已取消删除");
// });
},
exportData() {},
// 配置表头
handleHeaderSettings() {
this.showHeaderSettingBox = true;
},
getNewColArr(arr) {
if (arr?.length) {
this.colPropArr = [];
setTimeout(() => {
this.colPropArr = arr;
}, 1);
}
},
},
beforeRouteLeave(to, form, next) {
let toName = to.name;
if (toName !== "poDogRetireManageEdit") {
this.currentPage = 1;
}
next();
},
watch: {},
};
</script>
\ No newline at end of file
</script>
<style scoped lang="scss">
@import "../../assets/styles/listContent.scss";
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment