|
|
@@ -901,131 +901,120 @@
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="工作负责人"><el-input v-model="finalizeForm.teamLeaderName" disabled /> </el-form-item>
|
|
|
</el-col>
|
|
|
-<!-- <el-col :span="12">-->
|
|
|
-<!-- <el-form-item label="MIS工单编码" prop="misOrderNo">-->
|
|
|
-<!-- <el-input-->
|
|
|
-<!-- v-model="finalizeForm.misOrderNo"-->
|
|
|
-<!-- placeholder="请输入MIS工单编码"-->
|
|
|
-<!-- maxlength="50"-->
|
|
|
-<!-- show-word-limit-->
|
|
|
-<!-- v-chinese-limit-->
|
|
|
-<!-- @blur="handleMisOrderNoBlur"-->
|
|
|
-<!-- />-->
|
|
|
-<!-- </el-form-item>-->
|
|
|
-<!-- </el-col>-->
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="MIS工单编码" prop="misOrderNo">
|
|
|
- <el-input
|
|
|
- v-model="finalizeForm.misOrderNo"
|
|
|
- placeholder="请输入MIS工单编码或点击搜索选择"
|
|
|
- clearable
|
|
|
- @focus="handleMisNoInputFocus"
|
|
|
- @blur="handleMisNoInputBlur"
|
|
|
- @input="handleMisNoInput"
|
|
|
- @clear="handleMisNoClear"
|
|
|
+ <el-form-item label="维修方式" prop="repairMethod">
|
|
|
+ <el-select
|
|
|
+ v-model="finalizeForm.repairMethod"
|
|
|
+ placeholder="请选择维修方式"
|
|
|
+ style="width: 100%"
|
|
|
+ @change="handleRepairMethodChange"
|
|
|
>
|
|
|
- <template #append>
|
|
|
- <el-button @click="handleSelectMisInfo" icon="Search"></el-button>
|
|
|
- </template>
|
|
|
- </el-input>
|
|
|
- <!-- 快速检索下拉框 -->
|
|
|
- <div class="quick-select-dropdown" v-show="showMisNoQuickSelect && quickMisNoList.length > 0">
|
|
|
- <div
|
|
|
- v-for="item in quickMisNoList"
|
|
|
- :key="item.misNo"
|
|
|
- class="quick-select-item"
|
|
|
- @click="handleMisNoQuickSelect(item)">
|
|
|
- <span class="mis-no">{{ item.misNo }}</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="quick-select-dropdown no-data" v-show="showMisNoQuickSelect && quickMisNoList.length === 0 && form.misNo">
|
|
|
- <div>未找到匹配的MIS工单</div>
|
|
|
- </div>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <!-- MIS选择组件 -->
|
|
|
- <MisInfoSelectSingle :key="commonKey" v-model="misInfoSelectVisible" @onSelected="onMisInfoSelected" :pcsStationName="finalizeForm.pcsStationName" :pcsDeviceName="finalizeForm.pcsDeviceName"></MisInfoSelectSingle>
|
|
|
- <el-col :span="12">
|
|
|
-<!-- <el-form-item label="开始时间">{{ parseTime(finalizeForm.realStartTime, '{y}-{m}-{d} {h}:{i}') }}</el-form-item>-->
|
|
|
- <el-form-item label="开始时间" prop="realStartTime">
|
|
|
- <el-date-picker
|
|
|
- v-model="finalizeForm.realStartTime"
|
|
|
- type="datetime"
|
|
|
- format="YYYY-MM-DD HH:mm"
|
|
|
- value-format="YYYY-MM-DD HH:mm"
|
|
|
- placeholder="请选择开始时间"
|
|
|
- style="width: 100%"
|
|
|
- :disabled="getMisDataConfig === '1'"
|
|
|
- readonly
|
|
|
- />
|
|
|
+ <el-option
|
|
|
+ v-for="dict in gxt_repair_method"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
-<!-- <el-form-item label="结束时间">{{ parseTime(finalizeForm.realEndTime, '{y}-{m}-{d} {h}:{i}') }}</el-form-item>-->
|
|
|
- <el-form-item label="结束时间" prop="realEndTime">
|
|
|
- <el-date-picker
|
|
|
- v-model="finalizeForm.realEndTime"
|
|
|
- type="datetime"
|
|
|
- format="YYYY-MM-DD HH:mm"
|
|
|
- value-format="YYYY-MM-DD HH:mm"
|
|
|
- placeholder="请选择结束时间"
|
|
|
+
|
|
|
+ <!-- 正常维修时显示的字段 -->
|
|
|
+ <template v-if="!finalizeForm.repairMethod || finalizeForm.repairMethod === '1'">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="MIS工单编码" prop="misOrderNo">
|
|
|
+ <el-input
|
|
|
+ v-model="finalizeForm.misOrderNo"
|
|
|
+ placeholder="请输入MIS工单编码或点击搜索选择"
|
|
|
+ clearable
|
|
|
+ @focus="handleMisNoInputFocus"
|
|
|
+ @blur="handleMisNoInputBlur"
|
|
|
+ @input="handleMisNoInput"
|
|
|
+ @clear="handleMisNoClear"
|
|
|
+ >
|
|
|
+ <template #append>
|
|
|
+ <el-button @click="handleSelectMisInfo" icon="Search"></el-button>
|
|
|
+ </template>
|
|
|
+ </el-input>
|
|
|
+ <!-- 快速检索下拉框 -->
|
|
|
+ <div class="quick-select-dropdown" v-show="showMisNoQuickSelect && quickMisNoList.length > 0">
|
|
|
+ <div
|
|
|
+ v-for="item in quickMisNoList"
|
|
|
+ :key="item.misNo"
|
|
|
+ class="quick-select-item"
|
|
|
+ @click="handleMisNoQuickSelect(item)">
|
|
|
+ <span class="mis-no">{{ item.misNo }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="quick-select-dropdown no-data" v-show="showMisNoQuickSelect && quickMisNoList.length === 0 && form.misNo">
|
|
|
+ <div>未找到匹配的MIS工单</div>
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <!-- MIS选择组件 -->
|
|
|
+ <MisInfoSelectSingle :key="commonKey" v-model="misInfoSelectVisible" @onSelected="onMisInfoSelected" :pcsStationName="finalizeForm.pcsStationName" :pcsDeviceName="finalizeForm.pcsDeviceName"></MisInfoSelectSingle>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="开始时间" prop="realStartTime">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="finalizeForm.realStartTime"
|
|
|
+ type="datetime"
|
|
|
+ format="YYYY-MM-DD HH:mm"
|
|
|
+ value-format="YYYY-MM-DD HH:mm"
|
|
|
+ placeholder="请选择开始时间"
|
|
|
+ style="width: 100%"
|
|
|
+ :disabled="getMisDataConfig === '1'"
|
|
|
+ readonly
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="结束时间" prop="realEndTime">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="finalizeForm.realEndTime"
|
|
|
+ type="datetime"
|
|
|
+ format="YYYY-MM-DD HH:mm"
|
|
|
+ value-format="YYYY-MM-DD HH:mm"
|
|
|
+ placeholder="请选择结束时间"
|
|
|
+ style="width: 100%"
|
|
|
+ :disabled="getMisDataConfig === '1'"
|
|
|
+ readonly
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="检修人员" prop="workGroupMemberName">
|
|
|
+ <el-input
|
|
|
+ v-model="finalizeForm.workGroupMemberName"
|
|
|
+ placeholder="请输入检修人员"
|
|
|
+ maxlength="200"
|
|
|
+ show-word-limit
|
|
|
+ :disabled="getMisDataConfig === '1'"
|
|
|
+ readonly
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <!-- 复位启机时显示的字段 -->
|
|
|
+ <template v-else-if="finalizeForm.repairMethod === '2'">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="复位方式" prop="resetMethod">
|
|
|
+ <el-select
|
|
|
+ v-model="finalizeForm.resetMethod"
|
|
|
+ placeholder="请选择复位方式"
|
|
|
style="width: 100%"
|
|
|
- :disabled="getMisDataConfig === '1'"
|
|
|
- readonly
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-<!-- <el-col :span="12">
|
|
|
- <el-form-item label="故障描述">{{ finalizeForm.faultDesc || '无' }}</el-form-item>
|
|
|
- </el-col>-->
|
|
|
-
|
|
|
-<!-- <el-col :span="12">-->
|
|
|
-<!-- <el-form-item label="检修类型" prop="maintenanceType">-->
|
|
|
-<!-- <el-select v-model="finalizeForm.maintenanceType" placeholder="请选择检修类型" style="width: 100%">-->
|
|
|
-<!-- <el-option-->
|
|
|
-<!-- v-for="dict in gxt_maintenance_type"-->
|
|
|
-<!-- :key="dict.value"-->
|
|
|
-<!-- :label="dict.label"-->
|
|
|
-<!-- :value="dict.value"-->
|
|
|
-<!-- />-->
|
|
|
-<!-- </el-select>-->
|
|
|
-<!-- </el-form-item>-->
|
|
|
-<!-- </el-col>-->
|
|
|
-<!-- <el-col :span="24">
|
|
|
- <el-form-item label="检修人员" prop="selectedMembers">
|
|
|
- <el-checkbox-group v-model="finalizeForm.selectedMembers" style="width: 100%" @change="() => handleMembersChange('finalizeForm')">
|
|
|
- <el-row :gutter="10">
|
|
|
- <el-col :span="6" v-for="user in userList" :key="user.userId">
|
|
|
- <el-checkbox :label="user.userId">{{ user.nickName }}</el-checkbox>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-checkbox-group>
|
|
|
- </el-form-item>
|
|
|
- </el-col>-->
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="检修人员" prop="workGroupMemberName">
|
|
|
- <el-input
|
|
|
- v-model="finalizeForm.workGroupMemberName"
|
|
|
- placeholder="请输入检修人员"
|
|
|
- maxlength="200"
|
|
|
- show-word-limit
|
|
|
- :disabled="getMisDataConfig === '1'"
|
|
|
- readonly
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
-<!-- <el-col :span="24">-->
|
|
|
-<!-- <el-form-item label="维修总结" prop="content">-->
|
|
|
-<!-- <el-input-->
|
|
|
-<!-- v-model="finalizeForm.content"-->
|
|
|
-<!-- type="textarea"-->
|
|
|
-<!-- placeholder="请输入维修总结"-->
|
|
|
-<!-- maxlength="200"-->
|
|
|
-<!-- show-word-limit-->
|
|
|
-<!-- :rows="4"-->
|
|
|
-<!-- />-->
|
|
|
-<!-- </el-form-item>-->
|
|
|
-<!-- </el-col>-->
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="dict in gxt_reset_method"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </template>
|
|
|
+
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="附件(可选)">
|
|
|
<preview :limit="8" v-model="finalizeForm.attachmentUrls" :filesize="5"></preview>
|
|
|
@@ -1547,7 +1536,7 @@ import useUserStore from '@/store/modules/user'
|
|
|
|
|
|
|
|
|
const { proxy } = getCurrentInstance()
|
|
|
-const { gxt_maintenance_type, gxt_work_order_status, gxt_order_priority_type,gxt_repair_order_flow_action_type,gxt_order_suspend_reason } = proxy.useDict("gxt_maintenance_type", "gxt_work_order_status", "gxt_order_priority_type","gxt_repair_order_flow_action_type","gxt_order_suspend_reason")
|
|
|
+const { gxt_maintenance_type, gxt_work_order_status, gxt_order_priority_type,gxt_repair_order_flow_action_type,gxt_order_suspend_reason,gxt_repair_method,gxt_reset_method } = proxy.useDict("gxt_maintenance_type", "gxt_work_order_status", "gxt_order_priority_type","gxt_repair_order_flow_action_type","gxt_order_suspend_reason","gxt_repair_method","gxt_reset_method")
|
|
|
|
|
|
// 数据列表相关
|
|
|
const repairOrderList = ref([])
|
|
|
@@ -1996,9 +1985,15 @@ const finalizeRules = ref({
|
|
|
// content: [
|
|
|
// { required: true, message: "请输入维修总结", trigger: "blur" }
|
|
|
// ],
|
|
|
+ repairMethod: [
|
|
|
+ { required: true, message: "请选择维修方式", trigger: "change" }
|
|
|
+ ],
|
|
|
misOrderNo: [
|
|
|
{ required: true, message: "MIS工单编码不能为空", trigger: "blur" }
|
|
|
],
|
|
|
+ resetMethod: [
|
|
|
+ { required: true, message: "请选择复位方式", trigger: "change" }
|
|
|
+ ]
|
|
|
})
|
|
|
|
|
|
// 评分表单验证规则
|
|
|
@@ -2707,6 +2702,22 @@ function handleMisOrderNoBlur() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+/** 维修方式变化处理 */
|
|
|
+function handleRepairMethodChange(value) {
|
|
|
+ // 如果切换到正常维修(1),清除复位方式
|
|
|
+ if (value === '1') {
|
|
|
+ finalizeForm.value.resetMethod = undefined;
|
|
|
+ }
|
|
|
+ // 如果切换到复位启机(2),清除MIS相关字段
|
|
|
+ else if (value === '2') {
|
|
|
+ finalizeForm.value.misOrderNo = undefined;
|
|
|
+ finalizeForm.value.realStartTime = undefined;
|
|
|
+ finalizeForm.value.realEndTime = undefined;
|
|
|
+ finalizeForm.value.workGroupMemberName = undefined;
|
|
|
+ finalizeForm.value.repairOrderPersonList = [];
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
/** 提交完成 */
|
|
|
async function submitComplete() {
|
|
|
proxy.$refs["completeFormRef"].validate(async valid => {
|
|
|
@@ -2838,6 +2849,10 @@ async function submitApprove(approvalStatusValue) {
|
|
|
function handleFinalize(row) {
|
|
|
getRepairOrder(row.id).then(response => {
|
|
|
finalizeForm.value = { ...response.data, selectedMembers: [] }
|
|
|
+ // 设置默认维修方式为正常维修(1)
|
|
|
+ if (!finalizeForm.value.repairMethod) {
|
|
|
+ finalizeForm.value.repairMethod = '1';
|
|
|
+ }
|
|
|
finalizeDialogVisible.value = true
|
|
|
commonKey++
|
|
|
/*// 获取场站ID用于查询用户
|
|
|
@@ -2873,15 +2888,39 @@ function handleFinalize(row) {
|
|
|
|
|
|
/** 提交结单 */
|
|
|
async function submitFinalize() {
|
|
|
- if (!finalizeForm.value.realEndTime) {
|
|
|
- proxy.$modal.msgError("该工单未结束,无法结单!")
|
|
|
+ // 根据维修方式执行不同的验证逻辑
|
|
|
+ if (finalizeForm.value.repairMethod === '1') {
|
|
|
+ // 正常维修需要验证MIS相关字段
|
|
|
+ if (!finalizeForm.value.realEndTime) {
|
|
|
+ proxy.$modal.msgError("该工单未结束,无法结单!")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }/* else if (finalizeForm.value.repairMethod === '2') {
|
|
|
+ // 复位启机需要验证复位方式
|
|
|
+ if (!finalizeForm.value.resetMethod) {
|
|
|
+ proxy.$modal.msgError("请选择复位方式!")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ proxy.$modal.msgError("请选择维修方式!")
|
|
|
return
|
|
|
- }
|
|
|
+ }*/
|
|
|
+
|
|
|
proxy.$refs["finalizeFormRef"].validate(async valid => {
|
|
|
if (valid) {
|
|
|
try {
|
|
|
- // 更新检修人员列表
|
|
|
- //handleMembersChange('finalizeForm');
|
|
|
+ // 根据维修方式清除不需要的字段
|
|
|
+ if (finalizeForm.value.repairMethod === '1') {
|
|
|
+ // 正常维修时清除复位方式
|
|
|
+ finalizeForm.value.resetMethod = undefined;
|
|
|
+ } else if (finalizeForm.value.repairMethod === '2') {
|
|
|
+ // 复位启机时清除MIS相关字段
|
|
|
+ finalizeForm.value.misOrderNo = undefined;
|
|
|
+ finalizeForm.value.realStartTime = undefined;
|
|
|
+ finalizeForm.value.realEndTime = undefined;
|
|
|
+ finalizeForm.value.workGroupMemberName = undefined;
|
|
|
+ finalizeForm.value.repairOrderPersonList = [];
|
|
|
+ }
|
|
|
|
|
|
await finalizeRepairOrder(finalizeForm.value)
|
|
|
|