| | |
| | | "VITE_APP_TITLE": "芯导云(管理信息系统)" |
| | | }, |
| | | "screen": "screen/PCDZView.png", |
| | | "logo": "logo/PCDZLogo.png", |
| | | "favicon": "favicon/PCDZico.ico" |
| | | "logo": "logo/Logo.png", |
| | | "favicon": "favicon/favicon.ico" |
| | | }, |
| | | "TEST": { |
| | | "env": { |
| | |
| | | "VITE_JAVA_API": "http://1.15.17.182:9002" |
| | | }, |
| | | "screen": "screen/login-background.png", |
| | | "logo": "logo/PCDZLogo.png", |
| | | "logo": "logo/Logo.png", |
| | | "favicon": "favicon/favicon.ico" |
| | | }, |
| | | "SCZL": { |
| | |
| | | "VITE_JAVA_API": "http://1.15.17.182:9006" |
| | | }, |
| | | "screen": "screen/login-background.png", |
| | | "logo": "logo/PCDZLogo.png", |
| | | "logo": "logo/Logo.png", |
| | | "favicon": "favicon/favicon.ico" |
| | | }, |
| | | "screen": "/src/assets/images/login-background.png", |
| | |
| | | url: "/personalShift/export", |
| | | method: "get", |
| | | params: query, |
| | | responseType: "blob", |
| | | }); |
| | | } |
| | | |
| | |
| | | method: 'get', |
| | | params: query, |
| | | }) |
| | | } |
| | | } |
| | |
| | | <el-button |
| | | v-show="o.type != 'upload'" |
| | | v-if="o.showHide ? o.showHide(scope.row) : true" |
| | | :disabled="o.disabled ? o.disabled(scope.row) : false" |
| | | :disabled="isOperationDisabled(o, scope.row)" |
| | | :plain="o.plain" |
| | | type="primary" |
| | | :style="{ |
| | | color: |
| | | o.name === '删除' || o.name === 'delete' |
| | | ? '#f56c6c' |
| | | : o.color, |
| | | color: getOperationColor(o, scope.row), |
| | | fontWeight: 'bold', |
| | | }" |
| | | link |
| | | @click.stop="o.clickFun(scope.row)" |
| | |
| | | ref="uploadRef" |
| | | :multiple="o.multiple ? o.multiple : false" |
| | | :limit="1" |
| | | :disabled="o.disabled ? o.disabled(scope.row) : false" |
| | | :disabled="isOperationDisabled(o, scope.row)" |
| | | :accept=" |
| | | o.accept |
| | | ? o.accept |
| | |
| | | <el-button |
| | | link |
| | | type="primary" |
| | | :disabled="o.disabled ? o.disabled(scope.row) : false" |
| | | :disabled="isOperationDisabled(o, scope.row)" |
| | | :style="{ |
| | | color: getOperationColor(o, scope.row), |
| | | }" |
| | | >{{ o.name }}</el-button |
| | | > |
| | | </el-upload> |
| | |
| | | } else return ""; |
| | | }; |
| | | |
| | | const isOperationDisabled = (operation, row) => { |
| | | if (!operation?.disabled) return false; |
| | | return typeof operation.disabled === "function" |
| | | ? !!operation.disabled(row) |
| | | : !!operation.disabled; |
| | | }; |
| | | |
| | | const parseHexToRgb = (hex) => { |
| | | const normalized = String(hex || "").trim().replace("#", ""); |
| | | if (normalized.length === 3) { |
| | | const r = parseInt(normalized[0] + normalized[0], 16); |
| | | const g = parseInt(normalized[1] + normalized[1], 16); |
| | | const b = parseInt(normalized[2] + normalized[2], 16); |
| | | if ([r, g, b].some((n) => Number.isNaN(n))) return null; |
| | | return { r, g, b }; |
| | | } |
| | | if (normalized.length === 6 || normalized.length === 8) { |
| | | const r = parseInt(normalized.slice(0, 2), 16); |
| | | const g = parseInt(normalized.slice(2, 4), 16); |
| | | const b = parseInt(normalized.slice(4, 6), 16); |
| | | if ([r, g, b].some((n) => Number.isNaN(n))) return null; |
| | | return { r, g, b }; |
| | | } |
| | | return null; |
| | | }; |
| | | |
| | | const fadeColor = (color, alpha = 0.35) => { |
| | | const c = String(color || "").trim(); |
| | | if (!c) return undefined; |
| | | if (c.startsWith("#")) { |
| | | const rgb = parseHexToRgb(c); |
| | | if (!rgb) return c; |
| | | return `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, ${alpha})`; |
| | | } |
| | | const rgbMatch = c.match(/^rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)(?:\s*,\s*[\d.]+\s*)?\)$/i); |
| | | if (rgbMatch) { |
| | | const r = Number(rgbMatch[1]); |
| | | const g = Number(rgbMatch[2]); |
| | | const b = Number(rgbMatch[3]); |
| | | if ([r, g, b].some((n) => Number.isNaN(n))) return c; |
| | | return `rgba(${r}, ${g}, ${b}, ${alpha})`; |
| | | } |
| | | if (c.includes("--el-color-primary")) { |
| | | return "var(--el-color-primary-light-5)"; |
| | | } |
| | | if (c.includes("--el-color-danger")) { |
| | | return "var(--el-color-danger-light-5)"; |
| | | } |
| | | return "var(--el-text-color-disabled)"; |
| | | }; |
| | | |
| | | const getOperationColor = (operation, row) => { |
| | | const baseColor = |
| | | operation?.name === "删除" || operation?.name === "delete" |
| | | ? "#D93025" |
| | | : operation?.name === "详情" |
| | | ? "#67C23A" |
| | | : operation?.color || "var(--el-color-primary)"; |
| | | |
| | | if (isOperationDisabled(operation, row)) { |
| | | return fadeColor(baseColor, 0.35); |
| | | } |
| | | return baseColor; |
| | | }; |
| | | |
| | | // 文件变化处理 |
| | | const handleChange = (file, fileList, index) => { |
| | | if (fileList.length > 1) { |
| | |
| | | </el-form> |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button type="primary" @click="submitReminderForm">确认</el-button> |
| | | <el-button @click="closeReminderDialog">取消</el-button> |
| | | <el-button type="primary" |
| | | @click="submitReminderForm">提交</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | |
| | | </el-form> |
| | | <template #footer> |
| | | <div class="dialog-footer"> |
| | | <el-button type="primary" @click="submitNegotiationForm">确认</el-button> |
| | | <el-button @click="closeNegotiationDialog">取消</el-button> |
| | | <el-button type="primary" |
| | | @click="submitNegotiationForm">提交</el-button> |
| | | </div> |
| | | </template> |
| | | </el-dialog> |
| | |
| | | <template #default="{ row }"> |
| | | <el-button type="info" |
| | | link |
| | | size="small" |
| | | @click="openAttachmentDialog(row)"> |
| | | <el-icon> |
| | | <Paperclip /> |
| | |
| | | <template #default="{ row, $index }"> |
| | | <el-button type="primary" |
| | | link |
| | | size="small" |
| | | @click="editNegotiationRecord(row, $index)"> |
| | | 修改 |
| | | </el-button> |
| | | <el-button type="danger" |
| | | link |
| | | size="small" |
| | | @click="deleteNegotiationRecord(row, $index)"> |
| | | 删除 |
| | | </el-button> |
| | |
| | | <template #default="{ row, $index }"> |
| | | <el-button type="primary" |
| | | link |
| | | size="small" |
| | | @click="downloadAttachment(row)"> |
| | | 下载 |
| | | </el-button> |
| | | <el-button type="danger" |
| | | link |
| | | size="small" |
| | | @click="deleteAttachment(row, $index)"> |
| | | 删除 |
| | | </el-button> |
| | |
| | | label: "操作", |
| | | align: "center", |
| | | fixed: "right", |
| | | width: 250, |
| | | width: 290, |
| | | operation: [ |
| | | { |
| | | name: "编辑", |
| | |
| | | openForm("edit", row); |
| | | }, |
| | | }, |
| | | { |
| | | name: "详情", |
| | | type: "text", |
| | | clickFun: row => { |
| | | openDetailDialog(row); |
| | | }, |
| | | }, |
| | | { |
| | | name: "添加洽谈进度", |
| | | type: "text", |
| | | clickFun: row => { |
| | | openNegotiationDialog(row); |
| | | }, |
| | | }, |
| | | { |
| | | name: "回访提醒", |
| | | type: "text", |
| | |
| | | openReminderDialog(row); |
| | | }, |
| | | }, |
| | | { |
| | | name: "添加洽谈进度", |
| | | type: "text", |
| | | clickFun: row => { |
| | | openNegotiationDialog(row); |
| | | }, |
| | | }, |
| | | { |
| | | name: "详情", |
| | | type: "text", |
| | | clickFun: row => { |
| | | openDetailDialog(row); |
| | | }, |
| | | }, |
| | | ], |
| | | }, |
| | | ]); |
| | |
| | | <el-table-column label="附件名称" prop="name" min-width="400" show-overflow-tooltip /> |
| | | <el-table-column fixed="right" label="操作" width="150" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" size="small" @click="downLoadFile(scope.row)">下载</el-button> |
| | | <el-button link type="primary" size="small" @click="lookFile(scope.row)">预览</el-button> |
| | | <el-button link type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button> |
| | | <el-button link type="primary" @click="downLoadFile(scope.row)">下载</el-button> |
| | | <el-button link type="primary" @click="lookFile(scope.row)">预览</el-button> |
| | | <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <el-table-column label="拜访人" prop="visitingPeople" width="120" show-overflow-tooltip /> |
| | | <el-table-column fixed="right" label="操作" width="100" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" size="small" @click="viewDetail(scope.row)">查看</el-button> |
| | | <el-button link type="primary" size="small" @click="viewDetail(scope.row)" style="color: #67C23A">查看</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | } |
| | | }, |
| | | { |
| | | name: "查看", |
| | | name: "详情", |
| | | type: "text", |
| | | clickFun: (row) => { |
| | | viewKnowledge(row); |
| | |
| | | v-if="scope.row.editing" |
| | | link |
| | | type="primary" |
| | | size="small" |
| | | @click="handleSaveNoticeType(scope.row)" |
| | | > |
| | | 保存 |
| | |
| | | v-if="scope.row.editing" |
| | | link |
| | | type="info" |
| | | size="small" |
| | | @click="handleCancelEdit(scope.row)" |
| | | > |
| | | 取消 |
| | |
| | | v-if="!scope.row.editing" |
| | | link |
| | | type="primary" |
| | | size="small" |
| | | @click="handleEditNoticeType(scope.row)" |
| | | > |
| | | 编辑 |
| | |
| | | v-if="!scope.row.editing" |
| | | link |
| | | type="danger" |
| | | size="small" |
| | | @click="handleDeleteNoticeType(scope.row)" |
| | | > |
| | | 删除 |
| | |
| | | </div> |
| | | <div class="plan-actions"> |
| | | <el-button size="small" @click="handleEditPlan(plan)">编辑</el-button> |
| | | <el-button size="small" @click="handleViewDetail(plan)">详情</el-button> |
| | | <el-button size="small" @click="handleViewDetail(plan)" style="color: #67C23A">详情</el-button> |
| | | <el-dropdown @command="(command) => handleMoreAction(plan, command)"> |
| | | <el-button size="small"> |
| | | 更多<el-icon class="el-icon--right"><ArrowDown /></el-icon> |
| | |
| | | <el-table-column label="操作" width="150"> |
| | | <template #default="{ row }"> |
| | | <el-button type="text" @click="updateStatus(row)">更新状态</el-button> |
| | | <el-button type="text" @click="viewDetails(row)">详情</el-button> |
| | | <el-button type="text" @click="viewDetails(row)" style="color: #67C23A">详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | fixed: "right", |
| | | align: "center", |
| | | operation: [ |
| | | { name: "查看", clickFun: (row) => viewRegulation(row) }, |
| | | { name: "编辑", clickFun: (row) => handleEdit(row) }, |
| | | { name: "废弃", clickFun: (row) => repealEdit(row) }, |
| | | { name: "版本历史", clickFun: (row) => viewVersionHistory(row) }, |
| | | { name: "详情", clickFun: (row) => viewRegulation(row) }, |
| | | { name: "附件", clickFun: (row) => openFileDialog(row) }, |
| | | ], |
| | | }, |
| | |
| | | fixed: 'right', |
| | | align: 'center', |
| | | operation: [ |
| | | { name: '查看', clickFun: (row) => viewSealDetail(row) }, |
| | | { |
| | | name: '审批', |
| | | clickFun: (row) => approveSeal(row), |
| | |
| | | name: '拒绝', |
| | | clickFun: (row) => rejectSeal(row), |
| | | showHide: (row) => row.status === 'pending' |
| | | } |
| | | }, |
| | | { name: '详情', clickFun: (row) => viewSealDetail(row) } |
| | | ] |
| | | } |
| | | ]) |
| | |
| | | // 打开弹框 |
| | | const openDialog =async (type, row) => { |
| | | // 请求多个接口,获取数据 |
| | | let res = await getAllCustomerList(); |
| | | let res = await getAllCustomerList({ |
| | | current: 1, |
| | | size: 1000, |
| | | total: 0, |
| | | }); |
| | | if(res.records){ |
| | | customerNameOptions.value = res.records.map(item => ({ |
| | | label: item.customerName, |
| | |
| | | <el-table-column prop="lastUpdate" label="最后更新" /> |
| | | <el-table-column label="操作"> |
| | | <template #default="scope"> |
| | | <el-button |
| | | size="small" |
| | | <el-button |
| | | @click="updateModel(scope.row)" |
| | | > |
| | | 更新模型 |
| | | </el-button> |
| | | <el-button |
| | | size="small" |
| | | <el-button |
| | | type="danger" |
| | | @click="deleteModel(scope.row)" |
| | | > |
| | |
| | | <el-table-column label="创建时间" prop="createTime" align="center" /> |
| | | <el-table-column label="操作" align="center" width="150"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" @click="openDetail(scope.row)">详情</el-button> |
| | | <el-button link type="primary" @click="openDetail(scope.row)" style="color: #67C23A">详情</el-button> |
| | | <el-button link type="primary" @click="openConfirm(scope.row)">确认</el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | function getList() { |
| | | loading.value = true; |
| | | const { pageNum, pageSize, ...filters } = queryParams; |
| | | listPlan({ |
| | | listPage({ |
| | | current: pageNum, |
| | | size: pageSize, |
| | | ...filters |
| | |
| | | <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip /> |
| | | <el-table-column fixed="right" label="操作" min-width="60" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" size="small" @click="openForm(scope.row);">领用</el-button> |
| | | <el-button link type="primary" @click="openForm(scope.row);">领用</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <el-table-column label="库存预警数量" prop="warnNum" show-overflow-tooltip /> |
| | | <el-table-column label="备注" prop="remark" show-overflow-tooltip /> |
| | | <el-table-column label="最近更新时间" prop="updateTime" show-overflow-tooltip /> |
| | | <el-table-column fixed="right" label="操作" min-width="60" align="center"> |
| | | <el-table-column fixed="right" label="操作" min-width="90" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" size="small" @click="showSubtractModal(scope.row)" :disabled="scope.row.unLockedQuantity === 0">领用</el-button> |
| | | <el-button link type="primary" size="small" v-if="scope.row.unLockedQuantity > 0" @click="showFrozenModal(scope.row)">冻结</el-button> |
| | | <el-button link type="primary" size="small" v-if="scope.row.lockedQuantity > 0" @click="showThawModal(scope.row)">解冻</el-button> |
| | | <el-button link type="primary" @click="showSubtractModal(scope.row)" :disabled="scope.row.unLockedQuantity === 0">领用</el-button> |
| | | <el-button link type="primary" v-if="scope.row.unLockedQuantity > 0" @click="showFrozenModal(scope.row)">冻结</el-button> |
| | | <el-button link type="primary" v-if="scope.row.lockedQuantity > 0" @click="showThawModal(scope.row)">解冻</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <el-table-column label="冻结数量" prop="lockedQuantity" show-overflow-tooltip /> |
| | | <el-table-column label="备注" prop="remark" show-overflow-tooltip /> |
| | | <el-table-column label="最近更新时间" prop="updateTime" show-overflow-tooltip /> |
| | | <el-table-column fixed="right" label="操作" min-width="60" align="center"> |
| | | <el-table-column fixed="right" label="操作" min-width="90" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" size="small" @click="showSubtractModal(scope.row)" :disabled="scope.row.unLockedQuantity === 0">领用</el-button> |
| | | <el-button link type="primary" size="small" v-if="scope.row.unLockedQuantity > 0" @click="showFrozenModal(scope.row)">冻结</el-button> |
| | | <el-button link type="primary" size="small" v-if="scope.row.lockedQuantity > 0" @click="showThawModal(scope.row)">解冻</el-button> |
| | | <el-button link type="primary" @click="showSubtractModal(scope.row)" :disabled="scope.row.unLockedQuantity === 0">领用</el-button> |
| | | <el-button link type="primary" v-if="scope.row.unLockedQuantity > 0" @click="showFrozenModal(scope.row)">冻结</el-button> |
| | | <el-button link type="primary" v-if="scope.row.lockedQuantity > 0" @click="showThawModal(scope.row)">解冻</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <!-- 操作列 --> |
| | | <el-table-column fixed="right" label="操作" width="200" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" size="small" @click="handleEdit(scope.row)">编辑</el-button> |
| | | <el-button link type="primary" @click="handleEdit(scope.row)">编辑</el-button> |
| | | <!-- <el-button link type="success" size="small" @click="handleProcess(scope.row)">处理@</el-button>--> |
| | | <el-button link type="danger" size="small" @click="handleDelete(scope.row)">删除</el-button> |
| | | <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | align="center"> |
| | | <template #default="scope"> |
| | | <el-button type="primary" |
| | | size="small" |
| | | link |
| | | @click="openForm('edit', scope.row)">编辑</el-button> |
| | | <el-button type="danger" |
| | | size="small" |
| | | link |
| | | @click="handleDelete(scope.row.id)">删除</el-button> |
| | | </template> |
| | |
| | | }) |
| | | .then(res => { |
| | | proxy.$modal.msgSuccess("下载成功"); |
| | | downLoading.value = false; |
| | | const blob = new Blob([res], { |
| | | type: "application/force-download", |
| | | }); |
| | | const blob = |
| | | res instanceof Blob |
| | | ? res |
| | | : new Blob([res], { |
| | | type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", |
| | | }); |
| | | let fileName = ""; |
| | | if (query.month) { |
| | | fileName = year + "-" + query.month + " 班次信息"; |
| | |
| | | proxy.$download.saveAs(blob, fileName + ".xlsx"); |
| | | }) |
| | | .catch(err => { |
| | | }) |
| | | .finally(() => { |
| | | downLoading.value = false; |
| | | }); |
| | | }; |
| | |
| | | <el-date-picker |
| | | v-model="form.leaveDate" |
| | | type="date" |
| | | :disabled="operationType === 'edit'" |
| | | placeholder="请选择离职日期" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | |
| | | clearable |
| | | :prefix-icon="Search" |
| | | /> |
| | | <span style="margin-left: 10px" class="search_title">合同结束日期:</span> |
| | | <el-date-picker v-model="searchForm.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="daterange" |
| | | placeholder="请选择" clearable @change="changeDaterange" /> |
| | | <span class="search_title search_title2">部门:</span> |
| | | <el-tree-select |
| | | v-model="searchForm.sysDeptId" |
| | | :data="deptOptions" |
| | | check-strictly |
| | | :render-after-expand="false" |
| | | style="width: 240px" |
| | | placeholder="请选择" |
| | | /> |
| | | <span class="search_title search_title2">入职日期:</span> |
| | | <el-date-picker |
| | | v-model="searchForm.contractStartTime" |
| | | value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" |
| | | placeholder="请选择" |
| | | /> |
| | | <!-- <span style="margin-left: 10px" class="search_title">合同结束日期:</span> --> |
| | | <!-- <el-date-picker v-model="searchForm.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="daterange" |
| | | placeholder="请选择" clearable @change="changeDaterange" /> --> |
| | | <el-button type="primary" @click="handleQuery" style="margin-left: 10px" |
| | | >搜索</el-button |
| | | > |
| | |
| | | import { Search } from "@element-plus/icons-vue"; |
| | | import {onMounted, ref} from "vue"; |
| | | import {ElMessageBox} from "element-plus"; |
| | | import { deptTreeSelect } from "@/api/system/user.js"; |
| | | import {batchDeleteStaffOnJobs, staffOnJobListPage} from "@/api/personnelManagement/staffOnJob.js"; |
| | | import dayjs from "dayjs"; |
| | | |
| | | const NewOrEditFormDia = defineAsyncComponent(() => import("@/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue")); |
| | | const ShowFormDia = defineAsyncComponent(() => import( "@/views/personnelManagement/employeeRecord/components/Show.vue")); |
| | | const RenewContract = defineAsyncComponent(() => import( "@/views/personnelManagement/employeeRecord/components/RenewContract.vue")); |
| | |
| | | entryDateStart: undefined, |
| | | entryDateEnd: undefined, |
| | | }, |
| | | deptOptions: { type: Array, default: () => [] }, |
| | | }); |
| | | const { searchForm } = toRefs(data); |
| | | const { searchForm, deptOptions } = toRefs(data); |
| | | const isShowRenewContractModal = ref(false); |
| | | const id = ref(0); |
| | | const tableColumn = ref([ |
| | |
| | | { |
| | | label: "出生日期", |
| | | prop: "birthDate", |
| | | width: 120, |
| | | }, |
| | | { |
| | | label: "入职日期", |
| | | prop: "contractStartTime", |
| | | width: 120, |
| | | }, |
| | | { |
| | |
| | | const formDiaNewOrEditFormDia = ref() |
| | | const { proxy } = getCurrentInstance() |
| | | |
| | | const fetchDeptOptions = () => { |
| | | deptTreeSelect().then(response => { |
| | | console.log(response.data) |
| | | deptOptions.value = filterDisabledDept( |
| | | JSON.parse(JSON.stringify(response.data)) |
| | | ); |
| | | }); |
| | | }; |
| | | const filterDisabledDept = deptList => { |
| | | return deptList.filter(dept => { |
| | | if (dept.disabled) { |
| | | return false; |
| | | } |
| | | if (dept.children && dept.children.length) { |
| | | dept.children = filterDisabledDept(dept.children); |
| | | } |
| | | return true; |
| | | }); |
| | | }; |
| | | const changeDaterange = (value) => { |
| | | searchForm.value.entryDateStart = undefined; |
| | | searchForm.value.entryDateEnd = undefined; |
| | |
| | | getList(); |
| | | }; |
| | | const getList = () => { |
| | | fetchDeptOptions(); |
| | | tableLoading.value = true; |
| | | const params = { ...searchForm.value, ...page }; |
| | | params.entryDate = undefined |
| | |
| | | }); |
| | | </script> |
| | | |
| | | <style scoped></style> |
| | | <style scoped> |
| | | .search_title2 { |
| | | margin-left: 10px; |
| | | } |
| | | </style> |
| | |
| | | <el-button |
| | | link |
| | | type="primary" |
| | | size="small" |
| | | @click="changeEditType(scope.row)" |
| | | v-if="!scope.row.editType" |
| | | >编辑</el-button |
| | |
| | | <el-button |
| | | link |
| | | type="primary" |
| | | size="small" |
| | | @click="saveReceiptPayment(scope.row)" |
| | | v-if="scope.row.editType" |
| | | >保存</el-button |
| | |
| | | <el-button |
| | | link |
| | | type="primary" |
| | | size="small" |
| | | @click="handleDelete(scope.row)" |
| | | >删除</el-button |
| | | > |
| | |
| | | <el-button |
| | | type="primary" |
| | | link |
| | | size="small" |
| | | @click="handleDelete(row)" |
| | | > |
| | | 删除 |
| | |
| | | <template #default="scope"> |
| | | <el-button link |
| | | type="primary" |
| | | size="small" |
| | | @click="openForm('edit', scope.row)" |
| | | :disabled="scope.row.approvalStatus !== 1 && scope.row.approvalStatus !== 4">编辑</el-button> |
| | | <el-button link |
| | | type="primary" |
| | | size="small" |
| | | @click="downLoadFile(scope.row)">附件</el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <template #default="scope"> |
| | | <el-button link |
| | | type="primary" |
| | | size="small" |
| | | @click="openProductForm('edit', scope.row, scope.$index)">编辑</el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <el-table-column label="最近更新时间" prop="updateTime" show-overflow-tooltip /> |
| | | <el-table-column fixed="right" label="操作" min-width="60" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" size="small">详情</el-button> |
| | | <el-button link type="primary" size="small" style="color: #67C23A">详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <template #default="scope"> |
| | | <el-button link |
| | | type="primary" |
| | | @click="handleView(scope.row)">查看</el-button> |
| | | @click="handleView(scope.row)" style="color: #67C23A">查看</el-button> |
| | | <el-button link |
| | | type="primary" |
| | | @click="handleEdit(scope.row)">编辑</el-button> |
| | |
| | | |
| | | const showReportDialog = row => { |
| | | currentReportRowData.value = row; |
| | | reportForm.planQuantity = row.planQuantity; |
| | | reportForm.planQuantity = row.planQuantity - row.completeQuantity; |
| | | reportForm.quantity = |
| | | row.quantity !== undefined && row.quantity !== null ? row.quantity : null; |
| | | reportForm.productProcessRouteItemId = row.productProcessRouteItemId; |
| | |
| | | </el-dropdown> --> |
| | | <el-button :loading="submitLoading" @click="handleSubmit">提交</el-button> |
| | | <el-button :loading="auditLoading" @click="handleAudit">审核</el-button> |
| | | <el-button :loading="reverseAuditLoading" @click="handleReverseAudit">反审核</el-button> |
| | | <!-- <el-button :loading="reverseAuditLoading" @click="handleReverseAudit">反审核</el-button> --> |
| | | <el-button :loading="deleteLoading" @click="handleDelete">删除</el-button> |
| | | </div> |
| | | |
| | |
| | | <el-table-column prop="defaultValue" label="默认值" min-width="120" /> |
| | | <el-table-column label="操作" width="140" fixed="right" align="center"> |
| | | <template #default="{ row }"> |
| | | <el-button link type="primary" size="small" :disabled="isStandardReadonly" @click="openParamDialog('edit', row)"> |
| | | <el-button link type="primary" :disabled="isStandardReadonly" @click="openParamDialog('edit', row)"> |
| | | 编辑 |
| | | </el-button> |
| | | <el-button link type="danger" size="small" :disabled="isStandardReadonly" @click="handleParamDelete(row)"> |
| | | <el-button link type="danger" :disabled="isStandardReadonly" @click="handleParamDelete(row)"> |
| | | 删除 |
| | | </el-button> |
| | | </template> |
| | |
| | | </el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" label="操作" width="200" align="center"> |
| | | <el-table-column fixed="right" label="操作" width="220" align="center"> |
| | | <template #default="scope"> |
| | | <el-button |
| | | link |
| | | type="primary" |
| | | size="small" |
| | | type="primary" |
| | | :disabled="!isApproved(scope.row.status)" |
| | | @click="openForm('edit', scope.row)">补充发货信息</el-button> |
| | | <el-button |
| | | link |
| | | type="primary" |
| | | size="small" |
| | | style="color: #67C23A" |
| | | @click="openDetail(scope.row)" |
| | | >详情</el-button> |
| | | <el-button |
| | | link |
| | | type="danger" |
| | | size="small" |
| | | type="danger" |
| | | :disabled="isApproving(scope.row.status)" |
| | | @click="handleDeleteSingle(scope.row)">删除</el-button> |
| | | </template> |
| | |
| | | <el-table-column label="开票日期" prop="invoiceDate" show-overflow-tooltip width="120" /> |
| | | <el-table-column fixed="right" label="操作" width="150" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" size="small" @click="openForm(scope.row)">编辑</el-button> |
| | | <el-button link type="primary" size="small" @click="downLoadFile(scope.row)">附件</el-button> |
| | | <el-button link type="primary" size="small" @click="delInvoiceLedger(scope.row)">删除</el-button> |
| | | <el-button link type="primary" @click="openForm(scope.row)">编辑</el-button> |
| | | <el-button link type="primary" @click="downLoadFile(scope.row)">附件</el-button> |
| | | <el-button link type="primary" @click="delInvoiceLedger(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="操作" width="250" fixed="right" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" @click="handleView(scope.row)">查看</el-button> |
| | | <el-button link type="primary" @click="handleView(scope.row)" style="color: #67C23A">查看</el-button> |
| | | <el-button link type="primary" @click="handleEdit(scope.row)" v-if="scope.row.status === '待审核'">编辑</el-button> |
| | | <el-button link type="primary" @click="handleReview(scope.row)" v-if="scope.row.status === '待审核'">审核</el-button> |
| | | <el-button link type="primary" @click="handleTransfer(scope.row)" v-if="scope.row.status === '已审核'">转单</el-button> |
| | |
| | | <el-button |
| | | link |
| | | type="primary" |
| | | size="small" |
| | | @click="changeEditType(scope.row)" |
| | | v-if="!scope.row.editType" |
| | | >编辑</el-button |
| | |
| | | <el-button |
| | | link |
| | | type="primary" |
| | | size="small" |
| | | @click="saveReceiptPayment(scope.row)" |
| | | v-if="scope.row.editType" |
| | | >保存</el-button |
| | |
| | | <el-button |
| | | link |
| | | type="primary" |
| | | size="small" |
| | | @click="delReceiptRecord(scope.row)" |
| | | >删除</el-button |
| | | > |
| | |
| | | <el-button |
| | | type="primary" |
| | | link |
| | | size="small" |
| | | @click="handleDelete(row)" |
| | | > |
| | | 删除 |
| | |
| | | <div class="table_list"> |
| | | <div class="table_header" style="display: flex;justify-content: flex-end;margin-bottom: 10px;"> |
| | | <el-button type="primary" @click="openForm('add')">新建销售退货</el-button> |
| | | <el-button type="danger" plain @click="handleDelete">删除</el-button> |
| | | <el-button type="danger" :disabled="selectedRows.length === 0 || selectedRows.some(row => row.status !== 0)" @click="handleDelete">删除</el-button> |
| | | </div> |
| | | <PIMTable |
| | | rowKey="id" |
| | |
| | | <el-table-column label="附件名称" prop="name" min-width="400" show-overflow-tooltip /> |
| | | <el-table-column fixed="right" label="操作" width="100" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" size="small" @click="downLoadFile(scope.row)">下载</el-button> |
| | | <el-button link type="primary" size="small" @click="lookFile(scope.row)">预览</el-button> |
| | | <el-button link type="primary" @click="downLoadFile(scope.row)">下载</el-button> |
| | | <el-button link type="primary" @click="lookFile(scope.row)">预览</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | width="100px" |
| | | align="center"> |
| | | <template #default="scope"> |
| | | <el-tag v-if="scope.row.approveStatus === 1" |
| | | |
| | | <el-tag v-if="scope.row.approveStatus === 1 && (!scope.row.shippingDate || !scope.row.shippingCarNumber)" |
| | | type="success">充足</el-tag> |
| | | <el-tag v-else |
| | | type="danger">不足</el-tag> |
| | | <el-tag v-else-if="scope.row.approveStatus === 0 && (scope.row.shippingDate || scope.row.shippingCarNumber)" |
| | | type="success">已出库</el-tag> |
| | | <el-tag v-else type="danger">不足</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="发货状态" width="140" align="center"> |
| | |
| | | <template #default="scope"> |
| | | <el-button |
| | | link |
| | | type="primary" |
| | | size="small" |
| | | type="primary" |
| | | :disabled="!canShip(scope.row)" |
| | | @click="openDeliveryForm(scope.row)"> |
| | | 发货 |
| | |
| | | <el-table-column label="签订日期" prop="executionDate" width="120" show-overflow-tooltip /> |
| | | <el-table-column label="交付日期" prop="deliveryDate" width="120" show-overflow-tooltip /> |
| | | <el-table-column label="备注" prop="remarks" width="200" show-overflow-tooltip /> |
| | | <el-table-column fixed="right" label="操作" min-width="100" align="center"> |
| | | <el-table-column fixed="right" label="操作" width="130" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" size="small" @click="openForm('edit', scope.row)" :disabled="!scope.row.isEdit">编辑</el-button> |
| | | <!-- <el-button link type="primary" size="small" @click="openForm('view', scope.row)">详情</el-button>--> |
| | | <el-button link type="primary" size="small" @click="downLoadFile(scope.row)">附件</el-button> |
| | | <!-- <el-button link type="primary" size="small" @click="openDeliveryForm(scope.row)">发货</el-button>--> |
| | | <el-button link type="primary" @click="openForm('edit', scope.row)" :disabled="!scope.row.isEdit">编辑</el-button> |
| | | <el-button link type="primary" @click="downLoadFile(scope.row)">附件</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <div> |
| | | <el-button |
| | | type="danger" |
| | | size="small" |
| | | @click="removeApproverNode(index)" |
| | | v-if="approverNodes.length > 1" |
| | | >删除</el-button> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="操作" width="200" fixed="right" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" @click="handleView(scope.row)">查看</el-button> |
| | | <el-button link type="primary" @click="handleEdit(scope.row)" :disabled="!['待审批','拒绝'].includes(scope.row.status)">编辑</el-button> |
| | | <el-button link type="primary" @click="handleView(scope.row)" style="color: #67C23A">查看</el-button> |
| | | <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="操作" width="200" fixed="right" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" @click="handleViewPriceStrategy(scope.row)">查看</el-button> |
| | | <el-button link type="primary" @click="handleViewPriceStrategy(scope.row)" style="color: #67C23A">查看</el-button> |
| | | <el-button link type="primary" @click="handleEditPriceStrategy(scope.row)">编辑</el-button> |
| | | <el-button link type="danger" @click="handleDeletePriceStrategy(scope.row)">删除</el-button> |
| | | </template> |
| | |
| | | </el-table-column> |
| | | <el-table-column label="操作" width="120" fixed="right" align="center"> |
| | | <template #default="scope"> |
| | | <el-button link type="primary" @click="handleViewContract(scope.row)">查看详情</el-button> |
| | | <el-button link type="primary" @click="handleViewContract(scope.row)" style="color: #67C23A">查看详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |