提交 cfc8b2e0 authored 作者: zfl's avatar zfl

质检修改

上级 f2770764
......@@ -13,8 +13,8 @@
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<!-- <title><%= webpackConfig.name %></title> -->
<title>烟草质检管理系统</title>
<title><%= webpackConfig.name %></title>
<!-- <title>烟草质检管理系统</title> -->
</head>
<body>
......
import request from '@/utils/request'
export function industry_commerce_handover_upload(data) {
return request({
url: '/api/industry_commerce_handover/upload',
method: 'post',
data
})
}
export function industry_commerce_handover_list(params) {
return request({
url: '/api/industry_commerce_handover',
method: 'get',
params
})
}
export function industry_commerce_handover_export(data) {
return request({
url: '/api/industry_commerce_handover/searchExport',
method: 'post',
data
})
}
export function industry_commerce_handover_destroy(data) {
return request({
url: '/api/industry_commerce_handover/searchDestroy',
method: 'post',
data
})
}
//获取烟草等级列表
export function getTobaccoList() {
return request({
url: '/student/tobacco_grades/all',
method: 'get',
})
}
export function ich_raw_data_imageUpload(data) {
return request({
url: '/api/ich_raw_data/imageUpload',
method: 'post',
data
})
}
export function ich_raw_data_save(data) {
return request({
url: '/api/ich_raw_data',
method: 'post',
data
})
}
export function ich_raw_data_list(params) {
return request({
url: '/api/ich_raw_data',
method: 'get',
params
})
}
export function ich_raw_data_get(params) {
return request({
url: '/api/ich_raw_data/1',
method: 'get',
params
})
}
export function ich_raw_data_delete(data) {
return request({
url: '/api/ich_raw_data/1',
method: 'delete',
data
})
}
export function industry_commerce_handover_count(data) {
return request({
url: '/api/count_ich/count',
method: 'post',
data
})
}
import request from '@/utils/request'
export function company_list(params) {
return request({
url: '/api/company',
method: 'get',
params
})
}
export function company_save(data) {
return request({
url: '/api/company',
method: 'post',
data
})
}
export function company_update(id,data) {
return request({
url: '/api/company/'+id,
method: 'put',
data
})
}
export function company_show(params) {
return request({
url: '/api/company/'+params.id,
method: 'get',
})
}
export function company_delete(data) {
return request({
url: '/api/company/'+data.id,
method: 'delete',
})
}
\ No newline at end of file
......@@ -12,7 +12,7 @@ import request from '@/utils/request'
//获取省市区信息
export function get_province_list(data) {
return request({
url: '/api/treeprovince',
url: '/api/treeprovince'+(data.parent_id?('/'+data.parent_id):''),
method: 'post',
data
})
......
......@@ -83,10 +83,11 @@ export function get_permission_tree(params) {
})
}
//获取菜单、按钮分类
export function get_permission_btn_menu() {
export function get_permission_btn_menu(params) {
return request({
url: `/api/permission`,
method: 'get',
params
})
}
//新增菜单、功能(按钮)
......
......@@ -34,7 +34,7 @@ router.beforeEach(async (to, from, next) => {
} else {
try {
await store.dispatch('user/getInfo')
const accessRoutes = await store.dispatch('permission/generateRoutes')
const accessRoutes = await store.dispatch('permission/generateRoutes',{status:1})
// console.log('路由数据');
// console.log(accessRoutes);
router.addRoutes(accessRoutes)
......
module.exports = {
title: '烟草质检管理',
title: '数据管理',
// title: '烟草质检管理',
/**
* @type {boolean} true | false
......
......@@ -84,9 +84,9 @@ function transListToTreeData(list, rootValue) {
}
const actions = {
generateRoutes({ commit }) {
generateRoutes({ commit },data) {
return new Promise(async resolve => {
let response = await get_permission_btn_menu();
let response = await get_permission_btn_menu(data);
console.log('从接口获取的路由数据');
console.log(response);
/* route_tree_all(permission); //转为树结构 */
......
差异被折叠。
差异被折叠。
<!-- -->
<template>
<div>原始数据</div>
<div class="module_container">
<div class="card_container">
<el-card class="box-card">
<el-row :gutter="20">
<el-col style="padding-top:10px" :span="12">
<span style="display: inline-block; width:calc(100% - 110px);">
<el-input clearable v-model="request_params.document_number" placeholder="请输入文件编号" @keydown.enter.native="getTableData"></el-input>
</span>
<el-button style="margin-left:10px" type="primary" icon="el-icon-search" v-loading='is_loading' @click="getTableData()" >查询</el-button>
</el-col>
<el-col :span="12" style="text-align:right">
<el-button type="primary" icon="el-icon-plus" @click="toDetail()">新增</el-button>
</el-col>
</el-row>
<div class="table_container">
<el-table v-loading="is_loading" :data="tableData" style="width: 100%;margin-bottom: 20px;" height="560">
<el-table-column type="index" width='50'></el-table-column>
<el-table-column prop="id" label="ID"></el-table-column>
<el-table-column prop="document_number" label="文件编号"></el-table-column>
<el-table-column prop="sampling_year" label="抽检年份"></el-table-column>
<el-table-column prop="check_provinces" label="检查省份"></el-table-column>
<el-table-column prop="check_city" label= "检查地点(地市)"></el-table-column>
<el-table-column prop="check_area" label= "检查地点(县)"></el-table-column>
<el-table-column prop="check_address" label="检查地点名称"></el-table-column>
<el-table-column prop="accepting_unit" label= "接收单位"></el-table-column>
<el-table-column prop="chief_examiner" width='120' label= "主检"></el-table-column>
<el-table-column prop="pre_screener" width='120' label= "预检员"></el-table-column>
<el-table-column prop="team_leader" width='120' label="组长"></el-table-column>
<el-table-column prop="sampler" width='120' label="抽样员"></el-table-column>
<el-table-column prop="recorder" width='120' label= "记录员"></el-table-column>
<el-table-column label="操作" width="240">
<template slot-scope="scope">
<el-button type="primary" icon="el-icon-edit" @click="toDetail(scope.row)">详情/编辑</el-button>
<el-button type="danger" icon="el-icon-delete" @click="deleteData(scope.row)" >删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div style="text-align: right">
<el-pagination
@current-change="handleCurrentChange"
:current-page.sync="request_params.page"
:page-size="request_params.limit"
layout="total, prev, pager, next"
:total="request_params.total"
>
</el-pagination>
</div>
</el-card>
</div>
</div>
</template>
<script>
import {
ich_raw_data_delete,
ich_raw_data_list
} from '@/api/business';
import {
get_province_list
} from '@/api/student';
import { exportText } from '@/utils/tool.js';
const search_def_data = {
page: 1,
limit: 10,
total: 1,
document_number:'', //word时需要文件编号
}
export default {
data () {
data() {
return {
request_params: Object.assign({}, search_def_data),
is_loading: false,
tableData: [],
};
},
components: {},
components: { },
computed: {},
mounted(){},
mounted() {
this.init()
},
methods: {}
methods: {
getTableData(){
this.is_loading=true
ich_raw_data_list(this.formData).then(res => {
this.tableData=res.data;
this.request_params.page=res.current_page
this.request_params.total=res.total
this.request_params.limit=parseInt(res.per_page)
this.is_loading=false
})
},
//分页
handleCurrentChange(val) {
this.request_params.page = val;
this.getTableData();
},
// 删除搜寻数据
deleteData(item){
this.$confirm('是否删除搜索寻数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
ich_raw_data_delete({document_number:item.document_number}).then((res) => {
if (res.code == 200) {
this.$message.success(res.message);
this.init();
}
});
}).catch(() => {
});
},
toDetail(item) {
let document_number = item?item.document_number:null;
this.$router.push({
path: '/business/raw_data_details',
query: {
document_number: document_number,
},
});
},
init() {
this.getTableData()
},
},
}
</script>
<style scoped>
<style lang="scss" >
.img_box{
width: 500px;
height: 780px;
text-align: center;
border: 1px solid #b0b0b0;
border-radius: 8px;
.upload-demo {
width: 100%;
height: 100%;
position: relative;
}
.el-upload{
padding-top:180px !important;
width: 100% !important;
height: 100% !important;
}
}
.from_table_z{
font-size: 12px;
.el-input__inner {
border-radius: 0px;
border-top-width: 0px;
border-left-width: 0px;
border-right-width: 0px;
border-bottom-width: 1px;
}
.row_table_z{
margin-top: 10px;
border-right: 1px solid #b0b0b0;
border-bottom: 1px solid #b0b0b0;
text-align: center;
.z_row_border{
line-height: 22px;
border-top: 1px solid #b0b0b0;
border-left: 1px solid #b0b0b0;
}
.el-input__inner {
border-radius: 0px;
border-top-width: 0px;
border-left-width: 0px;
border-right-width: 0px;
border-bottom-width: 0px;
padding:0px;
height: 20px;
line-height: 20px;
}
}
}
</style>
<!--
* @Author: czj
* @Date: 2023-03-07 14:41:33
* @Description:
* @FilePath: \AdministrationHome\src\views\student\tobacco_grades\components\dialog.vue
-->
<!-- -->
<template>
<div>
<div style="max-height:700px;overflow-y: auto;">
<el-form label-width="150px">
<el-row>
<el-col :span="12">
<el-form-item label="公司名称">
<el-input v-model="data_item.name"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司别名">
<div v-if="data_item.company_alias && data_item.company_alias.length">
<div v-for="(item, index) in data_item.company_alias" :key="index" class="input_box">
<el-input v-model="data_item.company_alias[index]"
style="width: calc(100% - 100px);"></el-input>
<el-button v-if="index == data_item.company_alias.length - 1" type="text"
icon="el-icon-circle-plus-outline" title="添加" @click="addData()"></el-button>
<el-button class="delete_breed" type="text" icon="el-icon-delete" title="删除"
@click="deleteDate(index, 'appearance')"></el-button>
</div>
</div>
<el-button v-else type="text"
icon="el-icon-circle-plus-outline" title="添加" @click="addData()"></el-button>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="公司类别">
<el-radio v-model="data_item.unit_category" label="备货">备货</el-radio>
<el-radio v-model="data_item.unit_category" label="交接">交接</el-radio>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司地址">
<el-select style="width:80px" @change="get_province_list_fun(data_item.provinces,'city')" v-model="data_item.provinces" placeholder="省">
<el-option v-for="item in province_data" :key="item.value" :label="item.label" :value="item.value"> </el-option>
</el-select>
<el-select style="padding-left:10px;width:90px" @change="get_province_list_fun(data_item.city,'area')" v-model="data_item.city" placeholder="市">
<el-option v-for="item in city_data" :key="item.value" :label="item.label" :value="item.value"> </el-option>
</el-select>
<el-select style="padding-left:10px;width:90px" v-model="data_item.area" placeholder="区">
<el-option v-for="item in area_data" :key="item.value" :label="item.label" :value="item.value"> </el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="详细地址">
<el-input v-model="data_item.address"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司介绍">
<el-input v-model="data_item.intro" type="textarea" :rows="2"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注">
<el-input v-model="data_item.remark" type="textarea" :rows="2"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div style="text-align: right;">
<el-button @click="handleClose">取 消</el-button>
<el-button type="primary" @click="submitData">确 定</el-button>
</div>
</div>
</template>
<script>
import {
get_province_list
} from '@/api/student';
export default {
props: ['itemData'],
data() {
return {
data_item: {},//烟草信息
city_data:[],
area_data:[],
province_data:[],
};
},
components: {},
computed: {},
created() {
this.data_item= JSON.parse(JSON.stringify(this.itemData));
this.get_province_list_fun()
},
mounted() {
console.log('详情数据');
console.log(this.data_item);
},
methods: {
//取消
handleClose() {
this.$emit('handleClose');
},
//确认
submitData() {
const process_data = (list) => {
let data = { ...list };
return data;
}
let data = process_data(this.data_item);
this.$emit('submitData', data)
},
//添加数据
addData() {
this.data_item.company_alias.push('');
},
//删除数据
deleteDate(index) {
this.data_item.company_alias.splice(index, 1);
},
get_province_list_fun(name=null,type='province'){
if(type=='province'){
this.province_data=[]
this.city_data=[]
this.area_data=[]
}else if(type=='city'){
this.city_data=[]
this.area_data=[]
this.data_item.city='';
this.data_item.area='';
}else if(type=='area'){
this.area_data=[]
this.data_item.area='';
}
this.fun_get_province_list(name,type)
},
fun_get_province_list(name=null,type='province'){
get_province_list({type:type,name:name,name_is_value:true}).then((res) => {
this[type+'_data'] = res;
});
},
}
}
</script>
<style scoped>
.input_box {
margin-bottom: 10px;
}
.delete_breed {
color: red;
}
</style>
<!-- -->
<script>
/**
* @Author: AnthonyD
* @Date: 2023-03-28 10:34:24
* @Last Modified by: AnthonyD
* @Last Modified time: 2023-04-21 14:57:01
*/
</script>
<template>
<div>渠道管理</div>
<div class="module_container">
<div class="card_container">
<el-card class="box-card">
<table-head
:head_data="head_data"
@search="searchEvent"
@resetting="resetting"
@btnClick="btnClick"
></table-head>
<div class="table_container">
<el-table v-loading="is_loading" :data="tableData" style="width: 100%; margin-bottom: 20px" height="650" >
<el-table-column prop="id" label="编号" width="50"> </el-table-column>
<el-table-column prop="name" label="公司名称" ></el-table-column>
<el-table-column prop="company_alias" label="别名">
<template slot-scope="scope">
<el-tag style="margin-bottom:3px" v-for="(i , index) in scope.row.company_alias" :key="index" :title='i'>{{i}}</el-tag>
</template>
</el-table-column>
<el-table-column prop="intro" label="介绍"> </el-table-column>
<el-table-column prop="unit_category" label="类别"> </el-table-column>
<el-table-column prop="provinces" label="省/市/区" width="250">
<template slot-scope="scope">
<el-tag :title='`${scope.row.provinces}-${scope.row.city}-${scope.row.area}`'>{{scope.row.provinces}}-{{scope.row.city}}-{{scope.row.area}}</el-tag>
</template>
</el-table-column>
<el-table-column prop="address" label="详细地址"> </el-table-column>
<el-table-column prop="remark" label="备注"> </el-table-column>
<el-table-column prop="created_at" label="创建时间" width="150"> </el-table-column>
<el-table-column label="操作" width="120">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
style="color: #000"
@click="editTobaccoGrades(scope.row)"
>编辑</el-button
>
<el-button
size="mini"
type="text"
style="color: #f56c6c"
@click="deleteTobaccoGrades(scope.row)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
</div>
<div style="text-align: right">
<el-pagination
@current-change="handleCurrentChange"
:current-page.sync="request_params.page"
:page-size="request_params.limit"
layout="total, prev, pager, next"
:total="request_params.total"
>
</el-pagination>
</div>
</el-card>
</div>
<el-dialog
:title="is_updata_type == 'add' ? '渠道新增' : '渠道修改'"
:visible.sync="is_dialogVisible"
width="900px"
top="50px"
:before-close="handleClose"
>
<div>
<Dialog
:key="is_update"
v-if="is_dialogVisible"
:itemData="itemData"
@handleClose="handleClose"
@submitData="submitData"
></Dialog>
</div>
</el-dialog>
</div>
</template>
<script>
import TableHead from '@/components/TableHead/index';
import Dialog from './components/dialog.vue';
import {
company_list,
company_save,
company_update,
company_show,
company_delete
} from '@/api/company';
const company_template = {
"name":'',
"company_alias":[],
"intro":'',
"unit_category":'',
"provinces":'',
"city":'',
"area":'',
"address":'',
"remark":'',
};
export default {
data () {
data() {
return {
//头部按钮
head_data: {
is_search_show: true,
// search_placeholder: "学员姓名/手机号",
right_buttons: [
{
text: '新增',
icon: 'el-icon-plus',
event: 'add',
},
],
},
//初始化请求参数
request_params: {
val: '',
page: 1,
limit: 10,
total: null,
},
is_loading: false,
tableData: [],
is_dialogVisible: false,
is_updata_type: 'add',
is_update:false,
//烟草品级信息
itemData: Object.assign({}, company_template),
//全部烟草品级,用来选择
};
},
components: {},
components: { TableHead, Dialog },
computed: {},
mounted(){},
mounted() {
this.init();
},
methods: {
searchEvent(val) {
console.log('搜索');
console.log(val);
this.request_params.val = val;
this.getTobaccoGradesList();
},
resetting(val) {
console.log('重置');
console.log(val);
this.request_params.val = null;
this.getTobaccoGradesList();
},
btnClick(val) {
console.log('右侧按钮');
console.log(val);
if (val == 'add') this.addTobaccoGrades();
},
methods: {}
}
init() {
this.getTobaccoGradesList();
},
//取消
handleClose() {
this.is_dialogVisible = false;
},
//提交
submitData(val) {
let params = this.$handleParams(val);
if (this.is_updata_type == 'add') {
company_save(params).then((res) => {
if (res.code == 200) {
this.$message.success(res.message);
this.is_dialogVisible = false;
this.getTobaccoGradesList();
}
});
} else {
let id = val.id;
company_update(id, params).then((res) => {
console.log('修改');
console.log(res);
if (res.code == 200) {
this.$message.success(res.message);
this.is_dialogVisible = false;
this.getTobaccoGradesList();
}
});
}
},
//获取列表
getTobaccoGradesList() {
this.is_loading = true;
let params = this.$removeProperty(this.request_params);
company_list(params).then((res) => {
this.tableData = res.data || [];
this.request_params.total = res.total;
this.is_loading = false;
});
},
//分页
handleCurrentChange(val) {
this.request_params.page = val;
this.getTobaccoGradesList();
},
//新增
addTobaccoGrades() {
this.is_updata_type = 'add';
this.itemData = { ...company_template };
this.itemData.company_alias = [];
this.is_update=!this.is_update
this.is_dialogVisible = true;
},
//修改
editTobaccoGrades(item) {
this.is_updata_type = 'edit';
let id = item.id;
company_show({id:id}).then((res) => {
this.itemData = { ...res };
this.itemData.company_alias = JSON.parse(JSON.stringify(res.company_alias));
console.log(this.itemData)
this.is_update=!this.is_update
this.is_dialogVisible = true;
});
},
//删除
deleteTobaccoGrades(item) {
let id = item.id;
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
company_delete({id:id}).then((res) => {
if (res.code == 200) {
this.$message.success(res.message);
this.init();
}
});
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消删除',
});
});
},
},
};
</script>
<style scoped>
</style>
\ No newline at end of file
<style lang="scss" scoped></style>
......@@ -7,10 +7,11 @@
<!-- -->
<template>
<div class="retrieve_container">
<img src="/image/log.svg" alt="" class="object_logo">
<!-- <img src="/image/log.svg" alt="" class="object_logo"> -->
<div class="content_box">
<div class="content_body">
<h1 class="content_title">国家烟草质检中心系统</h1>
<!-- <h1 class="content_title">国家烟草质检中心系统</h1> -->
<h1 class="content_title">数据管理系统</h1>
<div>
<el-card v-if="retrieve_type == 'email'">
<email-retrieve @retrieveType="retrieveType"></email-retrieve>
......
Markdown 格式
0% 或
您添加了 0 人 到此讨论。请谨慎行事。
请先完成此评论的编辑!
请 注册 或者 后发表评论