diff --git a/src/api/business/schedule/interchangeReceipt.ts b/src/api/business/schedule/interchangeReceipt.ts index 0b33406..03edba9 100644 --- a/src/api/business/schedule/interchangeReceipt.ts +++ b/src/api/business/schedule/interchangeReceipt.ts @@ -32,3 +32,31 @@ data, }) } + +// 新增 +export function addInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/add`, + method: 'post', + data, + }) +} + +// 编辑 +export function updateInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/update`, + method: 'post', + data, + }) +} + +// 详情 +export function getInterchangeReceiptDetail(data: any) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} + diff --git a/src/api/business/schedule/interchangeReceipt.ts b/src/api/business/schedule/interchangeReceipt.ts index 0b33406..03edba9 100644 --- a/src/api/business/schedule/interchangeReceipt.ts +++ b/src/api/business/schedule/interchangeReceipt.ts @@ -32,3 +32,31 @@ data, }) } + +// 新增 +export function addInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/add`, + method: 'post', + data, + }) +} + +// 编辑 +export function updateInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/update`, + method: 'post', + data, + }) +} + +// 详情 +export function getInterchangeReceiptDetail(data: any) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 2ebcf8b..f1a3dd8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -285,7 +285,7 @@ }) } else if (type === 'complete') { // 完成 - interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '2' }).then((res) => { + interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '5' }).then((res) => { if (res.code === 200) { ElMessage.success(`已${title}`) fetchData(true) diff --git a/src/api/business/schedule/interchangeReceipt.ts b/src/api/business/schedule/interchangeReceipt.ts index 0b33406..03edba9 100644 --- a/src/api/business/schedule/interchangeReceipt.ts +++ b/src/api/business/schedule/interchangeReceipt.ts @@ -32,3 +32,31 @@ data, }) } + +// 新增 +export function addInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/add`, + method: 'post', + data, + }) +} + +// 编辑 +export function updateInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/update`, + method: 'post', + data, + }) +} + +// 详情 +export function getInterchangeReceiptDetail(data: any) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 2ebcf8b..f1a3dd8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -285,7 +285,7 @@ }) } else if (type === 'complete') { // 完成 - interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '2' }).then((res) => { + interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '5' }).then((res) => { if (res.code === 200) { ElMessage.success(`已${title}`) fetchData(true) diff --git a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue index 026fd77..e5ccc22 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue +++ b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue @@ -1,3 +1,4 @@ + @@ -430,13 +504,20 @@ - + placeholder="请选择接收人" + style="width: 100%;" + filterable + remote + remote-show-suffix + :remote-method="remoteMethod" + :loading="applyPersonLoading" + @change="changeSelectReceiver" + > + + @@ -514,6 +595,20 @@ + - + @@ -651,7 +746,6 @@ style="width: 100%;" max-height="600" @selection-change="handleSelectionChange" - @row-dblclick="rowDblclick" > @@ -663,17 +757,7 @@ :width="item.width" show-overflow-tooltip align="center" - > - - + /> diff --git a/src/api/business/schedule/interchangeReceipt.ts b/src/api/business/schedule/interchangeReceipt.ts index 0b33406..03edba9 100644 --- a/src/api/business/schedule/interchangeReceipt.ts +++ b/src/api/business/schedule/interchangeReceipt.ts @@ -32,3 +32,31 @@ data, }) } + +// 新增 +export function addInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/add`, + method: 'post', + data, + }) +} + +// 编辑 +export function updateInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/update`, + method: 'post', + data, + }) +} + +// 详情 +export function getInterchangeReceiptDetail(data: any) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 2ebcf8b..f1a3dd8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -285,7 +285,7 @@ }) } else if (type === 'complete') { // 完成 - interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '2' }).then((res) => { + interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '5' }).then((res) => { if (res.code === 200) { ElMessage.success(`已${title}`) fetchData(true) diff --git a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue index 026fd77..e5ccc22 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue +++ b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue @@ -1,3 +1,4 @@ + @@ -430,13 +504,20 @@ - + placeholder="请选择接收人" + style="width: 100%;" + filterable + remote + remote-show-suffix + :remote-method="remoteMethod" + :loading="applyPersonLoading" + @change="changeSelectReceiver" + > + + @@ -514,6 +595,20 @@ + - + @@ -651,7 +746,6 @@ style="width: 100%;" max-height="600" @selection-change="handleSelectionChange" - @row-dblclick="rowDblclick" > @@ -663,17 +757,7 @@ :width="item.width" show-overflow-tooltip align="center" - > - - + /> diff --git a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts index 2d1c1ff..9c56b8b 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts +++ b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts @@ -27,12 +27,14 @@ export interface IReceiptDetail { interchangeCode: string // 交接单编号 orderCode: string // 委托书编号 + orderId: string // 委托书id certificationCompany: string // 证书单位名称 certificationCompanyFex: string // 传真 certificationCompanyEmail: string // 邮编 + certificationCompanyAddress: string // 证书单位地址 reciever: string // 接收人 recieverPhone: string // 接收人电话 - certificationCompanyAddress: string // 证书单位地址 + recieverSignFile: string // 接收人签名文件 customerNo: string // 委托方代码 customerId: string // 委托方id customerName: string // 委托方名称 diff --git a/src/api/business/schedule/interchangeReceipt.ts b/src/api/business/schedule/interchangeReceipt.ts index 0b33406..03edba9 100644 --- a/src/api/business/schedule/interchangeReceipt.ts +++ b/src/api/business/schedule/interchangeReceipt.ts @@ -32,3 +32,31 @@ data, }) } + +// 新增 +export function addInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/add`, + method: 'post', + data, + }) +} + +// 编辑 +export function updateInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/update`, + method: 'post', + data, + }) +} + +// 详情 +export function getInterchangeReceiptDetail(data: any) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 2ebcf8b..f1a3dd8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -285,7 +285,7 @@ }) } else if (type === 'complete') { // 完成 - interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '2' }).then((res) => { + interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '5' }).then((res) => { if (res.code === 200) { ElMessage.success(`已${title}`) fetchData(true) diff --git a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue index 026fd77..e5ccc22 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue +++ b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue @@ -1,3 +1,4 @@ + @@ -430,13 +504,20 @@ - + placeholder="请选择接收人" + style="width: 100%;" + filterable + remote + remote-show-suffix + :remote-method="remoteMethod" + :loading="applyPersonLoading" + @change="changeSelectReceiver" + > + + @@ -514,6 +595,20 @@ + - + @@ -651,7 +746,6 @@ style="width: 100%;" max-height="600" @selection-change="handleSelectionChange" - @row-dblclick="rowDblclick" > @@ -663,17 +757,7 @@ :width="item.width" show-overflow-tooltip align="center" - > - - + /> diff --git a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts index 2d1c1ff..9c56b8b 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts +++ b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts @@ -27,12 +27,14 @@ export interface IReceiptDetail { interchangeCode: string // 交接单编号 orderCode: string // 委托书编号 + orderId: string // 委托书id certificationCompany: string // 证书单位名称 certificationCompanyFex: string // 传真 certificationCompanyEmail: string // 邮编 + certificationCompanyAddress: string // 证书单位地址 reciever: string // 接收人 recieverPhone: string // 接收人电话 - certificationCompanyAddress: string // 证书单位地址 + recieverSignFile: string // 接收人签名文件 customerNo: string // 委托方代码 customerId: string // 委托方id customerName: string // 委托方名称 diff --git a/src/views/business/schedule/order/orderList.vue b/src/views/business/schedule/order/orderList.vue index 7622ab0..9c1907c 100644 --- a/src/views/business/schedule/order/orderList.vue +++ b/src/views/business/schedule/order/orderList.vue @@ -39,7 +39,7 @@ { text: '送样人', value: 'deliverer', align: 'center' }, { text: '联系方式', value: 'customerPhone', align: 'center' }, { text: '样品数量', value: 'sampleCount', align: 'center' }, - { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == '1' ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == '1' ? 'color: red' : '' } }, + { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == 1 ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == 1 ? 'color: red' : '' } }, { text: '接收状态', value: 'statusName', align: 'center', width: '80px' }, { text: '创建时间', value: 'createTime', align: 'center', width: '180px' }, { text: '备注', value: 'remark', align: 'center' }, diff --git a/src/api/business/schedule/interchangeReceipt.ts b/src/api/business/schedule/interchangeReceipt.ts index 0b33406..03edba9 100644 --- a/src/api/business/schedule/interchangeReceipt.ts +++ b/src/api/business/schedule/interchangeReceipt.ts @@ -32,3 +32,31 @@ data, }) } + +// 新增 +export function addInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/add`, + method: 'post', + data, + }) +} + +// 编辑 +export function updateInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/update`, + method: 'post', + data, + }) +} + +// 详情 +export function getInterchangeReceiptDetail(data: any) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 2ebcf8b..f1a3dd8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -285,7 +285,7 @@ }) } else if (type === 'complete') { // 完成 - interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '2' }).then((res) => { + interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '5' }).then((res) => { if (res.code === 200) { ElMessage.success(`已${title}`) fetchData(true) diff --git a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue index 026fd77..e5ccc22 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue +++ b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue @@ -1,3 +1,4 @@ + @@ -430,13 +504,20 @@ - + placeholder="请选择接收人" + style="width: 100%;" + filterable + remote + remote-show-suffix + :remote-method="remoteMethod" + :loading="applyPersonLoading" + @change="changeSelectReceiver" + > + + @@ -514,6 +595,20 @@ + - + @@ -651,7 +746,6 @@ style="width: 100%;" max-height="600" @selection-change="handleSelectionChange" - @row-dblclick="rowDblclick" > @@ -663,17 +757,7 @@ :width="item.width" show-overflow-tooltip align="center" - > - - + /> diff --git a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts index 2d1c1ff..9c56b8b 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts +++ b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts @@ -27,12 +27,14 @@ export interface IReceiptDetail { interchangeCode: string // 交接单编号 orderCode: string // 委托书编号 + orderId: string // 委托书id certificationCompany: string // 证书单位名称 certificationCompanyFex: string // 传真 certificationCompanyEmail: string // 邮编 + certificationCompanyAddress: string // 证书单位地址 reciever: string // 接收人 recieverPhone: string // 接收人电话 - certificationCompanyAddress: string // 证书单位地址 + recieverSignFile: string // 接收人签名文件 customerNo: string // 委托方代码 customerId: string // 委托方id customerName: string // 委托方名称 diff --git a/src/views/business/schedule/order/orderList.vue b/src/views/business/schedule/order/orderList.vue index 7622ab0..9c1907c 100644 --- a/src/views/business/schedule/order/orderList.vue +++ b/src/views/business/schedule/order/orderList.vue @@ -39,7 +39,7 @@ { text: '送样人', value: 'deliverer', align: 'center' }, { text: '联系方式', value: 'customerPhone', align: 'center' }, { text: '样品数量', value: 'sampleCount', align: 'center' }, - { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == '1' ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == '1' ? 'color: red' : '' } }, + { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == 1 ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == 1 ? 'color: red' : '' } }, { text: '接收状态', value: 'statusName', align: 'center', width: '80px' }, { text: '创建时间', value: 'createTime', align: 'center', width: '180px' }, { text: '备注', value: 'remark', align: 'center' }, diff --git a/src/views/customer/sample/list/edit.vue b/src/views/customer/sample/list/edit.vue index 3d667a1..4893c4f 100644 --- a/src/views/customer/sample/list/edit.vue +++ b/src/views/customer/sample/list/edit.vue @@ -26,6 +26,7 @@ const visible = ref(false) // 控制对话框显隐 const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 +const powerVoltageList = ref([]) // 电源电压 const dataForm: Ref = ref({ id: '', sampleNo: '', // 样品编号 @@ -42,9 +43,9 @@ manufacturer: '', // 生产厂家 manufacturerCountry: '', // 厂家国别 manufacturingDate: '', // 出厂年月 - abc: '', // ABC - deliverer: '', // 送检人 - delivererTel: '', // 送检人联系方式 + ABC: '', // ABC + // deliverer: '', // 送检人 + // delivererTel: '', // 送检人联系方式 measureContent: '', // 检定项目 measurePeriod: '', // 检定周期 remark: '', // 备注 @@ -54,20 +55,7 @@ measureLastTime: '', // 检定日期 validDeadline: '', // 有效日期 powerVoltage: '', // 电源电压 - sampleBelong: '', // 样品所属 - sampleBelongName: '', // 样品所属 - specialRequire: '', // 客户特殊要求 -}) -const powerVoltageMap = [ - { - name: '110V', - value: '110V', - }, - { - name: '220V', - value: '220V', - }, -]// 电源电压 +})// 表单 const ruleFormRef = ref() // 自定义校验规则--检定周期为正整数 @@ -114,6 +102,10 @@ getDictByCode('measureType').then((response) => { measureTypeList.value = response.data }) + // 电源电压 + getDictByCode('powerVoltage').then((response) => { + powerVoltageList.value = response.data + }) } getDict() @@ -482,7 +474,7 @@ :disabled="pageType === 'detail'" class="full-width-input" > - + diff --git a/src/api/business/schedule/interchangeReceipt.ts b/src/api/business/schedule/interchangeReceipt.ts index 0b33406..03edba9 100644 --- a/src/api/business/schedule/interchangeReceipt.ts +++ b/src/api/business/schedule/interchangeReceipt.ts @@ -32,3 +32,31 @@ data, }) } + +// 新增 +export function addInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/add`, + method: 'post', + data, + }) +} + +// 编辑 +export function updateInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/update`, + method: 'post', + data, + }) +} + +// 详情 +export function getInterchangeReceiptDetail(data: any) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 2ebcf8b..f1a3dd8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -285,7 +285,7 @@ }) } else if (type === 'complete') { // 完成 - interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '2' }).then((res) => { + interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '5' }).then((res) => { if (res.code === 200) { ElMessage.success(`已${title}`) fetchData(true) diff --git a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue index 026fd77..e5ccc22 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue +++ b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue @@ -1,3 +1,4 @@ + @@ -430,13 +504,20 @@ - + placeholder="请选择接收人" + style="width: 100%;" + filterable + remote + remote-show-suffix + :remote-method="remoteMethod" + :loading="applyPersonLoading" + @change="changeSelectReceiver" + > + + @@ -514,6 +595,20 @@ + - + @@ -651,7 +746,6 @@ style="width: 100%;" max-height="600" @selection-change="handleSelectionChange" - @row-dblclick="rowDblclick" > @@ -663,17 +757,7 @@ :width="item.width" show-overflow-tooltip align="center" - > - - + /> diff --git a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts index 2d1c1ff..9c56b8b 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts +++ b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts @@ -27,12 +27,14 @@ export interface IReceiptDetail { interchangeCode: string // 交接单编号 orderCode: string // 委托书编号 + orderId: string // 委托书id certificationCompany: string // 证书单位名称 certificationCompanyFex: string // 传真 certificationCompanyEmail: string // 邮编 + certificationCompanyAddress: string // 证书单位地址 reciever: string // 接收人 recieverPhone: string // 接收人电话 - certificationCompanyAddress: string // 证书单位地址 + recieverSignFile: string // 接收人签名文件 customerNo: string // 委托方代码 customerId: string // 委托方id customerName: string // 委托方名称 diff --git a/src/views/business/schedule/order/orderList.vue b/src/views/business/schedule/order/orderList.vue index 7622ab0..9c1907c 100644 --- a/src/views/business/schedule/order/orderList.vue +++ b/src/views/business/schedule/order/orderList.vue @@ -39,7 +39,7 @@ { text: '送样人', value: 'deliverer', align: 'center' }, { text: '联系方式', value: 'customerPhone', align: 'center' }, { text: '样品数量', value: 'sampleCount', align: 'center' }, - { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == '1' ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == '1' ? 'color: red' : '' } }, + { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == 1 ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == 1 ? 'color: red' : '' } }, { text: '接收状态', value: 'statusName', align: 'center', width: '80px' }, { text: '创建时间', value: 'createTime', align: 'center', width: '180px' }, { text: '备注', value: 'remark', align: 'center' }, diff --git a/src/views/customer/sample/list/edit.vue b/src/views/customer/sample/list/edit.vue index 3d667a1..4893c4f 100644 --- a/src/views/customer/sample/list/edit.vue +++ b/src/views/customer/sample/list/edit.vue @@ -26,6 +26,7 @@ const visible = ref(false) // 控制对话框显隐 const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 +const powerVoltageList = ref([]) // 电源电压 const dataForm: Ref = ref({ id: '', sampleNo: '', // 样品编号 @@ -42,9 +43,9 @@ manufacturer: '', // 生产厂家 manufacturerCountry: '', // 厂家国别 manufacturingDate: '', // 出厂年月 - abc: '', // ABC - deliverer: '', // 送检人 - delivererTel: '', // 送检人联系方式 + ABC: '', // ABC + // deliverer: '', // 送检人 + // delivererTel: '', // 送检人联系方式 measureContent: '', // 检定项目 measurePeriod: '', // 检定周期 remark: '', // 备注 @@ -54,20 +55,7 @@ measureLastTime: '', // 检定日期 validDeadline: '', // 有效日期 powerVoltage: '', // 电源电压 - sampleBelong: '', // 样品所属 - sampleBelongName: '', // 样品所属 - specialRequire: '', // 客户特殊要求 -}) -const powerVoltageMap = [ - { - name: '110V', - value: '110V', - }, - { - name: '220V', - value: '220V', - }, -]// 电源电压 +})// 表单 const ruleFormRef = ref() // 自定义校验规则--检定周期为正整数 @@ -114,6 +102,10 @@ getDictByCode('measureType').then((response) => { measureTypeList.value = response.data }) + // 电源电压 + getDictByCode('powerVoltage').then((response) => { + powerVoltageList.value = response.data + }) } getDict() @@ -482,7 +474,7 @@ :disabled="pageType === 'detail'" class="full-width-input" > - + diff --git a/src/views/customer/sample/list/list.vue b/src/views/customer/sample/list/list.vue index aceea6a..abcada5 100644 --- a/src/views/customer/sample/list/list.vue +++ b/src/views/customer/sample/list/list.vue @@ -36,7 +36,14 @@ { text: '检定周期', value: 'measurePeriod', align: 'center' }, { text: '上次检定时间', value: 'measureLastTime', align: 'center', width: '180px' }, { text: '样品状态', value: 'sampleSatusName', align: 'center', width: '80px' }, - { text: '备注', value: 'remark', align: 'center', width: '180px' }, + { + text: '证书过期时间', + value: 'validDeadline', + align: 'center', + width: '180px', + styleFilter: (row: ISampleList) => { return new Date(row.validDeadline as string).getTime() < new Date().getTime() ? 'color: red' : '' }, + }, + { text: '备注', value: 'remark', align: 'center' }, ]) // 表格数据 const list = ref([]) diff --git a/src/api/business/schedule/interchangeReceipt.ts b/src/api/business/schedule/interchangeReceipt.ts index 0b33406..03edba9 100644 --- a/src/api/business/schedule/interchangeReceipt.ts +++ b/src/api/business/schedule/interchangeReceipt.ts @@ -32,3 +32,31 @@ data, }) } + +// 新增 +export function addInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/add`, + method: 'post', + data, + }) +} + +// 编辑 +export function updateInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/update`, + method: 'post', + data, + }) +} + +// 详情 +export function getInterchangeReceiptDetail(data: any) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 2ebcf8b..f1a3dd8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -285,7 +285,7 @@ }) } else if (type === 'complete') { // 完成 - interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '2' }).then((res) => { + interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '5' }).then((res) => { if (res.code === 200) { ElMessage.success(`已${title}`) fetchData(true) diff --git a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue index 026fd77..e5ccc22 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue +++ b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue @@ -1,3 +1,4 @@ + @@ -430,13 +504,20 @@ - + placeholder="请选择接收人" + style="width: 100%;" + filterable + remote + remote-show-suffix + :remote-method="remoteMethod" + :loading="applyPersonLoading" + @change="changeSelectReceiver" + > + + @@ -514,6 +595,20 @@ + - + @@ -651,7 +746,6 @@ style="width: 100%;" max-height="600" @selection-change="handleSelectionChange" - @row-dblclick="rowDblclick" > @@ -663,17 +757,7 @@ :width="item.width" show-overflow-tooltip align="center" - > - - + /> diff --git a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts index 2d1c1ff..9c56b8b 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts +++ b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts @@ -27,12 +27,14 @@ export interface IReceiptDetail { interchangeCode: string // 交接单编号 orderCode: string // 委托书编号 + orderId: string // 委托书id certificationCompany: string // 证书单位名称 certificationCompanyFex: string // 传真 certificationCompanyEmail: string // 邮编 + certificationCompanyAddress: string // 证书单位地址 reciever: string // 接收人 recieverPhone: string // 接收人电话 - certificationCompanyAddress: string // 证书单位地址 + recieverSignFile: string // 接收人签名文件 customerNo: string // 委托方代码 customerId: string // 委托方id customerName: string // 委托方名称 diff --git a/src/views/business/schedule/order/orderList.vue b/src/views/business/schedule/order/orderList.vue index 7622ab0..9c1907c 100644 --- a/src/views/business/schedule/order/orderList.vue +++ b/src/views/business/schedule/order/orderList.vue @@ -39,7 +39,7 @@ { text: '送样人', value: 'deliverer', align: 'center' }, { text: '联系方式', value: 'customerPhone', align: 'center' }, { text: '样品数量', value: 'sampleCount', align: 'center' }, - { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == '1' ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == '1' ? 'color: red' : '' } }, + { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == 1 ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == 1 ? 'color: red' : '' } }, { text: '接收状态', value: 'statusName', align: 'center', width: '80px' }, { text: '创建时间', value: 'createTime', align: 'center', width: '180px' }, { text: '备注', value: 'remark', align: 'center' }, diff --git a/src/views/customer/sample/list/edit.vue b/src/views/customer/sample/list/edit.vue index 3d667a1..4893c4f 100644 --- a/src/views/customer/sample/list/edit.vue +++ b/src/views/customer/sample/list/edit.vue @@ -26,6 +26,7 @@ const visible = ref(false) // 控制对话框显隐 const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 +const powerVoltageList = ref([]) // 电源电压 const dataForm: Ref = ref({ id: '', sampleNo: '', // 样品编号 @@ -42,9 +43,9 @@ manufacturer: '', // 生产厂家 manufacturerCountry: '', // 厂家国别 manufacturingDate: '', // 出厂年月 - abc: '', // ABC - deliverer: '', // 送检人 - delivererTel: '', // 送检人联系方式 + ABC: '', // ABC + // deliverer: '', // 送检人 + // delivererTel: '', // 送检人联系方式 measureContent: '', // 检定项目 measurePeriod: '', // 检定周期 remark: '', // 备注 @@ -54,20 +55,7 @@ measureLastTime: '', // 检定日期 validDeadline: '', // 有效日期 powerVoltage: '', // 电源电压 - sampleBelong: '', // 样品所属 - sampleBelongName: '', // 样品所属 - specialRequire: '', // 客户特殊要求 -}) -const powerVoltageMap = [ - { - name: '110V', - value: '110V', - }, - { - name: '220V', - value: '220V', - }, -]// 电源电压 +})// 表单 const ruleFormRef = ref() // 自定义校验规则--检定周期为正整数 @@ -114,6 +102,10 @@ getDictByCode('measureType').then((response) => { measureTypeList.value = response.data }) + // 电源电压 + getDictByCode('powerVoltage').then((response) => { + powerVoltageList.value = response.data + }) } getDict() @@ -482,7 +474,7 @@ :disabled="pageType === 'detail'" class="full-width-input" > - + diff --git a/src/views/customer/sample/list/list.vue b/src/views/customer/sample/list/list.vue index aceea6a..abcada5 100644 --- a/src/views/customer/sample/list/list.vue +++ b/src/views/customer/sample/list/list.vue @@ -36,7 +36,14 @@ { text: '检定周期', value: 'measurePeriod', align: 'center' }, { text: '上次检定时间', value: 'measureLastTime', align: 'center', width: '180px' }, { text: '样品状态', value: 'sampleSatusName', align: 'center', width: '80px' }, - { text: '备注', value: 'remark', align: 'center', width: '180px' }, + { + text: '证书过期时间', + value: 'validDeadline', + align: 'center', + width: '180px', + styleFilter: (row: ISampleList) => { return new Date(row.validDeadline as string).getTime() < new Date().getTime() ? 'color: red' : '' }, + }, + { text: '备注', value: 'remark', align: 'center' }, ]) // 表格数据 const list = ref([]) diff --git a/src/views/customer/sample/list/sample_list_interface.ts b/src/views/customer/sample/list/sample_list_interface.ts index aafed2a..256ed9f 100644 --- a/src/views/customer/sample/list/sample_list_interface.ts +++ b/src/views/customer/sample/list/sample_list_interface.ts @@ -24,6 +24,7 @@ measurePeriod: string // 检定周期 effectiveDate: string // 上次检定时间 remark: string // 备注 + validDeadline?: string // 证书过期时间 } export interface ISampleEdit { diff --git a/src/api/business/schedule/interchangeReceipt.ts b/src/api/business/schedule/interchangeReceipt.ts index 0b33406..03edba9 100644 --- a/src/api/business/schedule/interchangeReceipt.ts +++ b/src/api/business/schedule/interchangeReceipt.ts @@ -32,3 +32,31 @@ data, }) } + +// 新增 +export function addInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/add`, + method: 'post', + data, + }) +} + +// 编辑 +export function updateInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/update`, + method: 'post', + data, + }) +} + +// 详情 +export function getInterchangeReceiptDetail(data: any) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 2ebcf8b..f1a3dd8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -285,7 +285,7 @@ }) } else if (type === 'complete') { // 完成 - interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '2' }).then((res) => { + interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '5' }).then((res) => { if (res.code === 200) { ElMessage.success(`已${title}`) fetchData(true) diff --git a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue index 026fd77..e5ccc22 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue +++ b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue @@ -1,3 +1,4 @@ + @@ -430,13 +504,20 @@ - + placeholder="请选择接收人" + style="width: 100%;" + filterable + remote + remote-show-suffix + :remote-method="remoteMethod" + :loading="applyPersonLoading" + @change="changeSelectReceiver" + > + + @@ -514,6 +595,20 @@ + - + @@ -651,7 +746,6 @@ style="width: 100%;" max-height="600" @selection-change="handleSelectionChange" - @row-dblclick="rowDblclick" > @@ -663,17 +757,7 @@ :width="item.width" show-overflow-tooltip align="center" - > - - + /> diff --git a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts index 2d1c1ff..9c56b8b 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts +++ b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts @@ -27,12 +27,14 @@ export interface IReceiptDetail { interchangeCode: string // 交接单编号 orderCode: string // 委托书编号 + orderId: string // 委托书id certificationCompany: string // 证书单位名称 certificationCompanyFex: string // 传真 certificationCompanyEmail: string // 邮编 + certificationCompanyAddress: string // 证书单位地址 reciever: string // 接收人 recieverPhone: string // 接收人电话 - certificationCompanyAddress: string // 证书单位地址 + recieverSignFile: string // 接收人签名文件 customerNo: string // 委托方代码 customerId: string // 委托方id customerName: string // 委托方名称 diff --git a/src/views/business/schedule/order/orderList.vue b/src/views/business/schedule/order/orderList.vue index 7622ab0..9c1907c 100644 --- a/src/views/business/schedule/order/orderList.vue +++ b/src/views/business/schedule/order/orderList.vue @@ -39,7 +39,7 @@ { text: '送样人', value: 'deliverer', align: 'center' }, { text: '联系方式', value: 'customerPhone', align: 'center' }, { text: '样品数量', value: 'sampleCount', align: 'center' }, - { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == '1' ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == '1' ? 'color: red' : '' } }, + { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == 1 ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == 1 ? 'color: red' : '' } }, { text: '接收状态', value: 'statusName', align: 'center', width: '80px' }, { text: '创建时间', value: 'createTime', align: 'center', width: '180px' }, { text: '备注', value: 'remark', align: 'center' }, diff --git a/src/views/customer/sample/list/edit.vue b/src/views/customer/sample/list/edit.vue index 3d667a1..4893c4f 100644 --- a/src/views/customer/sample/list/edit.vue +++ b/src/views/customer/sample/list/edit.vue @@ -26,6 +26,7 @@ const visible = ref(false) // 控制对话框显隐 const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 +const powerVoltageList = ref([]) // 电源电压 const dataForm: Ref = ref({ id: '', sampleNo: '', // 样品编号 @@ -42,9 +43,9 @@ manufacturer: '', // 生产厂家 manufacturerCountry: '', // 厂家国别 manufacturingDate: '', // 出厂年月 - abc: '', // ABC - deliverer: '', // 送检人 - delivererTel: '', // 送检人联系方式 + ABC: '', // ABC + // deliverer: '', // 送检人 + // delivererTel: '', // 送检人联系方式 measureContent: '', // 检定项目 measurePeriod: '', // 检定周期 remark: '', // 备注 @@ -54,20 +55,7 @@ measureLastTime: '', // 检定日期 validDeadline: '', // 有效日期 powerVoltage: '', // 电源电压 - sampleBelong: '', // 样品所属 - sampleBelongName: '', // 样品所属 - specialRequire: '', // 客户特殊要求 -}) -const powerVoltageMap = [ - { - name: '110V', - value: '110V', - }, - { - name: '220V', - value: '220V', - }, -]// 电源电压 +})// 表单 const ruleFormRef = ref() // 自定义校验规则--检定周期为正整数 @@ -114,6 +102,10 @@ getDictByCode('measureType').then((response) => { measureTypeList.value = response.data }) + // 电源电压 + getDictByCode('powerVoltage').then((response) => { + powerVoltageList.value = response.data + }) } getDict() @@ -482,7 +474,7 @@ :disabled="pageType === 'detail'" class="full-width-input" > - + diff --git a/src/views/customer/sample/list/list.vue b/src/views/customer/sample/list/list.vue index aceea6a..abcada5 100644 --- a/src/views/customer/sample/list/list.vue +++ b/src/views/customer/sample/list/list.vue @@ -36,7 +36,14 @@ { text: '检定周期', value: 'measurePeriod', align: 'center' }, { text: '上次检定时间', value: 'measureLastTime', align: 'center', width: '180px' }, { text: '样品状态', value: 'sampleSatusName', align: 'center', width: '80px' }, - { text: '备注', value: 'remark', align: 'center', width: '180px' }, + { + text: '证书过期时间', + value: 'validDeadline', + align: 'center', + width: '180px', + styleFilter: (row: ISampleList) => { return new Date(row.validDeadline as string).getTime() < new Date().getTime() ? 'color: red' : '' }, + }, + { text: '备注', value: 'remark', align: 'center' }, ]) // 表格数据 const list = ref([]) diff --git a/src/views/customer/sample/list/sample_list_interface.ts b/src/views/customer/sample/list/sample_list_interface.ts index aafed2a..256ed9f 100644 --- a/src/views/customer/sample/list/sample_list_interface.ts +++ b/src/views/customer/sample/list/sample_list_interface.ts @@ -24,6 +24,7 @@ measurePeriod: string // 检定周期 effectiveDate: string // 上次检定时间 remark: string // 备注 + validDeadline?: string // 证书过期时间 } export interface ISampleEdit { diff --git a/src/views/customer/sample/overTime/detail.vue b/src/views/customer/sample/overTime/detail.vue index 59f2feb..4deeed8 100644 --- a/src/views/customer/sample/overTime/detail.vue +++ b/src/views/customer/sample/overTime/detail.vue @@ -20,18 +20,9 @@ const countryList = ref(countries) // 国家列表 const loading = ref(false) // 表单加载状态 const infoId = ref('') // id -const powerVoltageMap = [ - { - name: '110V', - value: '110V', - }, - { - name: '220V', - value: '220V', - }, -]// 电源电压 const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 +const powerVoltageList = ref([]) // 电源电压 const dataForm: Ref = ref({ id: '', @@ -74,6 +65,10 @@ getDictByCode('measureType').then((response) => { measureTypeList.value = response.data }) + // 电源电压 + getDictByCode('powerVoltage').then((response) => { + powerVoltageList.value = response.data + }) } getDict() @@ -358,7 +353,7 @@ :disabled="pageType === 'detail'" class="full-width-input" > - + diff --git a/src/api/business/schedule/interchangeReceipt.ts b/src/api/business/schedule/interchangeReceipt.ts index 0b33406..03edba9 100644 --- a/src/api/business/schedule/interchangeReceipt.ts +++ b/src/api/business/schedule/interchangeReceipt.ts @@ -32,3 +32,31 @@ data, }) } + +// 新增 +export function addInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/add`, + method: 'post', + data, + }) +} + +// 编辑 +export function updateInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/update`, + method: 'post', + data, + }) +} + +// 详情 +export function getInterchangeReceiptDetail(data: any) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 2ebcf8b..f1a3dd8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -285,7 +285,7 @@ }) } else if (type === 'complete') { // 完成 - interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '2' }).then((res) => { + interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '5' }).then((res) => { if (res.code === 200) { ElMessage.success(`已${title}`) fetchData(true) diff --git a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue index 026fd77..e5ccc22 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue +++ b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue @@ -1,3 +1,4 @@ + @@ -430,13 +504,20 @@ - + placeholder="请选择接收人" + style="width: 100%;" + filterable + remote + remote-show-suffix + :remote-method="remoteMethod" + :loading="applyPersonLoading" + @change="changeSelectReceiver" + > + + @@ -514,6 +595,20 @@ + - + @@ -651,7 +746,6 @@ style="width: 100%;" max-height="600" @selection-change="handleSelectionChange" - @row-dblclick="rowDblclick" > @@ -663,17 +757,7 @@ :width="item.width" show-overflow-tooltip align="center" - > - - + /> diff --git a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts index 2d1c1ff..9c56b8b 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts +++ b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts @@ -27,12 +27,14 @@ export interface IReceiptDetail { interchangeCode: string // 交接单编号 orderCode: string // 委托书编号 + orderId: string // 委托书id certificationCompany: string // 证书单位名称 certificationCompanyFex: string // 传真 certificationCompanyEmail: string // 邮编 + certificationCompanyAddress: string // 证书单位地址 reciever: string // 接收人 recieverPhone: string // 接收人电话 - certificationCompanyAddress: string // 证书单位地址 + recieverSignFile: string // 接收人签名文件 customerNo: string // 委托方代码 customerId: string // 委托方id customerName: string // 委托方名称 diff --git a/src/views/business/schedule/order/orderList.vue b/src/views/business/schedule/order/orderList.vue index 7622ab0..9c1907c 100644 --- a/src/views/business/schedule/order/orderList.vue +++ b/src/views/business/schedule/order/orderList.vue @@ -39,7 +39,7 @@ { text: '送样人', value: 'deliverer', align: 'center' }, { text: '联系方式', value: 'customerPhone', align: 'center' }, { text: '样品数量', value: 'sampleCount', align: 'center' }, - { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == '1' ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == '1' ? 'color: red' : '' } }, + { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == 1 ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == 1 ? 'color: red' : '' } }, { text: '接收状态', value: 'statusName', align: 'center', width: '80px' }, { text: '创建时间', value: 'createTime', align: 'center', width: '180px' }, { text: '备注', value: 'remark', align: 'center' }, diff --git a/src/views/customer/sample/list/edit.vue b/src/views/customer/sample/list/edit.vue index 3d667a1..4893c4f 100644 --- a/src/views/customer/sample/list/edit.vue +++ b/src/views/customer/sample/list/edit.vue @@ -26,6 +26,7 @@ const visible = ref(false) // 控制对话框显隐 const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 +const powerVoltageList = ref([]) // 电源电压 const dataForm: Ref = ref({ id: '', sampleNo: '', // 样品编号 @@ -42,9 +43,9 @@ manufacturer: '', // 生产厂家 manufacturerCountry: '', // 厂家国别 manufacturingDate: '', // 出厂年月 - abc: '', // ABC - deliverer: '', // 送检人 - delivererTel: '', // 送检人联系方式 + ABC: '', // ABC + // deliverer: '', // 送检人 + // delivererTel: '', // 送检人联系方式 measureContent: '', // 检定项目 measurePeriod: '', // 检定周期 remark: '', // 备注 @@ -54,20 +55,7 @@ measureLastTime: '', // 检定日期 validDeadline: '', // 有效日期 powerVoltage: '', // 电源电压 - sampleBelong: '', // 样品所属 - sampleBelongName: '', // 样品所属 - specialRequire: '', // 客户特殊要求 -}) -const powerVoltageMap = [ - { - name: '110V', - value: '110V', - }, - { - name: '220V', - value: '220V', - }, -]// 电源电压 +})// 表单 const ruleFormRef = ref() // 自定义校验规则--检定周期为正整数 @@ -114,6 +102,10 @@ getDictByCode('measureType').then((response) => { measureTypeList.value = response.data }) + // 电源电压 + getDictByCode('powerVoltage').then((response) => { + powerVoltageList.value = response.data + }) } getDict() @@ -482,7 +474,7 @@ :disabled="pageType === 'detail'" class="full-width-input" > - + diff --git a/src/views/customer/sample/list/list.vue b/src/views/customer/sample/list/list.vue index aceea6a..abcada5 100644 --- a/src/views/customer/sample/list/list.vue +++ b/src/views/customer/sample/list/list.vue @@ -36,7 +36,14 @@ { text: '检定周期', value: 'measurePeriod', align: 'center' }, { text: '上次检定时间', value: 'measureLastTime', align: 'center', width: '180px' }, { text: '样品状态', value: 'sampleSatusName', align: 'center', width: '80px' }, - { text: '备注', value: 'remark', align: 'center', width: '180px' }, + { + text: '证书过期时间', + value: 'validDeadline', + align: 'center', + width: '180px', + styleFilter: (row: ISampleList) => { return new Date(row.validDeadline as string).getTime() < new Date().getTime() ? 'color: red' : '' }, + }, + { text: '备注', value: 'remark', align: 'center' }, ]) // 表格数据 const list = ref([]) diff --git a/src/views/customer/sample/list/sample_list_interface.ts b/src/views/customer/sample/list/sample_list_interface.ts index aafed2a..256ed9f 100644 --- a/src/views/customer/sample/list/sample_list_interface.ts +++ b/src/views/customer/sample/list/sample_list_interface.ts @@ -24,6 +24,7 @@ measurePeriod: string // 检定周期 effectiveDate: string // 上次检定时间 remark: string // 备注 + validDeadline?: string // 证书过期时间 } export interface ISampleEdit { diff --git a/src/views/customer/sample/overTime/detail.vue b/src/views/customer/sample/overTime/detail.vue index 59f2feb..4deeed8 100644 --- a/src/views/customer/sample/overTime/detail.vue +++ b/src/views/customer/sample/overTime/detail.vue @@ -20,18 +20,9 @@ const countryList = ref(countries) // 国家列表 const loading = ref(false) // 表单加载状态 const infoId = ref('') // id -const powerVoltageMap = [ - { - name: '110V', - value: '110V', - }, - { - name: '220V', - value: '220V', - }, -]// 电源电压 const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 +const powerVoltageList = ref([]) // 电源电压 const dataForm: Ref = ref({ id: '', @@ -74,6 +65,10 @@ getDictByCode('measureType').then((response) => { measureTypeList.value = response.data }) + // 电源电压 + getDictByCode('powerVoltage').then((response) => { + powerVoltageList.value = response.data + }) } getDict() @@ -358,7 +353,7 @@ :disabled="pageType === 'detail'" class="full-width-input" > - + diff --git a/src/views/customer/sample/overTime/list.vue b/src/views/customer/sample/overTime/list.vue index 05fe276..7251eda 100644 --- a/src/views/customer/sample/overTime/list.vue +++ b/src/views/customer/sample/overTime/list.vue @@ -4,12 +4,16 @@ import type { Ref } from 'vue' import type { DateModelType } from 'element-plus' import { ElLoading, ElMessage, ElMessageBox } from 'element-plus' -import type { IOvertimeList, IOvertimeListQuery } from './overtime_list_interface' +import { ITEM_RENDER_EVT } from 'element-plus/es/components/virtual-list/src/defaults' +import type { IOvertimeList, IOvertimeListQuery, dictType } from './overtime_list_interface' import type { TableColumn } from '@/components/NormalTable/table_interface' import { printJSON } from '@/utils/printUtils' import { exportFile } from '@/utils/exportUtils' import { exportSapmleList, getSampleList } from '@/api/customer/sampleList' +import { getDictByCode } from '@/api/system/dict' + const { proxy } = getCurrentInstance() as any +const certificationStatusMap = ref([]) as any // 证书状况 const $router = useRouter() // 查询条件 @@ -25,12 +29,7 @@ offset: 1, limit: 20, }) -// 证书状况字典 -const certificationStatusMap = { - 0: '未超期', - 1: '即将超期', - 2: '已超期', -} + const timeRange = ref<[DateModelType, DateModelType]>(['', '']) // 表头 const columns = ref([ @@ -42,7 +41,13 @@ { text: '委托方名称', value: 'customerName', align: 'center' }, { text: '检定周期', value: 'measurePeriod', align: 'center' }, { text: '上次检定时间', value: 'measureLastTime', align: 'center', width: '180px' }, - { text: '证书状况', value: 'certificationStatus', align: 'center' }, + { + text: '证书状况', + value: 'certificationStatus', + align: 'center', + width: '90px', + styleFilter: (row: IOvertimeList) => { return row.certificationStatus === '即将超期' ? 'color: red' : '' }, + }, ]) // 表格数据 const list = ref([]) @@ -53,6 +58,16 @@ // 选中的内容 const checkoutList = ref([]) +// 获取字典值 +async function getDict() { + // 证书状况 + const res = await getDictByCode('certificationStatus') + // 证书状况字典 {1:即将过期} + res.data.forEach((item: any) => { + certificationStatusMap.value[`${item.value}`] = item.name + }) +} + // 数据查询 function fetchData(isNowPage = false) { loadingTable.value = true @@ -63,7 +78,12 @@ listQuery.value.startTime = timeRange.value[0] as string || '' listQuery.value.endTime = timeRange.value[1] as string || '' getSampleList(listQuery.value).then((response) => { - list.value = response.data.rows + list.value = response.data.rows.map((item: IOvertimeList) => { + return { + ...item, + certificationStatus: certificationStatusMap.value[item.certificationStatus], + } + }) total.value = parseInt(response.data.total) loadingTable.value = false }) @@ -161,7 +181,10 @@ } } -fetchData(true) +onMounted(async () => { + await getDict() + fetchData(true) +}) - + + + diff --git a/src/api/business/schedule/interchangeReceipt.ts b/src/api/business/schedule/interchangeReceipt.ts index 0b33406..03edba9 100644 --- a/src/api/business/schedule/interchangeReceipt.ts +++ b/src/api/business/schedule/interchangeReceipt.ts @@ -32,3 +32,31 @@ data, }) } + +// 新增 +export function addInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/add`, + method: 'post', + data, + }) +} + +// 编辑 +export function updateInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/update`, + method: 'post', + data, + }) +} + +// 详情 +export function getInterchangeReceiptDetail(data: any) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 2ebcf8b..f1a3dd8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -285,7 +285,7 @@ }) } else if (type === 'complete') { // 完成 - interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '2' }).then((res) => { + interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '5' }).then((res) => { if (res.code === 200) { ElMessage.success(`已${title}`) fetchData(true) diff --git a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue index 026fd77..e5ccc22 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue +++ b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue @@ -1,3 +1,4 @@ + @@ -430,13 +504,20 @@ - + placeholder="请选择接收人" + style="width: 100%;" + filterable + remote + remote-show-suffix + :remote-method="remoteMethod" + :loading="applyPersonLoading" + @change="changeSelectReceiver" + > + + @@ -514,6 +595,20 @@ + - + @@ -651,7 +746,6 @@ style="width: 100%;" max-height="600" @selection-change="handleSelectionChange" - @row-dblclick="rowDblclick" > @@ -663,17 +757,7 @@ :width="item.width" show-overflow-tooltip align="center" - > - - + /> diff --git a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts index 2d1c1ff..9c56b8b 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts +++ b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts @@ -27,12 +27,14 @@ export interface IReceiptDetail { interchangeCode: string // 交接单编号 orderCode: string // 委托书编号 + orderId: string // 委托书id certificationCompany: string // 证书单位名称 certificationCompanyFex: string // 传真 certificationCompanyEmail: string // 邮编 + certificationCompanyAddress: string // 证书单位地址 reciever: string // 接收人 recieverPhone: string // 接收人电话 - certificationCompanyAddress: string // 证书单位地址 + recieverSignFile: string // 接收人签名文件 customerNo: string // 委托方代码 customerId: string // 委托方id customerName: string // 委托方名称 diff --git a/src/views/business/schedule/order/orderList.vue b/src/views/business/schedule/order/orderList.vue index 7622ab0..9c1907c 100644 --- a/src/views/business/schedule/order/orderList.vue +++ b/src/views/business/schedule/order/orderList.vue @@ -39,7 +39,7 @@ { text: '送样人', value: 'deliverer', align: 'center' }, { text: '联系方式', value: 'customerPhone', align: 'center' }, { text: '样品数量', value: 'sampleCount', align: 'center' }, - { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == '1' ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == '1' ? 'color: red' : '' } }, + { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == 1 ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == 1 ? 'color: red' : '' } }, { text: '接收状态', value: 'statusName', align: 'center', width: '80px' }, { text: '创建时间', value: 'createTime', align: 'center', width: '180px' }, { text: '备注', value: 'remark', align: 'center' }, diff --git a/src/views/customer/sample/list/edit.vue b/src/views/customer/sample/list/edit.vue index 3d667a1..4893c4f 100644 --- a/src/views/customer/sample/list/edit.vue +++ b/src/views/customer/sample/list/edit.vue @@ -26,6 +26,7 @@ const visible = ref(false) // 控制对话框显隐 const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 +const powerVoltageList = ref([]) // 电源电压 const dataForm: Ref = ref({ id: '', sampleNo: '', // 样品编号 @@ -42,9 +43,9 @@ manufacturer: '', // 生产厂家 manufacturerCountry: '', // 厂家国别 manufacturingDate: '', // 出厂年月 - abc: '', // ABC - deliverer: '', // 送检人 - delivererTel: '', // 送检人联系方式 + ABC: '', // ABC + // deliverer: '', // 送检人 + // delivererTel: '', // 送检人联系方式 measureContent: '', // 检定项目 measurePeriod: '', // 检定周期 remark: '', // 备注 @@ -54,20 +55,7 @@ measureLastTime: '', // 检定日期 validDeadline: '', // 有效日期 powerVoltage: '', // 电源电压 - sampleBelong: '', // 样品所属 - sampleBelongName: '', // 样品所属 - specialRequire: '', // 客户特殊要求 -}) -const powerVoltageMap = [ - { - name: '110V', - value: '110V', - }, - { - name: '220V', - value: '220V', - }, -]// 电源电压 +})// 表单 const ruleFormRef = ref() // 自定义校验规则--检定周期为正整数 @@ -114,6 +102,10 @@ getDictByCode('measureType').then((response) => { measureTypeList.value = response.data }) + // 电源电压 + getDictByCode('powerVoltage').then((response) => { + powerVoltageList.value = response.data + }) } getDict() @@ -482,7 +474,7 @@ :disabled="pageType === 'detail'" class="full-width-input" > - + diff --git a/src/views/customer/sample/list/list.vue b/src/views/customer/sample/list/list.vue index aceea6a..abcada5 100644 --- a/src/views/customer/sample/list/list.vue +++ b/src/views/customer/sample/list/list.vue @@ -36,7 +36,14 @@ { text: '检定周期', value: 'measurePeriod', align: 'center' }, { text: '上次检定时间', value: 'measureLastTime', align: 'center', width: '180px' }, { text: '样品状态', value: 'sampleSatusName', align: 'center', width: '80px' }, - { text: '备注', value: 'remark', align: 'center', width: '180px' }, + { + text: '证书过期时间', + value: 'validDeadline', + align: 'center', + width: '180px', + styleFilter: (row: ISampleList) => { return new Date(row.validDeadline as string).getTime() < new Date().getTime() ? 'color: red' : '' }, + }, + { text: '备注', value: 'remark', align: 'center' }, ]) // 表格数据 const list = ref([]) diff --git a/src/views/customer/sample/list/sample_list_interface.ts b/src/views/customer/sample/list/sample_list_interface.ts index aafed2a..256ed9f 100644 --- a/src/views/customer/sample/list/sample_list_interface.ts +++ b/src/views/customer/sample/list/sample_list_interface.ts @@ -24,6 +24,7 @@ measurePeriod: string // 检定周期 effectiveDate: string // 上次检定时间 remark: string // 备注 + validDeadline?: string // 证书过期时间 } export interface ISampleEdit { diff --git a/src/views/customer/sample/overTime/detail.vue b/src/views/customer/sample/overTime/detail.vue index 59f2feb..4deeed8 100644 --- a/src/views/customer/sample/overTime/detail.vue +++ b/src/views/customer/sample/overTime/detail.vue @@ -20,18 +20,9 @@ const countryList = ref(countries) // 国家列表 const loading = ref(false) // 表单加载状态 const infoId = ref('') // id -const powerVoltageMap = [ - { - name: '110V', - value: '110V', - }, - { - name: '220V', - value: '220V', - }, -]// 电源电压 const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 +const powerVoltageList = ref([]) // 电源电压 const dataForm: Ref = ref({ id: '', @@ -74,6 +65,10 @@ getDictByCode('measureType').then((response) => { measureTypeList.value = response.data }) + // 电源电压 + getDictByCode('powerVoltage').then((response) => { + powerVoltageList.value = response.data + }) } getDict() @@ -358,7 +353,7 @@ :disabled="pageType === 'detail'" class="full-width-input" > - + diff --git a/src/views/customer/sample/overTime/list.vue b/src/views/customer/sample/overTime/list.vue index 05fe276..7251eda 100644 --- a/src/views/customer/sample/overTime/list.vue +++ b/src/views/customer/sample/overTime/list.vue @@ -4,12 +4,16 @@ import type { Ref } from 'vue' import type { DateModelType } from 'element-plus' import { ElLoading, ElMessage, ElMessageBox } from 'element-plus' -import type { IOvertimeList, IOvertimeListQuery } from './overtime_list_interface' +import { ITEM_RENDER_EVT } from 'element-plus/es/components/virtual-list/src/defaults' +import type { IOvertimeList, IOvertimeListQuery, dictType } from './overtime_list_interface' import type { TableColumn } from '@/components/NormalTable/table_interface' import { printJSON } from '@/utils/printUtils' import { exportFile } from '@/utils/exportUtils' import { exportSapmleList, getSampleList } from '@/api/customer/sampleList' +import { getDictByCode } from '@/api/system/dict' + const { proxy } = getCurrentInstance() as any +const certificationStatusMap = ref([]) as any // 证书状况 const $router = useRouter() // 查询条件 @@ -25,12 +29,7 @@ offset: 1, limit: 20, }) -// 证书状况字典 -const certificationStatusMap = { - 0: '未超期', - 1: '即将超期', - 2: '已超期', -} + const timeRange = ref<[DateModelType, DateModelType]>(['', '']) // 表头 const columns = ref([ @@ -42,7 +41,13 @@ { text: '委托方名称', value: 'customerName', align: 'center' }, { text: '检定周期', value: 'measurePeriod', align: 'center' }, { text: '上次检定时间', value: 'measureLastTime', align: 'center', width: '180px' }, - { text: '证书状况', value: 'certificationStatus', align: 'center' }, + { + text: '证书状况', + value: 'certificationStatus', + align: 'center', + width: '90px', + styleFilter: (row: IOvertimeList) => { return row.certificationStatus === '即将超期' ? 'color: red' : '' }, + }, ]) // 表格数据 const list = ref([]) @@ -53,6 +58,16 @@ // 选中的内容 const checkoutList = ref([]) +// 获取字典值 +async function getDict() { + // 证书状况 + const res = await getDictByCode('certificationStatus') + // 证书状况字典 {1:即将过期} + res.data.forEach((item: any) => { + certificationStatusMap.value[`${item.value}`] = item.name + }) +} + // 数据查询 function fetchData(isNowPage = false) { loadingTable.value = true @@ -63,7 +78,12 @@ listQuery.value.startTime = timeRange.value[0] as string || '' listQuery.value.endTime = timeRange.value[1] as string || '' getSampleList(listQuery.value).then((response) => { - list.value = response.data.rows + list.value = response.data.rows.map((item: IOvertimeList) => { + return { + ...item, + certificationStatus: certificationStatusMap.value[item.certificationStatus], + } + }) total.value = parseInt(response.data.total) loadingTable.value = false }) @@ -161,7 +181,10 @@ } } -fetchData(true) +onMounted(async () => { + await getDict() + fetchData(true) +}) - + - + + + diff --git a/src/views/measure/train/components/selectMeasurePersonDialog.vue b/src/views/measure/train/components/selectMeasurePersonDialog.vue new file mode 100644 index 0000000..30c3dc7 --- /dev/null +++ b/src/views/measure/train/components/selectMeasurePersonDialog.vue @@ -0,0 +1,185 @@ + + + + + + diff --git a/src/api/business/schedule/interchangeReceipt.ts b/src/api/business/schedule/interchangeReceipt.ts index 0b33406..03edba9 100644 --- a/src/api/business/schedule/interchangeReceipt.ts +++ b/src/api/business/schedule/interchangeReceipt.ts @@ -32,3 +32,31 @@ data, }) } + +// 新增 +export function addInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/add`, + method: 'post', + data, + }) +} + +// 编辑 +export function updateInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/update`, + method: 'post', + data, + }) +} + +// 详情 +export function getInterchangeReceiptDetail(data: any) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 2ebcf8b..f1a3dd8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -285,7 +285,7 @@ }) } else if (type === 'complete') { // 完成 - interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '2' }).then((res) => { + interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '5' }).then((res) => { if (res.code === 200) { ElMessage.success(`已${title}`) fetchData(true) diff --git a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue index 026fd77..e5ccc22 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue +++ b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue @@ -1,3 +1,4 @@ + @@ -430,13 +504,20 @@ - + placeholder="请选择接收人" + style="width: 100%;" + filterable + remote + remote-show-suffix + :remote-method="remoteMethod" + :loading="applyPersonLoading" + @change="changeSelectReceiver" + > + + @@ -514,6 +595,20 @@ + - + @@ -651,7 +746,6 @@ style="width: 100%;" max-height="600" @selection-change="handleSelectionChange" - @row-dblclick="rowDblclick" > @@ -663,17 +757,7 @@ :width="item.width" show-overflow-tooltip align="center" - > - - + /> diff --git a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts index 2d1c1ff..9c56b8b 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts +++ b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts @@ -27,12 +27,14 @@ export interface IReceiptDetail { interchangeCode: string // 交接单编号 orderCode: string // 委托书编号 + orderId: string // 委托书id certificationCompany: string // 证书单位名称 certificationCompanyFex: string // 传真 certificationCompanyEmail: string // 邮编 + certificationCompanyAddress: string // 证书单位地址 reciever: string // 接收人 recieverPhone: string // 接收人电话 - certificationCompanyAddress: string // 证书单位地址 + recieverSignFile: string // 接收人签名文件 customerNo: string // 委托方代码 customerId: string // 委托方id customerName: string // 委托方名称 diff --git a/src/views/business/schedule/order/orderList.vue b/src/views/business/schedule/order/orderList.vue index 7622ab0..9c1907c 100644 --- a/src/views/business/schedule/order/orderList.vue +++ b/src/views/business/schedule/order/orderList.vue @@ -39,7 +39,7 @@ { text: '送样人', value: 'deliverer', align: 'center' }, { text: '联系方式', value: 'customerPhone', align: 'center' }, { text: '样品数量', value: 'sampleCount', align: 'center' }, - { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == '1' ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == '1' ? 'color: red' : '' } }, + { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == 1 ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == 1 ? 'color: red' : '' } }, { text: '接收状态', value: 'statusName', align: 'center', width: '80px' }, { text: '创建时间', value: 'createTime', align: 'center', width: '180px' }, { text: '备注', value: 'remark', align: 'center' }, diff --git a/src/views/customer/sample/list/edit.vue b/src/views/customer/sample/list/edit.vue index 3d667a1..4893c4f 100644 --- a/src/views/customer/sample/list/edit.vue +++ b/src/views/customer/sample/list/edit.vue @@ -26,6 +26,7 @@ const visible = ref(false) // 控制对话框显隐 const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 +const powerVoltageList = ref([]) // 电源电压 const dataForm: Ref = ref({ id: '', sampleNo: '', // 样品编号 @@ -42,9 +43,9 @@ manufacturer: '', // 生产厂家 manufacturerCountry: '', // 厂家国别 manufacturingDate: '', // 出厂年月 - abc: '', // ABC - deliverer: '', // 送检人 - delivererTel: '', // 送检人联系方式 + ABC: '', // ABC + // deliverer: '', // 送检人 + // delivererTel: '', // 送检人联系方式 measureContent: '', // 检定项目 measurePeriod: '', // 检定周期 remark: '', // 备注 @@ -54,20 +55,7 @@ measureLastTime: '', // 检定日期 validDeadline: '', // 有效日期 powerVoltage: '', // 电源电压 - sampleBelong: '', // 样品所属 - sampleBelongName: '', // 样品所属 - specialRequire: '', // 客户特殊要求 -}) -const powerVoltageMap = [ - { - name: '110V', - value: '110V', - }, - { - name: '220V', - value: '220V', - }, -]// 电源电压 +})// 表单 const ruleFormRef = ref() // 自定义校验规则--检定周期为正整数 @@ -114,6 +102,10 @@ getDictByCode('measureType').then((response) => { measureTypeList.value = response.data }) + // 电源电压 + getDictByCode('powerVoltage').then((response) => { + powerVoltageList.value = response.data + }) } getDict() @@ -482,7 +474,7 @@ :disabled="pageType === 'detail'" class="full-width-input" > - + diff --git a/src/views/customer/sample/list/list.vue b/src/views/customer/sample/list/list.vue index aceea6a..abcada5 100644 --- a/src/views/customer/sample/list/list.vue +++ b/src/views/customer/sample/list/list.vue @@ -36,7 +36,14 @@ { text: '检定周期', value: 'measurePeriod', align: 'center' }, { text: '上次检定时间', value: 'measureLastTime', align: 'center', width: '180px' }, { text: '样品状态', value: 'sampleSatusName', align: 'center', width: '80px' }, - { text: '备注', value: 'remark', align: 'center', width: '180px' }, + { + text: '证书过期时间', + value: 'validDeadline', + align: 'center', + width: '180px', + styleFilter: (row: ISampleList) => { return new Date(row.validDeadline as string).getTime() < new Date().getTime() ? 'color: red' : '' }, + }, + { text: '备注', value: 'remark', align: 'center' }, ]) // 表格数据 const list = ref([]) diff --git a/src/views/customer/sample/list/sample_list_interface.ts b/src/views/customer/sample/list/sample_list_interface.ts index aafed2a..256ed9f 100644 --- a/src/views/customer/sample/list/sample_list_interface.ts +++ b/src/views/customer/sample/list/sample_list_interface.ts @@ -24,6 +24,7 @@ measurePeriod: string // 检定周期 effectiveDate: string // 上次检定时间 remark: string // 备注 + validDeadline?: string // 证书过期时间 } export interface ISampleEdit { diff --git a/src/views/customer/sample/overTime/detail.vue b/src/views/customer/sample/overTime/detail.vue index 59f2feb..4deeed8 100644 --- a/src/views/customer/sample/overTime/detail.vue +++ b/src/views/customer/sample/overTime/detail.vue @@ -20,18 +20,9 @@ const countryList = ref(countries) // 国家列表 const loading = ref(false) // 表单加载状态 const infoId = ref('') // id -const powerVoltageMap = [ - { - name: '110V', - value: '110V', - }, - { - name: '220V', - value: '220V', - }, -]// 电源电压 const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 +const powerVoltageList = ref([]) // 电源电压 const dataForm: Ref = ref({ id: '', @@ -74,6 +65,10 @@ getDictByCode('measureType').then((response) => { measureTypeList.value = response.data }) + // 电源电压 + getDictByCode('powerVoltage').then((response) => { + powerVoltageList.value = response.data + }) } getDict() @@ -358,7 +353,7 @@ :disabled="pageType === 'detail'" class="full-width-input" > - + diff --git a/src/views/customer/sample/overTime/list.vue b/src/views/customer/sample/overTime/list.vue index 05fe276..7251eda 100644 --- a/src/views/customer/sample/overTime/list.vue +++ b/src/views/customer/sample/overTime/list.vue @@ -4,12 +4,16 @@ import type { Ref } from 'vue' import type { DateModelType } from 'element-plus' import { ElLoading, ElMessage, ElMessageBox } from 'element-plus' -import type { IOvertimeList, IOvertimeListQuery } from './overtime_list_interface' +import { ITEM_RENDER_EVT } from 'element-plus/es/components/virtual-list/src/defaults' +import type { IOvertimeList, IOvertimeListQuery, dictType } from './overtime_list_interface' import type { TableColumn } from '@/components/NormalTable/table_interface' import { printJSON } from '@/utils/printUtils' import { exportFile } from '@/utils/exportUtils' import { exportSapmleList, getSampleList } from '@/api/customer/sampleList' +import { getDictByCode } from '@/api/system/dict' + const { proxy } = getCurrentInstance() as any +const certificationStatusMap = ref([]) as any // 证书状况 const $router = useRouter() // 查询条件 @@ -25,12 +29,7 @@ offset: 1, limit: 20, }) -// 证书状况字典 -const certificationStatusMap = { - 0: '未超期', - 1: '即将超期', - 2: '已超期', -} + const timeRange = ref<[DateModelType, DateModelType]>(['', '']) // 表头 const columns = ref([ @@ -42,7 +41,13 @@ { text: '委托方名称', value: 'customerName', align: 'center' }, { text: '检定周期', value: 'measurePeriod', align: 'center' }, { text: '上次检定时间', value: 'measureLastTime', align: 'center', width: '180px' }, - { text: '证书状况', value: 'certificationStatus', align: 'center' }, + { + text: '证书状况', + value: 'certificationStatus', + align: 'center', + width: '90px', + styleFilter: (row: IOvertimeList) => { return row.certificationStatus === '即将超期' ? 'color: red' : '' }, + }, ]) // 表格数据 const list = ref([]) @@ -53,6 +58,16 @@ // 选中的内容 const checkoutList = ref([]) +// 获取字典值 +async function getDict() { + // 证书状况 + const res = await getDictByCode('certificationStatus') + // 证书状况字典 {1:即将过期} + res.data.forEach((item: any) => { + certificationStatusMap.value[`${item.value}`] = item.name + }) +} + // 数据查询 function fetchData(isNowPage = false) { loadingTable.value = true @@ -63,7 +78,12 @@ listQuery.value.startTime = timeRange.value[0] as string || '' listQuery.value.endTime = timeRange.value[1] as string || '' getSampleList(listQuery.value).then((response) => { - list.value = response.data.rows + list.value = response.data.rows.map((item: IOvertimeList) => { + return { + ...item, + certificationStatus: certificationStatusMap.value[item.certificationStatus], + } + }) total.value = parseInt(response.data.total) loadingTable.value = false }) @@ -161,7 +181,10 @@ } } -fetchData(true) +onMounted(async () => { + await getDict() + fetchData(true) +}) - + - + + + diff --git a/src/views/measure/train/components/selectMeasurePersonDialog.vue b/src/views/measure/train/components/selectMeasurePersonDialog.vue new file mode 100644 index 0000000..30c3dc7 --- /dev/null +++ b/src/views/measure/train/components/selectMeasurePersonDialog.vue @@ -0,0 +1,185 @@ + + + + + + diff --git a/src/views/measure/train/components/userListDialog.vue b/src/views/measure/train/components/userListDialog.vue index a1d4bae..20488ca 100644 --- a/src/views/measure/train/components/userListDialog.vue +++ b/src/views/measure/train/components/userListDialog.vue @@ -21,18 +21,9 @@ const total = ref(0) const select = ref(-1) const columns = ref([ - { - text: '姓名', - value: 'name', - }, - { - text: '单位名称', - value: 'company', - }, - { - text: '技术职称', - value: 'remark', - }, + { text: '姓名', value: 'name' }, + { text: '单位名称', value: 'company' }, + { text: '技术职称', value: 'remark' }, ]) const list = ref(props.list || []) // 搜索 diff --git a/src/api/business/schedule/interchangeReceipt.ts b/src/api/business/schedule/interchangeReceipt.ts index 0b33406..03edba9 100644 --- a/src/api/business/schedule/interchangeReceipt.ts +++ b/src/api/business/schedule/interchangeReceipt.ts @@ -32,3 +32,31 @@ data, }) } + +// 新增 +export function addInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/add`, + method: 'post', + data, + }) +} + +// 编辑 +export function updateInterchangeReceipt(data: any) { + return request({ + url: `${prefix}/update`, + method: 'post', + data, + }) +} + +// 详情 +export function getInterchangeReceiptDetail(data: any) { + return request({ + url: `${prefix}/detail`, + method: 'post', + data, + }) +} + diff --git a/src/views/business/schedule/interchange/interchangeList.vue b/src/views/business/schedule/interchange/interchangeList.vue index 2ebcf8b..f1a3dd8 100644 --- a/src/views/business/schedule/interchange/interchangeList.vue +++ b/src/views/business/schedule/interchange/interchangeList.vue @@ -285,7 +285,7 @@ }) } else if (type === 'complete') { // 完成 - interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '2' }).then((res) => { + interchangeListTerminate({ orderId: row.orderId, reason: '', sampleId: row.sampleId, status: '5' }).then((res) => { if (res.code === 200) { ElMessage.success(`已${title}`) fetchData(true) diff --git a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue index 026fd77..e5ccc22 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptEdit.vue +++ b/src/views/business/schedule/interchangeReceipt/receiptEdit.vue @@ -1,3 +1,4 @@ + @@ -430,13 +504,20 @@ - + placeholder="请选择接收人" + style="width: 100%;" + filterable + remote + remote-show-suffix + :remote-method="remoteMethod" + :loading="applyPersonLoading" + @change="changeSelectReceiver" + > + + @@ -514,6 +595,20 @@ + - + @@ -651,7 +746,6 @@ style="width: 100%;" max-height="600" @selection-change="handleSelectionChange" - @row-dblclick="rowDblclick" > @@ -663,17 +757,7 @@ :width="item.width" show-overflow-tooltip align="center" - > - - + /> diff --git a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts index 2d1c1ff..9c56b8b 100644 --- a/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts +++ b/src/views/business/schedule/interchangeReceipt/receiptList-interface.ts @@ -27,12 +27,14 @@ export interface IReceiptDetail { interchangeCode: string // 交接单编号 orderCode: string // 委托书编号 + orderId: string // 委托书id certificationCompany: string // 证书单位名称 certificationCompanyFex: string // 传真 certificationCompanyEmail: string // 邮编 + certificationCompanyAddress: string // 证书单位地址 reciever: string // 接收人 recieverPhone: string // 接收人电话 - certificationCompanyAddress: string // 证书单位地址 + recieverSignFile: string // 接收人签名文件 customerNo: string // 委托方代码 customerId: string // 委托方id customerName: string // 委托方名称 diff --git a/src/views/business/schedule/order/orderList.vue b/src/views/business/schedule/order/orderList.vue index 7622ab0..9c1907c 100644 --- a/src/views/business/schedule/order/orderList.vue +++ b/src/views/business/schedule/order/orderList.vue @@ -39,7 +39,7 @@ { text: '送样人', value: 'deliverer', align: 'center' }, { text: '联系方式', value: 'customerPhone', align: 'center' }, { text: '样品数量', value: 'sampleCount', align: 'center' }, - { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == '1' ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == '1' ? 'color: red' : '' } }, + { text: '是否加急', value: 'isUrgent', align: 'center', width: '55px', filter: (row: IOrderList) => { return row.isUrgent == 1 ? '是' : '否' }, styleFilter: (row: IOrderList) => { return row.isUrgent == 1 ? 'color: red' : '' } }, { text: '接收状态', value: 'statusName', align: 'center', width: '80px' }, { text: '创建时间', value: 'createTime', align: 'center', width: '180px' }, { text: '备注', value: 'remark', align: 'center' }, diff --git a/src/views/customer/sample/list/edit.vue b/src/views/customer/sample/list/edit.vue index 3d667a1..4893c4f 100644 --- a/src/views/customer/sample/list/edit.vue +++ b/src/views/customer/sample/list/edit.vue @@ -26,6 +26,7 @@ const visible = ref(false) // 控制对话框显隐 const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 +const powerVoltageList = ref([]) // 电源电压 const dataForm: Ref = ref({ id: '', sampleNo: '', // 样品编号 @@ -42,9 +43,9 @@ manufacturer: '', // 生产厂家 manufacturerCountry: '', // 厂家国别 manufacturingDate: '', // 出厂年月 - abc: '', // ABC - deliverer: '', // 送检人 - delivererTel: '', // 送检人联系方式 + ABC: '', // ABC + // deliverer: '', // 送检人 + // delivererTel: '', // 送检人联系方式 measureContent: '', // 检定项目 measurePeriod: '', // 检定周期 remark: '', // 备注 @@ -54,20 +55,7 @@ measureLastTime: '', // 检定日期 validDeadline: '', // 有效日期 powerVoltage: '', // 电源电压 - sampleBelong: '', // 样品所属 - sampleBelongName: '', // 样品所属 - specialRequire: '', // 客户特殊要求 -}) -const powerVoltageMap = [ - { - name: '110V', - value: '110V', - }, - { - name: '220V', - value: '220V', - }, -]// 电源电压 +})// 表单 const ruleFormRef = ref() // 自定义校验规则--检定周期为正整数 @@ -114,6 +102,10 @@ getDictByCode('measureType').then((response) => { measureTypeList.value = response.data }) + // 电源电压 + getDictByCode('powerVoltage').then((response) => { + powerVoltageList.value = response.data + }) } getDict() @@ -482,7 +474,7 @@ :disabled="pageType === 'detail'" class="full-width-input" > - + diff --git a/src/views/customer/sample/list/list.vue b/src/views/customer/sample/list/list.vue index aceea6a..abcada5 100644 --- a/src/views/customer/sample/list/list.vue +++ b/src/views/customer/sample/list/list.vue @@ -36,7 +36,14 @@ { text: '检定周期', value: 'measurePeriod', align: 'center' }, { text: '上次检定时间', value: 'measureLastTime', align: 'center', width: '180px' }, { text: '样品状态', value: 'sampleSatusName', align: 'center', width: '80px' }, - { text: '备注', value: 'remark', align: 'center', width: '180px' }, + { + text: '证书过期时间', + value: 'validDeadline', + align: 'center', + width: '180px', + styleFilter: (row: ISampleList) => { return new Date(row.validDeadline as string).getTime() < new Date().getTime() ? 'color: red' : '' }, + }, + { text: '备注', value: 'remark', align: 'center' }, ]) // 表格数据 const list = ref([]) diff --git a/src/views/customer/sample/list/sample_list_interface.ts b/src/views/customer/sample/list/sample_list_interface.ts index aafed2a..256ed9f 100644 --- a/src/views/customer/sample/list/sample_list_interface.ts +++ b/src/views/customer/sample/list/sample_list_interface.ts @@ -24,6 +24,7 @@ measurePeriod: string // 检定周期 effectiveDate: string // 上次检定时间 remark: string // 备注 + validDeadline?: string // 证书过期时间 } export interface ISampleEdit { diff --git a/src/views/customer/sample/overTime/detail.vue b/src/views/customer/sample/overTime/detail.vue index 59f2feb..4deeed8 100644 --- a/src/views/customer/sample/overTime/detail.vue +++ b/src/views/customer/sample/overTime/detail.vue @@ -20,18 +20,9 @@ const countryList = ref(countries) // 国家列表 const loading = ref(false) // 表单加载状态 const infoId = ref('') // id -const powerVoltageMap = [ - { - name: '110V', - value: '110V', - }, - { - name: '220V', - value: '220V', - }, -]// 电源电压 const mesureCategoryList = ref([]) // 校检类别 const measureTypeList = ref([]) // 检定方式 +const powerVoltageList = ref([]) // 电源电压 const dataForm: Ref = ref({ id: '', @@ -74,6 +65,10 @@ getDictByCode('measureType').then((response) => { measureTypeList.value = response.data }) + // 电源电压 + getDictByCode('powerVoltage').then((response) => { + powerVoltageList.value = response.data + }) } getDict() @@ -358,7 +353,7 @@ :disabled="pageType === 'detail'" class="full-width-input" > - + diff --git a/src/views/customer/sample/overTime/list.vue b/src/views/customer/sample/overTime/list.vue index 05fe276..7251eda 100644 --- a/src/views/customer/sample/overTime/list.vue +++ b/src/views/customer/sample/overTime/list.vue @@ -4,12 +4,16 @@ import type { Ref } from 'vue' import type { DateModelType } from 'element-plus' import { ElLoading, ElMessage, ElMessageBox } from 'element-plus' -import type { IOvertimeList, IOvertimeListQuery } from './overtime_list_interface' +import { ITEM_RENDER_EVT } from 'element-plus/es/components/virtual-list/src/defaults' +import type { IOvertimeList, IOvertimeListQuery, dictType } from './overtime_list_interface' import type { TableColumn } from '@/components/NormalTable/table_interface' import { printJSON } from '@/utils/printUtils' import { exportFile } from '@/utils/exportUtils' import { exportSapmleList, getSampleList } from '@/api/customer/sampleList' +import { getDictByCode } from '@/api/system/dict' + const { proxy } = getCurrentInstance() as any +const certificationStatusMap = ref([]) as any // 证书状况 const $router = useRouter() // 查询条件 @@ -25,12 +29,7 @@ offset: 1, limit: 20, }) -// 证书状况字典 -const certificationStatusMap = { - 0: '未超期', - 1: '即将超期', - 2: '已超期', -} + const timeRange = ref<[DateModelType, DateModelType]>(['', '']) // 表头 const columns = ref([ @@ -42,7 +41,13 @@ { text: '委托方名称', value: 'customerName', align: 'center' }, { text: '检定周期', value: 'measurePeriod', align: 'center' }, { text: '上次检定时间', value: 'measureLastTime', align: 'center', width: '180px' }, - { text: '证书状况', value: 'certificationStatus', align: 'center' }, + { + text: '证书状况', + value: 'certificationStatus', + align: 'center', + width: '90px', + styleFilter: (row: IOvertimeList) => { return row.certificationStatus === '即将超期' ? 'color: red' : '' }, + }, ]) // 表格数据 const list = ref([]) @@ -53,6 +58,16 @@ // 选中的内容 const checkoutList = ref([]) +// 获取字典值 +async function getDict() { + // 证书状况 + const res = await getDictByCode('certificationStatus') + // 证书状况字典 {1:即将过期} + res.data.forEach((item: any) => { + certificationStatusMap.value[`${item.value}`] = item.name + }) +} + // 数据查询 function fetchData(isNowPage = false) { loadingTable.value = true @@ -63,7 +78,12 @@ listQuery.value.startTime = timeRange.value[0] as string || '' listQuery.value.endTime = timeRange.value[1] as string || '' getSampleList(listQuery.value).then((response) => { - list.value = response.data.rows + list.value = response.data.rows.map((item: IOvertimeList) => { + return { + ...item, + certificationStatus: certificationStatusMap.value[item.certificationStatus], + } + }) total.value = parseInt(response.data.total) loadingTable.value = false }) @@ -161,7 +181,10 @@ } } -fetchData(true) +onMounted(async () => { + await getDict() + fetchData(true) +}) - + - + + + diff --git a/src/views/measure/train/components/selectMeasurePersonDialog.vue b/src/views/measure/train/components/selectMeasurePersonDialog.vue new file mode 100644 index 0000000..30c3dc7 --- /dev/null +++ b/src/views/measure/train/components/selectMeasurePersonDialog.vue @@ -0,0 +1,185 @@ + + + + + + diff --git a/src/views/measure/train/components/userListDialog.vue b/src/views/measure/train/components/userListDialog.vue index a1d4bae..20488ca 100644 --- a/src/views/measure/train/components/userListDialog.vue +++ b/src/views/measure/train/components/userListDialog.vue @@ -21,18 +21,9 @@ const total = ref(0) const select = ref(-1) const columns = ref([ - { - text: '姓名', - value: 'name', - }, - { - text: '单位名称', - value: 'company', - }, - { - text: '技术职称', - value: 'remark', - }, + { text: '姓名', value: 'name' }, + { text: '单位名称', value: 'company' }, + { text: '技术职称', value: 'remark' }, ]) const list = ref(props.list || []) // 搜索 diff --git a/src/views/measure/train/plan.vue b/src/views/measure/train/plan.vue index bbac2f4..fad7684 100644 --- a/src/views/measure/train/plan.vue +++ b/src/views/measure/train/plan.vue @@ -55,63 +55,18 @@ const { proxy } = getCurrentInstance() as any // 表头 const columns = ref([ - { - text: '计划编号', - value: 'planNo', - align: 'center', - }, - { - text: '培训名称', - value: 'planName', - align: 'center', - }, - { - text: '培训对象', - value: 'trainPerson', - align: 'center', - }, - { - text: '培训人数', - value: 'trainNumber', - align: 'center', - }, - { - text: '培训学时', - value: 'trainHour', - align: 'center', - }, - { - text: '培训时间', - value: 'trainTime', - width: '180', - align: 'center', - }, - { - text: '主管部门', - value: 'deptName', - align: 'center', - }, - { - text: '实施单位', - value: 'effectiveCompany', - align: 'center', - }, - { - text: '培训内容', - value: 'trainContent', - align: 'center', - }, - { - text: '创建时间', - value: 'createTime', - width: '180', - align: 'center', - }, - { - text: '备注', - value: 'remark', - align: 'center', - }, + { text: '计划编号', value: 'planNo', width: '160', align: 'center' }, + { text: '培训名称', value: 'planName', align: 'center' }, + { text: '培训对象', value: 'trainPerson', align: 'center' }, + { text: '培训人数', value: 'trainNumber', align: 'center' }, + { text: '培训学时', value: 'trainHour', align: 'center' }, + { text: '培训时间', value: 'trainTime', width: '180', align: 'center' }, + { text: '主管部门', value: 'deptName', align: 'center' }, + { text: '实施单位', value: 'effectiveCompany', align: 'center' }, + { text: '负责人', value: 'director', align: 'center' }, + { text: '培训内容', value: 'trainContent', align: 'center' }, + { text: '创建时间', value: 'createTime', width: '180', align: 'center' }, + { text: '备注', value: 'remark', align: 'center' }, ]) // 搜索 const searchList = () => { @@ -331,8 +286,15 @@ @change="changePage" @multiSelect="handleSelectionChange" > + diff --git a/src/views/measure/train/components/selectMeasurePersonDialog.vue b/src/views/measure/train/components/selectMeasurePersonDialog.vue new file mode 100644 index 0000000..30c3dc7 --- /dev/null +++ b/src/views/measure/train/components/selectMeasurePersonDialog.vue @@ -0,0 +1,185 @@ + + + + + + diff --git a/src/views/measure/train/components/userListDialog.vue b/src/views/measure/train/components/userListDialog.vue index a1d4bae..20488ca 100644 --- a/src/views/measure/train/components/userListDialog.vue +++ b/src/views/measure/train/components/userListDialog.vue @@ -21,18 +21,9 @@ const total = ref(0) const select = ref(-1) const columns = ref([ - { - text: '姓名', - value: 'name', - }, - { - text: '单位名称', - value: 'company', - }, - { - text: '技术职称', - value: 'remark', - }, + { text: '姓名', value: 'name' }, + { text: '单位名称', value: 'company' }, + { text: '技术职称', value: 'remark' }, ]) const list = ref(props.list || []) // 搜索 diff --git a/src/views/measure/train/plan.vue b/src/views/measure/train/plan.vue index bbac2f4..fad7684 100644 --- a/src/views/measure/train/plan.vue +++ b/src/views/measure/train/plan.vue @@ -55,63 +55,18 @@ const { proxy } = getCurrentInstance() as any // 表头 const columns = ref([ - { - text: '计划编号', - value: 'planNo', - align: 'center', - }, - { - text: '培训名称', - value: 'planName', - align: 'center', - }, - { - text: '培训对象', - value: 'trainPerson', - align: 'center', - }, - { - text: '培训人数', - value: 'trainNumber', - align: 'center', - }, - { - text: '培训学时', - value: 'trainHour', - align: 'center', - }, - { - text: '培训时间', - value: 'trainTime', - width: '180', - align: 'center', - }, - { - text: '主管部门', - value: 'deptName', - align: 'center', - }, - { - text: '实施单位', - value: 'effectiveCompany', - align: 'center', - }, - { - text: '培训内容', - value: 'trainContent', - align: 'center', - }, - { - text: '创建时间', - value: 'createTime', - width: '180', - align: 'center', - }, - { - text: '备注', - value: 'remark', - align: 'center', - }, + { text: '计划编号', value: 'planNo', width: '160', align: 'center' }, + { text: '培训名称', value: 'planName', align: 'center' }, + { text: '培训对象', value: 'trainPerson', align: 'center' }, + { text: '培训人数', value: 'trainNumber', align: 'center' }, + { text: '培训学时', value: 'trainHour', align: 'center' }, + { text: '培训时间', value: 'trainTime', width: '180', align: 'center' }, + { text: '主管部门', value: 'deptName', align: 'center' }, + { text: '实施单位', value: 'effectiveCompany', align: 'center' }, + { text: '负责人', value: 'director', align: 'center' }, + { text: '培训内容', value: 'trainContent', align: 'center' }, + { text: '创建时间', value: 'createTime', width: '180', align: 'center' }, + { text: '备注', value: 'remark', align: 'center' }, ]) // 搜索 const searchList = () => { @@ -331,8 +286,15 @@ @change="changePage" @multiSelect="handleSelectionChange" > + diff --git a/src/views/measure/train/components/selectMeasurePersonDialog.vue b/src/views/measure/train/components/selectMeasurePersonDialog.vue new file mode 100644 index 0000000..30c3dc7 --- /dev/null +++ b/src/views/measure/train/components/selectMeasurePersonDialog.vue @@ -0,0 +1,185 @@ + + + + + + diff --git a/src/views/measure/train/components/userListDialog.vue b/src/views/measure/train/components/userListDialog.vue index a1d4bae..20488ca 100644 --- a/src/views/measure/train/components/userListDialog.vue +++ b/src/views/measure/train/components/userListDialog.vue @@ -21,18 +21,9 @@ const total = ref(0) const select = ref(-1) const columns = ref([ - { - text: '姓名', - value: 'name', - }, - { - text: '单位名称', - value: 'company', - }, - { - text: '技术职称', - value: 'remark', - }, + { text: '姓名', value: 'name' }, + { text: '单位名称', value: 'company' }, + { text: '技术职称', value: 'remark' }, ]) const list = ref(props.list || []) // 搜索 diff --git a/src/views/measure/train/plan.vue b/src/views/measure/train/plan.vue index bbac2f4..fad7684 100644 --- a/src/views/measure/train/plan.vue +++ b/src/views/measure/train/plan.vue @@ -55,63 +55,18 @@ const { proxy } = getCurrentInstance() as any // 表头 const columns = ref([ - { - text: '计划编号', - value: 'planNo', - align: 'center', - }, - { - text: '培训名称', - value: 'planName', - align: 'center', - }, - { - text: '培训对象', - value: 'trainPerson', - align: 'center', - }, - { - text: '培训人数', - value: 'trainNumber', - align: 'center', - }, - { - text: '培训学时', - value: 'trainHour', - align: 'center', - }, - { - text: '培训时间', - value: 'trainTime', - width: '180', - align: 'center', - }, - { - text: '主管部门', - value: 'deptName', - align: 'center', - }, - { - text: '实施单位', - value: 'effectiveCompany', - align: 'center', - }, - { - text: '培训内容', - value: 'trainContent', - align: 'center', - }, - { - text: '创建时间', - value: 'createTime', - width: '180', - align: 'center', - }, - { - text: '备注', - value: 'remark', - align: 'center', - }, + { text: '计划编号', value: 'planNo', width: '160', align: 'center' }, + { text: '培训名称', value: 'planName', align: 'center' }, + { text: '培训对象', value: 'trainPerson', align: 'center' }, + { text: '培训人数', value: 'trainNumber', align: 'center' }, + { text: '培训学时', value: 'trainHour', align: 'center' }, + { text: '培训时间', value: 'trainTime', width: '180', align: 'center' }, + { text: '主管部门', value: 'deptName', align: 'center' }, + { text: '实施单位', value: 'effectiveCompany', align: 'center' }, + { text: '负责人', value: 'director', align: 'center' }, + { text: '培训内容', value: 'trainContent', align: 'center' }, + { text: '创建时间', value: 'createTime', width: '180', align: 'center' }, + { text: '备注', value: 'remark', align: 'center' }, ]) // 搜索 const searchList = () => { @@ -331,8 +286,15 @@ @change="changePage" @multiSelect="handleSelectionChange" > + diff --git a/src/views/measure/train/components/selectMeasurePersonDialog.vue b/src/views/measure/train/components/selectMeasurePersonDialog.vue new file mode 100644 index 0000000..30c3dc7 --- /dev/null +++ b/src/views/measure/train/components/selectMeasurePersonDialog.vue @@ -0,0 +1,185 @@ + + + + + + diff --git a/src/views/measure/train/components/userListDialog.vue b/src/views/measure/train/components/userListDialog.vue index a1d4bae..20488ca 100644 --- a/src/views/measure/train/components/userListDialog.vue +++ b/src/views/measure/train/components/userListDialog.vue @@ -21,18 +21,9 @@ const total = ref(0) const select = ref(-1) const columns = ref([ - { - text: '姓名', - value: 'name', - }, - { - text: '单位名称', - value: 'company', - }, - { - text: '技术职称', - value: 'remark', - }, + { text: '姓名', value: 'name' }, + { text: '单位名称', value: 'company' }, + { text: '技术职称', value: 'remark' }, ]) const list = ref(props.list || []) // 搜索 diff --git a/src/views/measure/train/plan.vue b/src/views/measure/train/plan.vue index bbac2f4..fad7684 100644 --- a/src/views/measure/train/plan.vue +++ b/src/views/measure/train/plan.vue @@ -55,63 +55,18 @@ const { proxy } = getCurrentInstance() as any // 表头 const columns = ref([ - { - text: '计划编号', - value: 'planNo', - align: 'center', - }, - { - text: '培训名称', - value: 'planName', - align: 'center', - }, - { - text: '培训对象', - value: 'trainPerson', - align: 'center', - }, - { - text: '培训人数', - value: 'trainNumber', - align: 'center', - }, - { - text: '培训学时', - value: 'trainHour', - align: 'center', - }, - { - text: '培训时间', - value: 'trainTime', - width: '180', - align: 'center', - }, - { - text: '主管部门', - value: 'deptName', - align: 'center', - }, - { - text: '实施单位', - value: 'effectiveCompany', - align: 'center', - }, - { - text: '培训内容', - value: 'trainContent', - align: 'center', - }, - { - text: '创建时间', - value: 'createTime', - width: '180', - align: 'center', - }, - { - text: '备注', - value: 'remark', - align: 'center', - }, + { text: '计划编号', value: 'planNo', width: '160', align: 'center' }, + { text: '培训名称', value: 'planName', align: 'center' }, + { text: '培训对象', value: 'trainPerson', align: 'center' }, + { text: '培训人数', value: 'trainNumber', align: 'center' }, + { text: '培训学时', value: 'trainHour', align: 'center' }, + { text: '培训时间', value: 'trainTime', width: '180', align: 'center' }, + { text: '主管部门', value: 'deptName', align: 'center' }, + { text: '实施单位', value: 'effectiveCompany', align: 'center' }, + { text: '负责人', value: 'director', align: 'center' }, + { text: '培训内容', value: 'trainContent', align: 'center' }, + { text: '创建时间', value: 'createTime', width: '180', align: 'center' }, + { text: '备注', value: 'remark', align: 'center' }, ]) // 搜索 const searchList = () => { @@ -331,8 +286,15 @@ @change="changePage" @multiSelect="handleSelectionChange" > +