| src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/inventoryManagement/dispatchLog/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/inventoryManagement/issueManagement/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/inventoryManagement/receiptManagement/components/formDia.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/inventoryManagement/receiptManagement/components/formDiaManual.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/inventoryManagement/receiptManagement/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
@@ -121,33 +121,16 @@ <template #footer v-if="operationType === 'approval'"> <div class="dialog-footer"> <el-button type="primary" @click="submitForm(2)">不通过</el-button> <el-button type="primary" @click="openSignatureDialog(1)">通过</el-button> <el-button type="primary" @click="submitForm(1)">通过</el-button> <el-button @click="closeDia">取消</el-button> </div> </template> </el-dialog> <!-- 电子签名弹窗(vue3-signature-pad) --> <el-dialog v-model="signatureDialogVisible" title="电子签名" width="600px" append-to-body> <vueEsign ref="esign" class="mySign" :width="800" :height="300" :isCrop="isCrop" :lineWidth="lineWidth" :lineColor="lineColor" /> <div style="margin-top:10px;"> <el-button @click="clearSignature">清除</el-button> <el-button type="primary" @click="confirmSignature">确定</el-button> </div> </el-dialog> </div> </template> <script setup> import { getCurrentInstance, reactive, ref, toRefs } from "vue"; import vueEsign from "vue-esign"; import { approveProcessDetails, getDept, @@ -156,7 +139,6 @@ import useUserStore from "@/store/modules/user.js"; import {userListNoPageByTenantId} from "@/api/system/user.js"; import { WarningFilled, Edit, Check, MoreFilled } from '@element-plus/icons-vue' import { getToken } from "@/utils/auth"; const emit = defineEmits(['close']) const { proxy } = getCurrentInstance() @@ -178,21 +160,6 @@ }, }); const { form } = toRefs(data); const signatureDialogVisible = ref(false); const signatureImg = ref(''); let submitStatus = null; // 临时存储通过/不通过状态 const isCrop = ref(""); const esign = ref(null); const lineWidth = ref(0); const lineColor = ref("#000000"); // 上传配置 const upload = reactive({ // 上传的地址 url: import.meta.env.VITE_APP_BASE_API + "/file/upload", // 设置上传的请求头部 headers: { Authorization: "Bearer " + getToken() }, }); // 节点标题 const getNodeTitle = (index, len) => { @@ -248,77 +215,10 @@ productOptions.value = res.data; }); }; // 打开签名弹窗 const openSignatureDialog = (status) => { submitStatus = status; signatureDialogVisible.value = true; }; // 清除签名 const clearSignature = () => { esign.value.reset(); }; // 确认签名 const confirmSignature = () => { esign.value.generate().then((res) => { console.log(res); // 将base64转换为二进制 const base64Data = res.split(',')[1]; // 移除data:image/png;base64,前缀 const binaryString = atob(base64Data); const bytes = new Uint8Array(binaryString.length); for (let i = 0; i < binaryString.length; i++) { bytes[i] = binaryString.charCodeAt(i); } signatureImg.value = bytes; // 创建文件对象用于上传 const blob = new Blob([bytes], { type: 'image/png' }); const file = new File([blob], 'signature.png', { type: 'image/png' }); // 创建FormData const formData = new FormData(); formData.append('file', file); // 上传签名图片 fetch(upload.url, { method: 'POST', headers: upload.headers, body: formData }) .then(response => response.json()) .then(data => { if (data.code === 200) { console.log('data---', data) let tempFileIds = []; tempFileIds.push(data.data.tempId); signatureDialogVisible.value = false; clearSignature(); // 只有通过时才传递签名文件ID if (submitStatus === 1) { submitForm(submitStatus, tempFileIds); } else { submitForm(submitStatus); } } else { proxy.$modal.msgError("签名图片上传失败:" + data.msg); } }) .catch(error => { console.error('上传失败:', error); proxy.$modal.msgError("签名图片上传失败"); }); }).catch((err) => { console.log(err); proxy.$modal.msgWarning("请先签名!"); }) }; // 提交审批 const submitForm = (status, tempFileIds) => { const submitForm = (status) => { const filteredActivities = activities.value.filter(activity => activity.isShen); filteredActivities[0].approveNodeStatus = status; // 只有通过时才需要签名 if (status === 1 && tempFileIds) { filteredActivities[0].tempFileIds = tempFileIds; } // 判断是否为最后一步 const isLast = activities.value.findIndex(a => a.isShen) === activities.value.length-1; updateApproveNode({ ...filteredActivities[0], isLast }).then(() => { src/views/inventoryManagement/dispatchLog/index.vue
@@ -183,7 +183,7 @@ <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="出库日期" prop="createTime" min-width="250" show-overflow-tooltip /> <el-table-column label="供应商名称" prop="supplierName" width="250" show-overflow-tooltip /> <!-- <el-table-column label="供应商名称" prop="supplierName" width="250" show-overflow-tooltip /> --> <el-table-column label="产品大类" prop="productCategory" width="100" show-overflow-tooltip /> <el-table-column label="规格型号" prop="specificationModel" width="100" show-overflow-tooltip /> <el-table-column label="单位" prop="unit" width="80" show-overflow-tooltip /> src/views/inventoryManagement/issueManagement/index.vue
@@ -132,7 +132,7 @@ <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="入库时间" prop="inboundDate" width="100" show-overflow-tooltip /> <el-table-column label="入库批次" prop="inboundBatches" width="160" show-overflow-tooltip /> <el-table-column label="供应商名称" prop="supplierName" width="240" show-overflow-tooltip /> <!-- <el-table-column label="供应商名称" prop="supplierName" width="240" show-overflow-tooltip /> --> <el-table-column label="产品大类" prop="productCategory" width="100" show-overflow-tooltip /> <el-table-column label="规格型号" prop="specificationModel" width="200" show-overflow-tooltip /> <el-table-column label="单位" prop="unit" width="70" show-overflow-tooltip /> src/views/inventoryManagement/receiptManagement/components/formDia.vue
@@ -39,7 +39,7 @@ <el-table-column label="产品大类" prop="productCategory" /> <el-table-column label="规格型号" prop="specificationModel" /> <el-table-column label="单位" prop="unit" width="70" /> <el-table-column label="供应商" prop="supplierName" width="100" /> <!-- <el-table-column label="供应商" prop="supplierName" width="100" /> --> <el-table-column label="采购数量" prop="quantity" width="100" /> <el-table-column label="待入库数量" prop="quantity0" width="100" /> <el-table-column label="本次入库数量" prop="quantityStock" width="150"> src/views/inventoryManagement/receiptManagement/components/formDiaManual.vue
@@ -31,11 +31,11 @@ <el-input v-model="scope.row.unit" placeholder="请输入单位" /> </template> </el-table-column> <el-table-column label="供应商" prop="supplierName" width="200"> <!-- <el-table-column label="供应商" prop="supplierName" width="200"> <template #default="scope"> <el-input v-model="scope.row.supplierName" placeholder="请输入供应商" /> </template> </el-table-column> </el-table-column> --> <el-table-column label="物品类型" prop="itemType" width="140"> <template #default="scope"> <el-select v-model="scope.row.itemType" placeholder="请选择物品类型" style="width: 100%"> src/views/inventoryManagement/receiptManagement/index.vue
@@ -131,7 +131,7 @@ <el-table-column align="center" label="序号" type="index" width="60" /> <el-table-column label="入库时间" prop="inboundDate" width="100" show-overflow-tooltip /> <el-table-column label="入库批次" prop="inboundBatches" width="160" show-overflow-tooltip /> <el-table-column label="供应商名称" prop="supplierName" width="240" show-overflow-tooltip /> <!-- <el-table-column label="供应商名称" prop="supplierName" width="240" show-overflow-tooltip /> --> <el-table-column label="产品大类" prop="productCategory" width="100" show-overflow-tooltip /> <el-table-column label="规格型号" prop="specificationModel" width="200" show-overflow-tooltip /> <el-table-column label="单位" prop="unit" width="70" show-overflow-tooltip />