提交部署

This commit is contained in:
磷叶 2024-12-21 15:15:20 +08:00
parent 91b1c5bccb
commit a61704bc5c
15 changed files with 182 additions and 92 deletions

View File

@ -41,6 +41,14 @@ export function updateOrder(data, submit) {
})
}
// 生产订单完工
export function finishOrder(id) {
return request({
url: `/bst/order/${id}/finish`,
method: 'put',
})
}
// 删除生产订单
export function delOrder(id) {
return request({

View File

@ -19,14 +19,6 @@
/>
</el-select>
</el-form-item>
<el-form-item label="负责人" prop="leaderName">
<el-input
v-model="queryParams.leaderName"
placeholder="请输入负责人名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="负责工序" prop="process">
<el-input
v-model="queryParams.process"

View File

@ -1,9 +1,11 @@
<template>
<el-link type="primary" @click="handleClick" :disabled="id == null">{{name | dv}}</el-link>
<el-link type="primary" @click="handleClick" :disabled="disabled">{{name | dv}}</el-link>
</template>
<script>
import { checkPermi } from '@/utils/permission'
export default {
name: 'OrderLink',
props: {
@ -16,6 +18,12 @@ export default {
default: null,
},
},
computed: {
// 1.id 2.
disabled() {
return this.id == null || !checkPermi(['bst:order:query']);
}
},
methods: {
handleClick() {
this.$emit('click');

View File

@ -12,6 +12,13 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="订单状态" prop="orderStatus">
<el-checkbox-group v-model="queryParams.orderStatusList" @change="handleQuery">
<el-checkbox-button v-for="dict in dict.type.order_status" :key="dict.value" :label="dict.value">
{{dict.label}}
</el-checkbox-button>
</el-checkbox-group>
</el-form-item>
<el-form-item label="产品名称" prop="orderProdName">
<el-input
v-model="queryParams.orderProdName"
@ -119,6 +126,9 @@
<template v-else-if="column.key === 'isEnd'">
<boolean-tag :value="d.row.isEnd"/>
</template>
<template v-else-if="column.key === 'orderStatus'">
<dict-tag :value="d.row.orderStatus" :options="dict.type.order_status"/>
</template>
<template v-else>
{{d.row[column.key]}}
</template>
@ -152,6 +162,7 @@ const defaultSort = {
export default {
name: "ProcessCheck",
mixins: [$showColumns],
dicts: ['order_status'],
components: {BooleanTag, DeptTreeSelect},
props: {
//
@ -198,6 +209,7 @@ export default {
pageSize: 10,
orderByColumn: defaultSort.prop,
isAsc: defaultSort.order,
orderStatusList: [],
},
total: 0,
row: null,
@ -206,6 +218,7 @@ export default {
columns: [
{key: 'id', visible: true, label: 'ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: "80"},
{key: 'orderNo', visible: true, label: '订单编号', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'orderStatus', visible: true, label: '订单状态', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'orderProdName', visible: true, label: '产品名称', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'deptName', visible: true, label: '生产车间', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'deptProcess', visible: true, label: '负责工序', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},

View File

@ -3,23 +3,44 @@
<template>
<div>
<el-form :model="queryParams" ref="queryForm" size="small" v-show="showSearch" :inline="true" label-width="4em">
<el-form :model="queryParams" ref="queryForm" size="small" v-show="showSearch" :inline="true" label-width="5em">
<el-form-item label="归属部门" prop="deptId">
<dept-tree-select v-model="queryParams.deptId" class="small-tree-select" @change="handleQuery"/>
</el-form-item>
<el-form-item label="姓名" prop="nickName">
<el-input
v-model="queryParams.nickName"
placeholder="请输入姓名"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="手机" prop="phonenumber">
<el-form-item label="登录账号" prop="userName">
<el-input
v-model="queryParams.phonenumber"
placeholder="请输入手机号码"
v-model="queryParams.userName"
placeholder="请输入登录账号"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select
v-model="queryParams.status"
placeholder="用户状态"
clearable
style="width: 240px"
@change="handleQuery"
>
<el-option
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -160,17 +181,14 @@ export default {
//
columns: [
{key: 'userId', visible: false, label: 'ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'userNo', visible: true, label: '工号', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'nickName', visible: true, label: '姓名', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'deptId', visible: true, label: '部门', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'phonenumber', visible: false, label: '手机号码', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'birthday', visible: true, label: '年龄', minWidth: null, sortable: false, overflow: false, align: 'center', width: "100"},
{key: 'employDate', visible: true, label: '工龄', minWidth: null, sortable: false, overflow: false, align: 'center', width: "100"},
{key: 'userName', visible: true, label: '登录账号', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'status', visible: true, label: '账号状态', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'employStatus', visible: true, label: '在职情况', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'remark', visible: true, label: '备注', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'loginIp', visible: false, label: '最后登录IP', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'loginDate', visible: false, label: '最后登录时间', minWidth: null, sortable: false, overflow: false, align: 'center', width: "100"},
{key: 'loginIp', visible: true, label: '最后登录IP', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'loginDate', visible: true, label: '最后登录时间', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'createTime', visible: true, label: '创建时间', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
],
}
},

View File

@ -73,25 +73,6 @@ export const constantRoutes = [
},
]
},
/**
* 新增页
*/
{
path: '/add',
component: Layout,
hidden: true,
children: [
{
path: 'order',
component: () => import('@/views/bst/order/edit/edit.vue'),
name: 'OrderAdd',
meta: {
title: '新增订单',
noCache: false
}
}
]
},
/**
* 编辑页
*/
@ -101,11 +82,11 @@ export const constantRoutes = [
hidden: true,
children: [
{
path: 'order/:id',
path: 'order/:id?',
component: () => import('@/views/bst/order/edit/edit.vue'),
name: 'OrderEdit',
meta: {
title: '修改订单',
title: '编辑订单',
noCache: false
}
}

View File

@ -14,6 +14,10 @@ export const OrderStatus = {
// 允许删除
canDel() {
return [this.PROPOSED];
},
// 允许上报
canAddStore() {
return [this.RELEASED];
}
}

View File

@ -115,6 +115,14 @@
v-has-permi="['bst:order:edit']"
v-show="OrderStatus.canEdit().includes(scope.row.status)"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-check"
@click="handleFinish(scope.row)"
v-has-permi="['bst:order:finish']"
v-show="OrderStatus.canFinished().includes(scope.row.status)"
>完工</el-button>
<el-button
size="mini"
type="text"
@ -139,7 +147,7 @@
</template>
<script>
import { delOrder, listOrder } from '@/api/bst/order'
import { delOrder, finishOrder, listOrder } from '@/api/bst/order'
import FormCol from '@/components/FormCol/index.vue'
import { $showColumns } from '@/utils/mixins'
import { OrderStatus } from '@/utils/enums'
@ -166,14 +174,14 @@ export default {
{key: 'id', visible: true, label: 'ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: "80"},
{key: 'orderNo', visible: true, label: '订单号', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'status', visible: true, label: '订单状态', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'picture', visible: true, label: '主图', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'picture', visible: true, label: '主图', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
{key: 'customer', visible: true, label: '客户', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'deliveryDate', visible: true, label: '交货日期', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'remark', visible: true, label: '备注', minWidth: null, sortable: true, overflow: true, align: 'center', width: null},
{key: 'num', visible: true, label: '数量', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'reportNum', visible: true, label: '已上报', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'storeNum', visible: true, label: '已清点', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'progress', visible: true, label: '进度', minWidth: null, sortable: true, overflow: false, align: 'center', width: "160"},
{key: 'reportNum', visible: true, label: '已上报', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
{key: 'storeNum', visible: true, label: '已清点', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
{key: 'progress', visible: true, label: '进度', minWidth: null, sortable: false, overflow: false, align: 'center', width: "160"},
{key: 'createBy', visible: true, label: '创建人', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'createTime', visible: true, label: '创建时间', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
],
@ -256,12 +264,28 @@ export default {
},
/** 新增按钮操作 */
handleAdd() {
this.$router.push("/add/order");
this.$router.push("/edit/order");
},
/** 修改按钮操作 */
handleUpdate(row) {
this.$router.push(`/edit/order/${row.id}`)
},
//
handleFinish(row) {
this.$confirm(`确定完成订单号为${row.orderNo}的订单吗?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.loading = true;
finishOrder(row.id).then(res => {
this.$modal.msgSuccess("操作成功")
this.getList()
}).catch( e => {
this.loading = false;
})
})
},
handleView(row) {
this.$router.push(`/view/order/${row.id}`)
},

View File

@ -215,7 +215,7 @@ export default {
columns: [
{key: 'id', visible: true, label: 'ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: "80"},
{key: 'orderNo', visible: true, label: '订单', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'picture', visible: true, label: '主图', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'picture', visible: true, label: '主图', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
{key: 'name', visible: true, label: '名称', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'workType', visible: true, label: '加工商', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'materialNo', visible: true, label: '物料编码', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
@ -223,9 +223,9 @@ export default {
{key: 'remark', visible: true, label: '备注', minWidth: null, sortable: true, overflow: true, align: 'center', width: null},
{key: 'isEnd', visible: true, label: '是否成品', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'num', visible: true, label: '数量', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'reportNum', visible: true, label: '已上报', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'storeNum', visible: true, label: '已清点', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'progress', visible: true, label: '进度', minWidth: null, sortable: true, overflow: false, align: 'center', width: "160"},
{key: 'reportNum', visible: true, label: '已上报', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
{key: 'storeNum', visible: true, label: '已清点', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
{key: 'progress', visible: true, label: '进度', minWidth: null, sortable: false, overflow: false, align: 'center', width: "160"},
],
//
orderSorts: ['ascending', 'descending', null],

View File

@ -9,6 +9,13 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="订单状态" prop="orderStatus">
<el-checkbox-group v-model="queryParams.orderStatusList" @change="handleQuery">
<el-checkbox-button v-for="dict in dict.type.order_status" :key="dict.value" :label="dict.value">
{{dict.label}}
</el-checkbox-button>
</el-checkbox-group>
</el-form-item>
<el-form-item label="产品名称" prop="orderProdName">
<el-input
v-model="queryParams.orderProdName"
@ -145,6 +152,9 @@
<template v-else-if="column.key === 'orderNo'">
<order-link :id="d.row.orderId" :name="d.row.orderNo"/>
</template>
<template v-else-if="column.key === 'orderStatus'">
<dict-tag :value="d.row.orderStatus" :options="dict.type.order_status"/>
</template>
<template v-else-if="column.key === 'progress'">
<el-progress :percentage="d.row.progress" :color="ProgressColors" :format="ProgressFormat"/>
</template>
@ -154,7 +164,7 @@
</template>
</el-table-column>
</template>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="!isCustomData">
<template slot-scope="scope">
<el-button
size="mini"
@ -162,6 +172,7 @@
icon="el-icon-plus"
@click="handleStore(scope.row)"
v-has-permi="['bst:store:add']"
v-show="OrderStatus.canAddStore().includes(scope.row.orderStatus)"
>上报入库</el-button>
</template>
</el-table-column>
@ -194,6 +205,7 @@ import StoreEditDialog from '@/views/bst/store/components/StoreEditDialog.vue'
import DeptTreeSelect from '@/components/Business/Dept/DeptTreeSelect.vue'
import { ProgressColors, ProgressFormat } from '@/utils/constants'
import OrderLink from '@/components/Business/Order/OrderLink.vue'
import { OrderStatus } from '@/utils/enums'
//
const defaultSort = {
@ -203,6 +215,7 @@ const defaultSort = {
export default {
name: "ProdProcess",
dicts: ['order_status'],
mixins: [$showColumns],
components: { OrderLink, DeptTreeSelect, StoreEditDialog, BooleanTag, FormCol},
props: {
@ -223,6 +236,7 @@ export default {
},
data() {
return {
OrderStatus,
ProgressColors,
row: {},
showStoreEdit: false,
@ -231,6 +245,7 @@ export default {
columns: [
{key: 'id', visible: true, label: 'ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: "80"},
{key: 'orderNo', visible: true, label: '订单', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'orderStatus', visible: true, label: '订单状态', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'orderProdName', visible: true, label: '产品', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'deptName', visible: true, label: '车间', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'deptProcess', visible: true, label: '工序', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
@ -241,9 +256,9 @@ export default {
{key: 'remark', visible: true, label: '备注', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'isEnd', visible: true, label: '是否最终', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'num', visible: true, label: '数量', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'reportNum', visible: true, label: '已上报', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'storeNum', visible: true, label: '已清点', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'progress', visible: true, label: '进度', minWidth: null, sortable: true, overflow: false, align: 'center', width: "160"},
{key: 'reportNum', visible: true, label: '已上报', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
{key: 'storeNum', visible: true, label: '已清点', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
{key: 'progress', visible: true, label: '进度', minWidth: null, sortable: false, overflow: false, align: 'center', width: "160"},
],
//
orderSorts: ['ascending', 'descending', null],
@ -281,7 +296,8 @@ export default {
color: null,
coverColor: null,
remark: null,
deleted: null
deleted: null,
orderStatusList: [OrderStatus.RELEASED, OrderStatus.FINISHED]
},
//
form: {},
@ -311,6 +327,10 @@ export default {
if (this.isCustomData) {
this.prodProcessList = this.customData;
this.columns.forEach(item => {
item.sortable = false
})
} else {
this.getList();
}

View File

@ -3,7 +3,7 @@
<el-form :model="form" :rules="rules" ref="form" label-width="80px">
<el-row>
<form-col :span="span" label="工序" prop="processId">
<process-input v-model="form.processId" :disabled="processId != null"/>
<process-input v-model="form.processId" :disabled="processId != null" :query="processQuery"/>
</form-col>
<form-col :span="span" label="上报数量" prop="num">
<el-input-number v-model="form.num" :min="0" controls-position="right" style="width: 100%;" placeholder="请输入上报数量"/>
@ -24,6 +24,7 @@
import FormCol from '@/components/FormCol/index.vue'
import ProcessInput from '@/components/Business/Process/ProcessInput.vue'
import { addStore, getStore, updateStore } from '@/api/bst/store'
import { OrderStatus } from '@/utils/enums'
export default {
name: 'StoreEditDialog',
@ -65,6 +66,11 @@ export default {
set(val) {
this.$emit('update:show', val);
}
},
processQuery() {
return {
orderStatusList: [OrderStatus.RELEASED]
}
}
},
methods: {

View File

@ -145,6 +145,9 @@
<template v-else-if="column.key === 'orderNo'">
<order-link :id="d.row.orderId" :name="d.row.orderNo"/>
</template>
<template v-else-if="column.key === 'processIsEnd'">
<boolean-tag :value="d.row.processIsEnd" />
</template>
<template v-else>
{{d.row[column.key]}}
</template>
@ -160,7 +163,7 @@
@click="handleStockIn(scope.row)"
v-has-permi="['bst:store:stockIn']"
v-show="StoreStatus.canStockIn().includes(scope.row.status)"
>入库</el-button>
>清点</el-button>
<el-button
size="mini"
type="text"
@ -200,6 +203,7 @@ import { StoreStatus } from '@/utils/enums'
import DateRangePicker from '@/components/DateRangePicker/index.vue'
import { DatePickerOptions } from '@/utils/constants'
import OrderLink from '@/components/Business/Order/OrderLink.vue'
import BooleanTag from '@/components/BooleanTag/index.vue'
//
const defaultSort = {
@ -216,7 +220,7 @@ export default {
},
mixins: [$showColumns],
dicts: ['store_status'],
components: { OrderLink, DateRangePicker, StoreEditDialog, DeptTreeSelect, FormCol},
components: { BooleanTag, OrderLink, DateRangePicker, StoreEditDialog, DeptTreeSelect, FormCol},
data() {
return {
StoreStatus,
@ -229,14 +233,15 @@ export default {
{key: 'prodName', visible: true, label: '产品名称', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'processDeptName', visible: true, label: '部门', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'deptProcess', visible: true, label: '工序', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'processIsEnd', visible: true, label: '最终工序', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'status', visible: true, label: '状态', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'num', visible: true, label: '上报数量', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'storeNum', visible: true, label: '入库数量', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'storeNum', visible: true, label: '清点数量', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'createBy', visible: true, label: '上报人', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'createTime', visible: true, label: '上报时间', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
{key: 'remark', visible: true, label: '备注', minWidth: null, sortable: true, overflow: true, align: 'center', width: null},
{key: 'storeBy', visible: true, label: '入库人', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'storeTime', visible: true, label: '入库时间', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
{key: 'storeBy', visible: true, label: '清点人', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'storeTime', visible: true, label: '清点时间', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
],
//
orderSorts: ['ascending', 'descending', null],
@ -290,19 +295,22 @@ export default {
methods: {
//
handleStockIn(row) {
this.$prompt('入库数量', '提示', {
this.$prompt('清点数量', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
inputPlaceholder: "请输入入库数量"
inputPlaceholder: "请输入清点数量"
}).then(({ value }) => {
this.$confirm(`确定入库数量${value}吗?`, '提示', {
this.$confirm(`确定清点数量${value}吗?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.loading = true;
stockInStore({id: row.id, storeNum: value}).then(res => {
this.$modal.msgSuccess("入库成功")
this.$modal.msgSuccess("清点成功")
this.getList()
}).catch(e => {
this.loading = false;
})
})
})

View File

@ -19,14 +19,6 @@
/>
</el-select>
</el-form-item>
<el-form-item label="负责人" prop="leaderName">
<el-input
v-model="queryParams.leaderName"
placeholder="请输入负责人名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="负责工序" prop="process">
<el-input
v-model="queryParams.process"
@ -79,7 +71,15 @@
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column prop="leaderName" label="负责人" align="center" />
<el-table-column label="负责人" align="center" >
<template slot-scope="d">
<template v-if="!isEmpty(d.row.leaderList)">
<el-tag type="primary" size="mini" v-for="item of d.row.leaderList">
{{item.nickName | dv}}
</el-tag>
</template>
</template>
</el-table-column>
<el-table-column prop="process" label="负责工序" align="center"/>
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
@ -133,14 +133,14 @@
>{{dict.label}}</el-radio>
</el-radio-group>
</form-col>
<form-col :span="span" label="负责人" prop="leaderId">
<user-input v-model="form.leaderId" />
<form-col :span="span" label="显示排序" prop="orderNum">
<el-input-number v-model="form.orderNum" controls-position="right" :min="0" style="width: 100%" placeholder="请输入显示排序" />
</form-col>
<form-col :span="span" label="负责工序" prop="process">
<el-input v-model="form.process" placeholder="请输入负责工序" />
</form-col>
<form-col :span="span" label="显示排序" prop="orderNum">
<el-input-number v-model="form.orderNum" controls-position="right" :min="0" style="width: 100%" placeholder="请输入显示排序" />
<form-col :span="span" label="负责人" prop="leaderId">
<user-input v-model="form.leaderIds" multiple/>
</form-col>
</el-row>
</el-form>
@ -158,6 +158,7 @@ import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import UserInput from '@/components/Business/User/UserInput.vue'
import FormCol from '@/components/FormCol/index.vue'
import { isEmpty } from '@/utils'
export default {
name: "Dept",
@ -223,6 +224,7 @@ export default {
this.getList();
},
methods: {
isEmpty,
/** 查询部门列表 */
getList() {
this.loading = true;
@ -257,7 +259,8 @@ export default {
leader: undefined,
phone: undefined,
email: undefined,
status: "0"
status: "0",
leaderIds: []
};
this.resetForm("form");
},

View File

@ -99,10 +99,10 @@
<el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="角色编号" prop="roleId" width="120" />
<el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true" width="150" />
<el-table-column label="权限字符" prop="roleKey" :show-overflow-tooltip="true" width="150" />
<el-table-column label="显示顺序" prop="roleSort" width="100" />
<el-table-column label="角色编号" prop="roleId" width="120" align="center" />
<el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true" width="150" align="center" />
<el-table-column label="权限字符" prop="roleKey" :show-overflow-tooltip="true" width="150" align="center" />
<el-table-column label="显示顺序" prop="roleSort" width="100" align="center"/>
<el-table-column label="状态" align="center" width="100">
<template slot-scope="scope">
<el-switch
@ -113,11 +113,8 @@
></el-switch>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark" show-overflow-tooltip align="center"/>
<el-table-column label="创建时间" align="center" prop="createTime" width="180"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope" v-if="scope.row.roleId !== 1">
<el-button
@ -263,6 +260,7 @@ import {
updateRole
} from '@/api/system/role'
import { roleMenuTreeselect, treeselect as menuTreeselect } from '@/api/system/menu'
import { parseTime } from '../../../utils/ruoyi'
export default {
name: "Role",
@ -316,6 +314,10 @@ export default {
{
value: "5",
label: "仅本人数据权限"
},
{
value: "6",
label: "负责部门数据权限"
}
],
//
@ -354,6 +356,7 @@ export default {
this.getList();
},
methods: {
parseTime,
/** 查询角色列表 */
getList() {
this.loading = true;

View File

@ -39,10 +39,10 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="手机号码" prop="phonenumber">
<el-form-item label="登录账号" prop="userName">
<el-input
v-model="queryParams.phonenumber"
placeholder="请输入手机号码"
v-model="queryParams.userName"
placeholder="请输入登录账号"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
@ -54,6 +54,7 @@
placeholder="用户状态"
clearable
style="width: 240px"
@change="handleQuery"
>
<el-option
v-for="dict in dict.type.sys_normal_disable"
@ -72,6 +73,7 @@
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="handleQuery"
></el-date-picker>
</el-form-item>
<el-form-item>