This commit is contained in:
parent
9e15ac71a9
commit
276341dadc
|
@ -0,0 +1,86 @@
|
||||||
|
export interface ComplaintsAndEvaluations{
|
||||||
|
userAccount?:string,
|
||||||
|
phone?:string | number,
|
||||||
|
content?:string,
|
||||||
|
title?:string,
|
||||||
|
complaintTypes?:string,
|
||||||
|
uploadVoucher?:string,
|
||||||
|
stateProcessing?:string,
|
||||||
|
commitTime?:string,
|
||||||
|
associatedWindow?:string
|
||||||
|
}
|
||||||
|
|
||||||
|
const complaintsAndEvaluationsData:ComplaintsAndEvaluations[] = [
|
||||||
|
{
|
||||||
|
userAccount:'1452466452',
|
||||||
|
phone:'13575462541',
|
||||||
|
content:'辣椒炒肉没有肉,只有辣椒,并且菜品里面还有头发丝',
|
||||||
|
title:'卫生投诉',
|
||||||
|
complaintTypes:'卫生不达标',
|
||||||
|
uploadVoucher:'',
|
||||||
|
stateProcessing:'未处理',
|
||||||
|
commitTime:'2025-5-16 14:12:21',
|
||||||
|
associatedWindow:'3号窗口'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
userAccount:'145485685',
|
||||||
|
phone:'13575462551',
|
||||||
|
content:'碗筷消毒没有消干净,还留有残渣',
|
||||||
|
title:'卫生投诉',
|
||||||
|
complaintTypes:'卫生不达标',
|
||||||
|
uploadVoucher:'',
|
||||||
|
stateProcessing:'未处理',
|
||||||
|
commitTime:'2025-5-16 14:12:21',
|
||||||
|
associatedWindow:'4号窗口'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export interface evaluationType{
|
||||||
|
evaluationId?:string,
|
||||||
|
content?:string,
|
||||||
|
auditStatus?:{
|
||||||
|
value?:number,
|
||||||
|
label?:string
|
||||||
|
},
|
||||||
|
anonymous?:string,
|
||||||
|
comprehensiveScore?:string,
|
||||||
|
image?:string,
|
||||||
|
associatedWindowEvaluation?:string,
|
||||||
|
commitTimeEvaluation?:string,
|
||||||
|
author?:string
|
||||||
|
}
|
||||||
|
|
||||||
|
const evaluationTypeData:evaluationType[] = [
|
||||||
|
{
|
||||||
|
evaluationId:'123152313',
|
||||||
|
author:'青青子衿',
|
||||||
|
content:'菜品味道不错,但排队时间太长',
|
||||||
|
auditStatus:{
|
||||||
|
value:1,
|
||||||
|
label:'已公开'
|
||||||
|
},
|
||||||
|
anonymous:'否',
|
||||||
|
comprehensiveScore:'4星',
|
||||||
|
image:'',
|
||||||
|
associatedWindowEvaluation:'一号窗口',
|
||||||
|
commitTimeEvaluation:'2025-5-16 14:52:10'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
evaluationId:'123152313',
|
||||||
|
author:'悠悠我心',
|
||||||
|
content:'菜品味道不错,色香味俱全,卫生也是相当干净,点赞',
|
||||||
|
auditStatus:{
|
||||||
|
value:0,
|
||||||
|
label:'待审核'
|
||||||
|
},
|
||||||
|
anonymous:'否',
|
||||||
|
comprehensiveScore:'5星',
|
||||||
|
image:'',
|
||||||
|
associatedWindowEvaluation:'二号窗口',
|
||||||
|
commitTimeEvaluation:'2025-5-16 14:52:10'
|
||||||
|
},
|
||||||
|
|
||||||
|
]
|
||||||
|
export default {complaintsAndEvaluationsData,evaluationTypeData}
|
|
@ -1,4 +1,288 @@
|
||||||
<template>
|
<template>
|
||||||
<div>投诉与评价</div>
|
<div>
|
||||||
|
<n-card style="margin-bottom:16px">
|
||||||
|
<n-tabs type="line" animated>
|
||||||
|
<n-tab-pane name="用户反馈" tab="用户反馈">
|
||||||
|
<TablePro
|
||||||
|
ref="tableRef"
|
||||||
|
:request-api="reqApi"
|
||||||
|
:search-form-options="complaintsAndEvaluations"
|
||||||
|
:columns="columns"
|
||||||
|
:isPageTable="true"
|
||||||
|
:single-line="false"
|
||||||
|
>
|
||||||
|
<template #headerExtra>
|
||||||
|
<n-button style="margin-left: 10px">一键导出</n-button>
|
||||||
|
</template>
|
||||||
|
</TablePro>
|
||||||
|
</n-tab-pane>
|
||||||
|
<n-tab-pane name="评价" tab="评价">
|
||||||
|
<TablePro
|
||||||
|
ref="tableRef"
|
||||||
|
:request-api="reqApiEvaluation"
|
||||||
|
:search-form-options="complaintsAndEvaluationsEvaluation"
|
||||||
|
:columns="columnsEvaluation"
|
||||||
|
:isPageTable="true"
|
||||||
|
:single-line="false"
|
||||||
|
>
|
||||||
|
<template #headerExtra>
|
||||||
|
<n-button style="margin-left: 10px">一键导出</n-button>
|
||||||
|
</template>
|
||||||
|
</TablePro>
|
||||||
|
</n-tab-pane>
|
||||||
|
</n-tabs>
|
||||||
|
</n-card>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup></script>
|
<script setup lang="tsx">
|
||||||
|
import { TablePro, type TableProProps } from "@/components";
|
||||||
|
import { type FormInst, NPerformantEllipsis, NPopconfirm, NTag, useModal } from "naive-ui";
|
||||||
|
import { reactive, ref } from "vue";
|
||||||
|
import { type ComplaintsAndEvaluations, type evaluationType } from "@/views/ComplaintsAndEvaluations/index.ts";
|
||||||
|
import andEvaluations from "@/views/ComplaintsAndEvaluations/index.ts";
|
||||||
|
|
||||||
|
type TableType = TableProProps<any, any>;
|
||||||
|
|
||||||
|
// 投诉
|
||||||
|
const reqApi: TableType["requestApi"] = (params) => {
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
resolve({
|
||||||
|
code: 200,
|
||||||
|
data: {
|
||||||
|
current: "1",
|
||||||
|
// @ts-ignore
|
||||||
|
pages: "2",
|
||||||
|
records: andEvaluations.complaintsAndEvaluationsData,
|
||||||
|
size: "10",
|
||||||
|
total: "12"
|
||||||
|
},
|
||||||
|
message: "操作成功!"
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const complaintsAndEvaluations = reactive<TableType["searchFormOptions"]>({
|
||||||
|
time: {
|
||||||
|
type: "datePicker",
|
||||||
|
label: "时间"
|
||||||
|
},
|
||||||
|
userName: {
|
||||||
|
type: "input",
|
||||||
|
label: "用户账号"
|
||||||
|
},
|
||||||
|
complaintTypes: {
|
||||||
|
type: "select",
|
||||||
|
label: "投诉类型",
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
value: "",
|
||||||
|
label: ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const columns = ref<TableType["columns"]>([
|
||||||
|
{
|
||||||
|
key: "userAccount",
|
||||||
|
title: "用户账号"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "uploadVoucher",
|
||||||
|
title: "上传凭证"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "phone",
|
||||||
|
title: "联系方式"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "content",
|
||||||
|
title: "内容"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "associatedWindow",
|
||||||
|
title: "关联窗口/档口"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "title",
|
||||||
|
title: "标题"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "complaintTypes",
|
||||||
|
title: "投诉类型"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "stateProcessing",
|
||||||
|
title: "处理状态",
|
||||||
|
render: (value: any) => {
|
||||||
|
return (
|
||||||
|
<n-tag type="error">{value.stateProcessing}</n-tag>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "commitTime",
|
||||||
|
title: "提交时间"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "",
|
||||||
|
title: "操作",
|
||||||
|
render: (value: ComplaintsAndEvaluations) => {
|
||||||
|
return (
|
||||||
|
<div style={{ display: "flex" }}>
|
||||||
|
<n-button
|
||||||
|
strong
|
||||||
|
secondary
|
||||||
|
type="primary"
|
||||||
|
>
|
||||||
|
审核通过
|
||||||
|
</n-button>
|
||||||
|
<NPopconfirm
|
||||||
|
onPositiveClick={async () => {
|
||||||
|
}}
|
||||||
|
onNegativeClick={() => {
|
||||||
|
}}
|
||||||
|
showIcon={false}
|
||||||
|
>
|
||||||
|
{{
|
||||||
|
trigger: () => (
|
||||||
|
<n-button
|
||||||
|
strong
|
||||||
|
secondary
|
||||||
|
style={{ marginLeft: "10px" }}
|
||||||
|
type="error"
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</n-button>
|
||||||
|
),
|
||||||
|
default: () => "确认要除么?"
|
||||||
|
}}
|
||||||
|
</NPopconfirm>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
|
||||||
|
|
||||||
|
//评价
|
||||||
|
const reqApiEvaluation: TableType["requestApi"] = (params) => {
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
resolve({
|
||||||
|
code: 200,
|
||||||
|
data: {
|
||||||
|
current: "1",
|
||||||
|
// @ts-ignore
|
||||||
|
pages: "2",
|
||||||
|
records: andEvaluations.evaluationTypeData,
|
||||||
|
size: "10",
|
||||||
|
total: "12"
|
||||||
|
},
|
||||||
|
message: "操作成功!"
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const complaintsAndEvaluationsEvaluation = reactive<TableType["searchFormOptions"]>({
|
||||||
|
time: {
|
||||||
|
type: "datePicker",
|
||||||
|
label: "时间"
|
||||||
|
},
|
||||||
|
auditStatus: {
|
||||||
|
type: "select",
|
||||||
|
label: "审核状态",
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
value: 0,
|
||||||
|
label: "待审核"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 1,
|
||||||
|
label: "已公开"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 2,
|
||||||
|
label: "已隐藏"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const columnsEvaluation = ref<TableType["columns"]>([
|
||||||
|
{
|
||||||
|
key: "evaluationId",
|
||||||
|
title: "评价ID"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "author",
|
||||||
|
title: "提交人"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "auditStatus",
|
||||||
|
title: "审核状态",
|
||||||
|
render: (value: any) => {
|
||||||
|
return (
|
||||||
|
<n-tag
|
||||||
|
type={value.auditStatus.value === 0 ? "warning" : value.auditStatus.value === 1 ? "success" : "info"}>{value.auditStatus.label}</n-tag>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "anonymous",
|
||||||
|
title: "是否匿名"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "comprehensiveScore",
|
||||||
|
title: "综合评分"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "content",
|
||||||
|
title: "评价内容"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "image",
|
||||||
|
title: "图片"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "associatedWindowEvaluation",
|
||||||
|
title: "关联窗口/档口"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "commitTimeEvaluation",
|
||||||
|
title: "提交时间"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "",
|
||||||
|
title: "操作",
|
||||||
|
render: (value: evaluationType) => {
|
||||||
|
return (
|
||||||
|
<div style={{ display: "flex" }}>
|
||||||
|
<n-button strong secondary type="primary">审核通过</n-button>
|
||||||
|
<n-button strong secondary type="warning" style={{ marginLeft: "10px" }}>隐藏</n-button>
|
||||||
|
<NPopconfirm
|
||||||
|
onPositiveClick={async () => {
|
||||||
|
}}
|
||||||
|
onNegativeClick={() => {
|
||||||
|
}}
|
||||||
|
showIcon={false}
|
||||||
|
>
|
||||||
|
{{
|
||||||
|
trigger: () => (
|
||||||
|
<n-button
|
||||||
|
strong
|
||||||
|
secondary
|
||||||
|
style={{ marginLeft: "10px" }}
|
||||||
|
type="error"
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</n-button>
|
||||||
|
),
|
||||||
|
default: () => "确认要除么?"
|
||||||
|
}}
|
||||||
|
</NPopconfirm>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
</script>
|
||||||
|
|
|
@ -254,7 +254,8 @@ export interface ElectronicScale {
|
||||||
outOfRange?:string,
|
outOfRange?:string,
|
||||||
unit?:string,
|
unit?:string,
|
||||||
deviceModel?:string,
|
deviceModel?:string,
|
||||||
serialNumber?:string
|
serialNumber?:string,
|
||||||
|
image?:string
|
||||||
}
|
}
|
||||||
|
|
||||||
const dataListElectronicScale:ElectronicScale[] = [
|
const dataListElectronicScale:ElectronicScale[] = [
|
||||||
|
@ -268,7 +269,8 @@ const dataListElectronicScale:ElectronicScale[] = [
|
||||||
outOfRange:'正常',
|
outOfRange:'正常',
|
||||||
deviceModel:'ES-2000',
|
deviceModel:'ES-2000',
|
||||||
serialNumber:'SN123456789',
|
serialNumber:'SN123456789',
|
||||||
weighingTime:'2025-5-10 14:15:20'
|
weighingTime:'2025-5-10 14:15:20',
|
||||||
|
image:'https://wx.wy2020.com/assets/common/images/404.png'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
personInCharge:'刘某',
|
personInCharge:'刘某',
|
||||||
|
@ -280,7 +282,8 @@ const dataListElectronicScale:ElectronicScale[] = [
|
||||||
outOfRange:'正常',
|
outOfRange:'正常',
|
||||||
deviceModel:'ES-2000',
|
deviceModel:'ES-2000',
|
||||||
serialNumber:'SN123456789',
|
serialNumber:'SN123456789',
|
||||||
weighingTime:'2025-5-10 14:15:20'
|
weighingTime:'2025-5-10 14:15:20',
|
||||||
|
image:'https://wx.wy2020.com/assets/common/images/404.png'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
personInCharge:'张某',
|
personInCharge:'张某',
|
||||||
|
@ -292,7 +295,8 @@ const dataListElectronicScale:ElectronicScale[] = [
|
||||||
outOfRange:'正常',
|
outOfRange:'正常',
|
||||||
deviceModel:'ES-2000',
|
deviceModel:'ES-2000',
|
||||||
serialNumber:'SN123456789',
|
serialNumber:'SN123456789',
|
||||||
weighingTime:'2025-5-10 14:15:20'
|
weighingTime:'2025-5-10 14:15:20',
|
||||||
|
image:'https://wx.wy2020.com/assets/common/images/404.png'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
personInCharge:'李某',
|
personInCharge:'李某',
|
||||||
|
@ -304,7 +308,8 @@ const dataListElectronicScale:ElectronicScale[] = [
|
||||||
outOfRange:'正常',
|
outOfRange:'正常',
|
||||||
deviceModel:'ES-2000',
|
deviceModel:'ES-2000',
|
||||||
serialNumber:'SN123456789',
|
serialNumber:'SN123456789',
|
||||||
weighingTime:'2025-5-10 14:15:20'
|
weighingTime:'2025-5-10 14:15:20',
|
||||||
|
image:'https://wx.wy2020.com/assets/common/images/404.png'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -60,9 +60,9 @@
|
||||||
Icon
|
Icon
|
||||||
} from "@/components";
|
} from "@/components";
|
||||||
import { type FormInst, NPerformantEllipsis, NPopconfirm, NTag, useModal } from "naive-ui";
|
import { type FormInst, NPerformantEllipsis, NPopconfirm, NTag, useModal } from "naive-ui";
|
||||||
import { type HardwareData,type ElectronicScale } from "@/views/hardwareData/index.ts";
|
import { type HardwareData, type ElectronicScale } from "@/views/hardwareData/index.ts";
|
||||||
import hardwareData from "@/views/hardwareData/index.ts";
|
import hardwareData from "@/views/hardwareData/index.ts";
|
||||||
import { ref,reactive } from "vue";
|
import { ref, reactive } from "vue";
|
||||||
|
|
||||||
const tableRef = useTemplateRef<TableProInst>("tableRef");
|
const tableRef = useTemplateRef<TableProInst>("tableRef");
|
||||||
const modal = useModal();
|
const modal = useModal();
|
||||||
|
@ -87,25 +87,25 @@
|
||||||
const searchFormOptions = reactive<TableType["searchFormOptions"]>({
|
const searchFormOptions = reactive<TableType["searchFormOptions"]>({
|
||||||
time: {
|
time: {
|
||||||
type: "datePicker",
|
type: "datePicker",
|
||||||
label: "时间",
|
label: "时间"
|
||||||
},
|
},
|
||||||
userName:{
|
userName: {
|
||||||
type:'input',
|
type: "input",
|
||||||
label: "员工姓名"
|
label: "员工姓名"
|
||||||
},
|
}
|
||||||
});
|
});
|
||||||
const columns = ref<TableType["columns"]>([
|
const columns = ref<TableType["columns"]>([
|
||||||
{
|
{
|
||||||
key:'userName',
|
key: "userName",
|
||||||
title:'员工姓名'
|
title: "员工姓名"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'temperature',
|
key: "temperature",
|
||||||
title:'体温'
|
title: "体温"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'bodyImageUrl',
|
key: "bodyImageUrl",
|
||||||
title:'衣着图片',
|
title: "衣着图片",
|
||||||
render: (value: any) => {
|
render: (value: any) => {
|
||||||
return (
|
return (
|
||||||
<n-image
|
<n-image
|
||||||
|
@ -116,8 +116,8 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'handImageUrl',
|
key: "handImageUrl",
|
||||||
title:'手心图片',
|
title: "手心图片",
|
||||||
render: (value: any) => {
|
render: (value: any) => {
|
||||||
return (
|
return (
|
||||||
<n-image
|
<n-image
|
||||||
|
@ -128,8 +128,8 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'handbackImageUrl',
|
key: "handbackImageUrl",
|
||||||
title:'手背图片',
|
title: "手背图片",
|
||||||
render: (value: any) => {
|
render: (value: any) => {
|
||||||
return (
|
return (
|
||||||
<n-image
|
<n-image
|
||||||
|
@ -140,8 +140,8 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'headImageUrl',
|
key: "headImageUrl",
|
||||||
title:'头部图片',
|
title: "头部图片",
|
||||||
render: (value: any) => {
|
render: (value: any) => {
|
||||||
return (
|
return (
|
||||||
<n-image
|
<n-image
|
||||||
|
@ -152,8 +152,8 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'diseases',
|
key: "diseases",
|
||||||
title:'健康状态',
|
title: "健康状态",
|
||||||
render: (value: any) => {
|
render: (value: any) => {
|
||||||
return (
|
return (
|
||||||
<n-tag type="success">
|
<n-tag type="success">
|
||||||
|
@ -163,8 +163,8 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'checkResultStr',
|
key: "checkResultStr",
|
||||||
title:'晨检结果',
|
title: "晨检结果",
|
||||||
render: (value: any) => {
|
render: (value: any) => {
|
||||||
return (
|
return (
|
||||||
<n-tag type="success">
|
<n-tag type="success">
|
||||||
|
@ -174,7 +174,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'checkInTime',
|
key: "checkInTime",
|
||||||
title: "打卡时间"
|
title: "打卡时间"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -185,61 +185,43 @@
|
||||||
key: "",
|
key: "",
|
||||||
title: "操作",
|
title: "操作",
|
||||||
width: 200,
|
width: 200,
|
||||||
render: (value:HardwareData) => {
|
render: (value: HardwareData) => {
|
||||||
return (
|
return (
|
||||||
<div style={{ display: "flex" }}>
|
<div style={{ display: "flex" }}>
|
||||||
<n-button>查看</n-button>
|
<n-button strong
|
||||||
<NPopconfirm
|
secondary
|
||||||
onPositiveClick={async () => {
|
type="primary">查看
|
||||||
}}
|
</n-button>
|
||||||
onNegativeClick={() => {
|
|
||||||
}}
|
|
||||||
showIcon={false}
|
|
||||||
>
|
|
||||||
{{
|
|
||||||
trigger: () => (
|
|
||||||
<n-button
|
|
||||||
strong
|
|
||||||
secondary
|
|
||||||
style={{ marginLeft: "10px" }}
|
|
||||||
type="error"
|
|
||||||
>
|
|
||||||
删除
|
|
||||||
</n-button>
|
|
||||||
),
|
|
||||||
default: () => "确认要除么?"
|
|
||||||
}}
|
|
||||||
</NPopconfirm>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
const workAccountsValueList = {
|
const workAccountsValueList = {
|
||||||
bodyImage:"",
|
bodyImage: "",
|
||||||
bodyImageUrl :"",
|
bodyImageUrl: "",
|
||||||
checkResultStr:"",
|
checkResultStr: "",
|
||||||
checkStatusStr:"",
|
checkStatusStr: "",
|
||||||
createTime:"",
|
createTime: "",
|
||||||
createTimeStr:"",
|
createTimeStr: "",
|
||||||
diseases:"",
|
diseases: "",
|
||||||
handImageUrl:"",
|
handImageUrl: "",
|
||||||
handbackImageUrl:"",
|
handbackImageUrl: "",
|
||||||
headImageUrl :"",
|
headImageUrl: "",
|
||||||
isDefault:true,
|
isDefault: true,
|
||||||
sexStr:"",
|
sexStr: "",
|
||||||
temperature:"",
|
temperature: "",
|
||||||
updateTime :"",
|
updateTime: "",
|
||||||
userName:"",
|
userName: ""
|
||||||
}
|
};
|
||||||
const userValue = ref<HardwareData>({
|
const userValue = ref<HardwareData>({
|
||||||
...workAccountsValueList
|
...workAccountsValueList
|
||||||
});
|
});
|
||||||
const resetModelValue = () => {
|
const resetModelValue = () => {
|
||||||
userValue.value = { ...workAccountsValueList };
|
userValue.value = { ...workAccountsValueList };
|
||||||
title.value = '添加晨检记录'
|
title.value = "添加晨检记录";
|
||||||
};
|
};
|
||||||
const addUserOrUpdate = () => {
|
const addUserOrUpdate = () => {
|
||||||
forms.value?.validate().then(() => {
|
forms.value?.validate().then(() => {
|
||||||
// loading.value = true
|
// loading.value = true
|
||||||
|
|
||||||
|
@ -298,7 +280,7 @@
|
||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// 电子秤
|
// 电子秤
|
||||||
|
|
||||||
|
|
||||||
const reqApiElectronicScale: TableType["requestApi"] = (params) => {
|
const reqApiElectronicScale: TableType["requestApi"] = (params) => {
|
||||||
|
@ -321,94 +303,84 @@
|
||||||
const searchFormOptionsElectronicScale = reactive<TableType["searchFormOptions"]>({
|
const searchFormOptionsElectronicScale = reactive<TableType["searchFormOptions"]>({
|
||||||
time: {
|
time: {
|
||||||
type: "datePicker",
|
type: "datePicker",
|
||||||
label: "时间",
|
label: "时间"
|
||||||
},
|
},
|
||||||
userName:{
|
userName: {
|
||||||
type:'input',
|
type: "input",
|
||||||
label: "负责人"
|
label: "负责人"
|
||||||
},
|
}
|
||||||
});
|
});
|
||||||
const columnsElectronicScale = ref<TableType["columns"]>([
|
const columnsElectronicScale = ref<TableType["columns"]>([
|
||||||
{
|
{
|
||||||
key:'personInCharge',
|
key: "personInCharge",
|
||||||
title:'负责人'
|
title: "负责人"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'deviceModel',
|
key: "image",
|
||||||
title:'设备型号'
|
title: "食材图片",
|
||||||
|
render: (value: any) => {
|
||||||
|
return (
|
||||||
|
<n-image
|
||||||
|
width="30"
|
||||||
|
src={value.image}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'unit',
|
key: "deviceModel",
|
||||||
title:'单位'
|
title: "设备型号"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'serialNumber',
|
key: "unit",
|
||||||
title:'序列号'
|
title: "单位"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'nameOfIngredients',
|
key: "serialNumber",
|
||||||
title:'食材名称'
|
title: "序列号"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'quantityOfIngredients',
|
key: "nameOfIngredients",
|
||||||
title:'食材数量'
|
title: "食材名称"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'weight',
|
key: "quantityOfIngredients",
|
||||||
title:'重量值'
|
title: "食材数量"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'steadyState',
|
key: "weight",
|
||||||
title:'重量是否稳定'
|
title: "重量值"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'outOfRange',
|
key: "steadyState",
|
||||||
title:'是否超出量程范围'
|
title: "重量是否稳定"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'weighingTime',
|
key: "outOfRange",
|
||||||
title:'称重时间'
|
title: "是否超出量程范围"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'',
|
key: "weighingTime",
|
||||||
title:'操作',
|
title: "称重时间"
|
||||||
render:(value:ElectronicScale)=>{
|
},
|
||||||
return (
|
{
|
||||||
<div style={{ display: "flex" }}>
|
key: "",
|
||||||
<n-button
|
title: "操作",
|
||||||
strong
|
render: (value: ElectronicScale) => {
|
||||||
secondary
|
return (
|
||||||
type="primary"
|
<div style={{ display: "flex" }}>
|
||||||
>
|
<n-button
|
||||||
查看
|
strong
|
||||||
</n-button>
|
secondary
|
||||||
<NPopconfirm
|
type="primary"
|
||||||
onPositiveClick={async () => {
|
>
|
||||||
}}
|
查看
|
||||||
onNegativeClick={() => {
|
</n-button>
|
||||||
}}
|
</div>
|
||||||
showIcon={false}
|
);
|
||||||
>
|
|
||||||
{{
|
|
||||||
trigger: () => (
|
|
||||||
<n-button
|
|
||||||
strong
|
|
||||||
secondary
|
|
||||||
style={{ marginLeft: "10px" }}
|
|
||||||
type="error"
|
|
||||||
>
|
|
||||||
删除
|
|
||||||
</n-button>
|
|
||||||
),
|
|
||||||
default: () => "确认要除么?"
|
|
||||||
}}
|
|
||||||
</NPopconfirm>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
])
|
]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const reqApiCameraDate: TableType["requestApi"] = (params) => {
|
const reqApiCameraDate: TableType["requestApi"] = (params) => {
|
||||||
|
@ -431,25 +403,25 @@
|
||||||
const searchFormOptionsCameraDate = reactive<TableType["searchFormOptions"]>({
|
const searchFormOptionsCameraDate = reactive<TableType["searchFormOptions"]>({
|
||||||
time: {
|
time: {
|
||||||
type: "datePicker",
|
type: "datePicker",
|
||||||
label: "时间",
|
label: "时间"
|
||||||
},
|
},
|
||||||
userName:{
|
userName: {
|
||||||
type:'input',
|
type: "input",
|
||||||
label: "摄像头名称"
|
label: "摄像头名称"
|
||||||
},
|
}
|
||||||
});
|
});
|
||||||
const columnsCameraDate = ref<TableType["columns"]>([
|
const columnsCameraDate = ref<TableType["columns"]>([
|
||||||
{
|
{
|
||||||
key:'id',
|
key: "id",
|
||||||
title:'ID'
|
title: "ID"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'cameraName',
|
key: "cameraName",
|
||||||
title:'摄像头名称'
|
title: "摄像头名称"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'images',
|
key: "images",
|
||||||
title:'现场图片',
|
title: "现场图片",
|
||||||
render: (value: any) => {
|
render: (value: any) => {
|
||||||
return (
|
return (
|
||||||
<n-image
|
<n-image
|
||||||
|
@ -460,12 +432,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'videoChannel',
|
key: "videoChannel",
|
||||||
title:'视频通道id'
|
title: "视频通道id"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'states',
|
key: "states",
|
||||||
title:'状态',
|
title: "状态",
|
||||||
render: (value: any) => {
|
render: (value: any) => {
|
||||||
return (
|
return (
|
||||||
<n-tag type="success">
|
<n-tag type="success">
|
||||||
|
@ -475,25 +447,25 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'cameraID',
|
key: "cameraID",
|
||||||
title:'录像机ID'
|
title: "录像机ID"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'updatedBy',
|
key: "updatedBy",
|
||||||
title:'更新人'
|
title: "更新人"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'founder',
|
key: "founder",
|
||||||
title:'创建人'
|
title: "创建人"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'updateTime',
|
key: "updateTime",
|
||||||
title:'更新时间'
|
title: "更新时间"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key:'',
|
key: "",
|
||||||
title:'操作',
|
title: "操作",
|
||||||
render:(value:ElectronicScale)=>{
|
render: (value: ElectronicScale) => {
|
||||||
return (
|
return (
|
||||||
<div style={{ display: "flex" }}>
|
<div style={{ display: "flex" }}>
|
||||||
<n-button
|
<n-button
|
||||||
|
@ -503,31 +475,10 @@
|
||||||
>
|
>
|
||||||
查看
|
查看
|
||||||
</n-button>
|
</n-button>
|
||||||
<NPopconfirm
|
|
||||||
onPositiveClick={async () => {
|
|
||||||
}}
|
|
||||||
onNegativeClick={() => {
|
|
||||||
}}
|
|
||||||
showIcon={false}
|
|
||||||
>
|
|
||||||
{{
|
|
||||||
trigger: () => (
|
|
||||||
<n-button
|
|
||||||
strong
|
|
||||||
secondary
|
|
||||||
style={{ marginLeft: "10px" }}
|
|
||||||
type="error"
|
|
||||||
>
|
|
||||||
删除
|
|
||||||
</n-button>
|
|
||||||
),
|
|
||||||
default: () => "确认要除么?"
|
|
||||||
}}
|
|
||||||
</NPopconfirm>
|
|
||||||
</div>
|
</div>
|
||||||
)
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
])
|
]);
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss"></style>
|
<style scoped lang="scss"></style>
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
export interface purchaseOrderType{
|
||||||
|
applicant?:string,
|
||||||
|
contactNumber?:string,
|
||||||
|
orderNumber?:string,
|
||||||
|
supplierName?:string,
|
||||||
|
book_Date?:string,
|
||||||
|
deliveryAddress?:string,
|
||||||
|
latestDeliveryTime?:string,
|
||||||
|
itemName?:string,
|
||||||
|
specifications?:string,
|
||||||
|
itemNumber?:string,
|
||||||
|
unitPrice?:string
|
||||||
|
TotalPrice?:string
|
||||||
|
Remarks?:string
|
||||||
|
}
|
||||||
|
|
||||||
|
const purchaseOrderData:purchaseOrderType[] = [
|
||||||
|
{
|
||||||
|
applicant:'王经理',
|
||||||
|
contactNumber:'13575462514',
|
||||||
|
orderNumber:'CG-20250516-001',
|
||||||
|
supplierName:'XX粮油有限公司',
|
||||||
|
book_Date:'2025-5-16 14:35:12',
|
||||||
|
deliveryAddress:'XX大学南门仓库',
|
||||||
|
latestDeliveryTime:'2025-5-22 00:00:00',
|
||||||
|
itemName:'金龙鱼',
|
||||||
|
specifications:'5L/桶',
|
||||||
|
itemNumber:'20',
|
||||||
|
unitPrice:'¥50',
|
||||||
|
TotalPrice:"¥1000",
|
||||||
|
Remarks:'非转基因'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
applicant:'王经理',
|
||||||
|
contactNumber:'13575462514',
|
||||||
|
orderNumber:'CG-20250517-001',
|
||||||
|
supplierName:'XX农副产品有限公司”',
|
||||||
|
book_Date:'2025-5-17 14:35:12',
|
||||||
|
deliveryAddress:'XX大学南门仓库',
|
||||||
|
latestDeliveryTime:'2025-5-22 00:00:00',
|
||||||
|
itemName:'红胡萝卜',
|
||||||
|
specifications:'100斤',
|
||||||
|
itemNumber:'1袋',
|
||||||
|
unitPrice:'¥5',
|
||||||
|
TotalPrice:"¥500",
|
||||||
|
Remarks:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
applicant:'王经理',
|
||||||
|
contactNumber:'13575462514',
|
||||||
|
orderNumber:'CG-20250518-001',
|
||||||
|
supplierName:'XX农副产品有限公司”',
|
||||||
|
book_Date:'2025-5-18 14:35:12',
|
||||||
|
deliveryAddress:'XX大学南门仓库',
|
||||||
|
latestDeliveryTime:'2025-5-22 00:00:00',
|
||||||
|
itemName:'苹果',
|
||||||
|
specifications:'100斤',
|
||||||
|
itemNumber:'5箱',
|
||||||
|
unitPrice:'¥6',
|
||||||
|
TotalPrice:"¥600",
|
||||||
|
Remarks:''
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
export default purchaseOrderData
|
|
@ -1,4 +1,265 @@
|
||||||
|
<!-- 采购计划 -->
|
||||||
<template>
|
<template>
|
||||||
<div>采购订单下发</div>
|
<div>
|
||||||
|
<TablePro
|
||||||
|
ref="tableRef"
|
||||||
|
:request-api="reqApi"
|
||||||
|
:search-form-options="searchFormOptions"
|
||||||
|
:columns="columns"
|
||||||
|
:isPageTable="true"
|
||||||
|
:single-line="false"
|
||||||
|
>
|
||||||
|
<template #headerExtra>
|
||||||
|
<n-button
|
||||||
|
strong
|
||||||
|
secondary
|
||||||
|
type="primary"
|
||||||
|
@click="addPurchaseOrder"
|
||||||
|
>
|
||||||
|
添加
|
||||||
|
</n-button>
|
||||||
|
<n-button style="margin-left: 10px">一键采购</n-button>
|
||||||
|
</template>
|
||||||
|
</TablePro>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script setup></script>
|
<script setup lang="tsx">
|
||||||
|
import {
|
||||||
|
TablePro,
|
||||||
|
type TableProProps,
|
||||||
|
FormPro,
|
||||||
|
type FormItemOptions,
|
||||||
|
type TableProInst,
|
||||||
|
Icon
|
||||||
|
} from "@/components";
|
||||||
|
import { type FormInst, NPerformantEllipsis, NPopconfirm, NTag, useModal } from "naive-ui";
|
||||||
|
import purchaseOrderData, { type purchaseOrderType } from "@/views/personnelManagement/purchaseOrder/index.ts";
|
||||||
|
import { ref,reactive } from "vue";
|
||||||
|
|
||||||
|
const tableRef = useTemplateRef<TableProInst>("tableRef");
|
||||||
|
const modal = useModal();
|
||||||
|
const form = ref<FormInst | null>(null);
|
||||||
|
const reqApi: TableType["requestApi"] = (params) => {
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
resolve({
|
||||||
|
code: 200,
|
||||||
|
data: {
|
||||||
|
current: "1",
|
||||||
|
// @ts-ignore
|
||||||
|
pages: "2",
|
||||||
|
records: purchaseOrderData,
|
||||||
|
size: "10",
|
||||||
|
total: "12"
|
||||||
|
},
|
||||||
|
message: "操作成功!"
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
type TableType = TableProProps<any, any>;
|
||||||
|
const searchFormOptions = reactive<TableType["searchFormOptions"]>({
|
||||||
|
name: {
|
||||||
|
type: "input",
|
||||||
|
label: "物品名称"
|
||||||
|
},
|
||||||
|
time: {
|
||||||
|
type: "datePicker",
|
||||||
|
label: "时间"
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const columns = ref<TableType["columns"]>([
|
||||||
|
{
|
||||||
|
key: "applicant",
|
||||||
|
title: "联系人"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "contactNumber",
|
||||||
|
title: "联系电话"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "orderNumber",
|
||||||
|
title: "订单编号"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "supplierName",
|
||||||
|
title: "供应商名称"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "book_Date",
|
||||||
|
title: "下单日期"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "deliveryAddress",
|
||||||
|
title: "交货地址"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "latestDeliveryTime",
|
||||||
|
title: "最晚交货时间"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "itemName",
|
||||||
|
title: "物品名称"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "specifications",
|
||||||
|
title: "规格"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "itemNumber",
|
||||||
|
title: "数量"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "unitPrice",
|
||||||
|
title: "单价"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "TotalPrice",
|
||||||
|
title: "总价"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "Remarks",
|
||||||
|
title: "备注"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "",
|
||||||
|
title: "操作",
|
||||||
|
render: (value) => {
|
||||||
|
return (
|
||||||
|
<div style={{ display: "flex" }}>
|
||||||
|
<n-button
|
||||||
|
strong
|
||||||
|
secondary
|
||||||
|
style={{ marginLeft: "10px" }}
|
||||||
|
type="success"
|
||||||
|
onClick={() => {
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
修改
|
||||||
|
</n-button>
|
||||||
|
<n-button
|
||||||
|
strong
|
||||||
|
secondary
|
||||||
|
style={{ marginLeft: "10px" }}
|
||||||
|
type="warning"
|
||||||
|
onClick={() => {
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
详情
|
||||||
|
</n-button>
|
||||||
|
<NPopconfirm
|
||||||
|
onPositiveClick={async () => {
|
||||||
|
}}
|
||||||
|
onNegativeClick={() => {
|
||||||
|
}}
|
||||||
|
showIcon={false}
|
||||||
|
>
|
||||||
|
{{
|
||||||
|
trigger: () => (
|
||||||
|
<n-button
|
||||||
|
strong
|
||||||
|
secondary
|
||||||
|
style={{ marginLeft: "10px" }}
|
||||||
|
type="error"
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</n-button>
|
||||||
|
),
|
||||||
|
default: () => "确认要删除么?"
|
||||||
|
}}
|
||||||
|
</NPopconfirm>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
|
||||||
|
|
||||||
|
const userDefaultValue: purchaseOrderType = {
|
||||||
|
applicant: "",
|
||||||
|
contactNumber: "",
|
||||||
|
orderNumber: "",
|
||||||
|
supplierName: "",
|
||||||
|
book_Date: "",
|
||||||
|
deliveryAddress: "",
|
||||||
|
latestDeliveryTime: "",
|
||||||
|
itemName: "",
|
||||||
|
specifications: "",
|
||||||
|
itemNumber: "",
|
||||||
|
unitPrice: "",
|
||||||
|
TotalPrice: "",
|
||||||
|
Remarks: ""
|
||||||
|
};
|
||||||
|
const purchaseOrderValue = ref<purchaseOrderType>({
|
||||||
|
...userDefaultValue
|
||||||
|
});
|
||||||
|
const resetModelValue = () => {
|
||||||
|
purchaseOrderValue.value = { ...userDefaultValue };
|
||||||
|
title.value = "新增订单";
|
||||||
|
};
|
||||||
|
const addUserOrUpdate = () => {
|
||||||
|
form.value?.validate().then(() => {
|
||||||
|
// loading.value = true
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const formOptionsUser = reactive<FormItemOptions<any>>({
|
||||||
|
applicant:{
|
||||||
|
type: "input",
|
||||||
|
label: "联系人",
|
||||||
|
required: true,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const modalRef = ref();
|
||||||
|
const title = ref("新增订单");
|
||||||
|
const loading = ref<boolean>(false);
|
||||||
|
const addPurchaseOrder = () => {
|
||||||
|
modalRef.value = modal.create({
|
||||||
|
title: title.value,
|
||||||
|
preset: "card",
|
||||||
|
style: {
|
||||||
|
width: "600px"
|
||||||
|
},
|
||||||
|
content: () => (
|
||||||
|
<>
|
||||||
|
<FormPro
|
||||||
|
labelWidth="100"
|
||||||
|
ref={form}
|
||||||
|
v-model:value={purchaseOrderValue.value}
|
||||||
|
form-item-options={formOptionsUser}
|
||||||
|
></FormPro>
|
||||||
|
</>
|
||||||
|
),
|
||||||
|
footer: () => (
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
display: "flex",
|
||||||
|
justifyContent: "flex-end"
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<n-button
|
||||||
|
loading={loading.value}
|
||||||
|
style={{ marginRight: "10px" }}
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
addUserOrUpdate();
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
确认
|
||||||
|
</n-button>
|
||||||
|
<n-button
|
||||||
|
onClick={() => {
|
||||||
|
modalRef.value.destroy();
|
||||||
|
resetModelValue();
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
取消
|
||||||
|
</n-button>
|
||||||
|
</div>
|
||||||
|
),
|
||||||
|
onAfterLeave: () => {
|
||||||
|
resetModelValue();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss"></style>
|
||||||
|
|
|
@ -10,14 +10,14 @@
|
||||||
:single-line="false"
|
:single-line="false"
|
||||||
>
|
>
|
||||||
<template #headerExtra>
|
<template #headerExtra>
|
||||||
<n-button
|
<!-- <n-button-->
|
||||||
strong
|
<!-- strong-->
|
||||||
secondary
|
<!-- secondary-->
|
||||||
type="primary"
|
<!-- type="primary"-->
|
||||||
@click="addWorkAccounts"
|
<!-- @click="addWorkAccounts"-->
|
||||||
>
|
<!-- >-->
|
||||||
添加
|
<!-- 添加-->
|
||||||
</n-button>
|
<!-- </n-button>-->
|
||||||
<n-button style="margin-left: 10px">一键导出</n-button>
|
<n-button style="margin-left: 10px">一键导出</n-button>
|
||||||
</template>
|
</template>
|
||||||
</TablePro>
|
</TablePro>
|
||||||
|
@ -221,7 +221,7 @@
|
||||||
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
修改
|
查看
|
||||||
</n-button>
|
</n-button>
|
||||||
|
|
||||||
<NPopconfirm
|
<NPopconfirm
|
||||||
|
@ -330,6 +330,9 @@
|
||||||
type: "select",
|
type: "select",
|
||||||
label: "员工",
|
label: "员工",
|
||||||
required:true,
|
required:true,
|
||||||
|
componentsProps:{
|
||||||
|
disabled:true
|
||||||
|
},
|
||||||
options:[
|
options:[
|
||||||
{
|
{
|
||||||
value:'张三',
|
value:'张三',
|
||||||
|
@ -356,7 +359,10 @@
|
||||||
temperature:{
|
temperature:{
|
||||||
type:'input',
|
type:'input',
|
||||||
label:'体温',
|
label:'体温',
|
||||||
required:true
|
required:true,
|
||||||
|
componentsProps:{
|
||||||
|
disabled:true
|
||||||
|
}
|
||||||
},
|
},
|
||||||
bodyImageUrl:{
|
bodyImageUrl:{
|
||||||
type: "custom",
|
type: "custom",
|
||||||
|
|
Loading…
Reference in New Issue