wujingjing
2025-02-11 8c6fbc506e9a2c8cde56a794d8319cc55f4be666
src/components/chat/smallChat/WorkOrderDlg.vue
@@ -9,18 +9,22 @@
      @submit="submitFormValue"
   >
      <el-form :model="dialogFormValue" ref="dialogFormRef" :rules="dialogFormRules" label-width="86">
         <el-form-item label="工单编号" prop="title">
         <el-form-item label="工单编号" prop="id" disabled>
            <el-input v-model="dialogFormValue.id" readonly></el-input>
         </el-form-item>
         <el-form-item label="工单名称" prop="title">
            <el-input v-model="dialogFormValue.title"></el-input>
         </el-form-item>
         <el-form-item label="工单名称" prop="prompt">
            <el-input v-model="dialogFormValue.prompt"></el-input>
         </el-form-item>
         <el-form-item label="工单类型" prop="prompt">
            <el-select v-model="dialogFormValue.prompt">
         <el-form-item label="工单类型" prop="type">
            <el-select v-model="dialogFormValue.type">
               <el-option
                  v-for="item in [
                     { ID: '1', Name: '工单类型1' },
                     { ID: '2', Name: '工单类型2' },
                     { ID: '设备维修', Name: '设备维修' },
                     { ID: '流量异常', Name: '流量异常' },
                     { ID: '压力异常', Name: '压力异常' },
                     { ID: '水质异常', Name: '水质异常' },
                     { ID: '用户投诉', Name: '用户投诉' },
                  ]"
                  :key="item.ID"
                  :value="item.ID"
@@ -28,8 +32,8 @@
               ></el-option>
            </el-select>
         </el-form-item>
         <el-form-item label="工单内容" prop="prompt">
            <el-input v-model="dialogFormValue.prompt" type="textarea" :rows="3"></el-input>
         <el-form-item label="工单内容" prop="content">
            <el-input v-model="dialogFormValue.content" type="textarea" :rows="3"></el-input>
         </el-form-item>
         <!-- <el-form-item label="上报人" prop="question">
            <el-select v-model="dialogFormValue.prompt">
@@ -45,10 +49,10 @@
            </el-select>
         </el-form-item> -->
         <el-form-item label="备注" prop="note">
            <el-input v-model="dialogFormValue.note" type="textarea" :rows="3"></el-input>
         <el-form-item label="备注" prop="remark">
            <el-input v-model="dialogFormValue.remark" type="textarea" :rows="3"></el-input>
         </el-form-item>
         <el-form-item label="附件图片" prop="note">
         <el-form-item label="附件图片" prop="pic">
            <el-upload
               ref="uploadRef"
               action="#"
@@ -102,11 +106,11 @@
import { useCompRef } from '/@/utils/types';
const props = defineProps(['item']);
const emit = defineEmits(['update', 'insert']);
const emit = defineEmits(['update', 'insert','cancelSubmit']);
//#region ====================== 增加、修改记录操作, dialog init======================
const isEditDialog = ref(false);
const dialogTitle = computed(() => {
   return isEditDialog.value ? '修改页面' : '添加工单';
   return isEditDialog.value ? '创建工单' : '创建工单';
});
const dialogHeaderIcon = computed(() => {
   return isEditDialog.value ? 'ele-Edit' : 'ele-Plus';
@@ -118,29 +122,35 @@
const dialogFormRef = ref<FormInstance>(null);
const dialogFormRules = ref<FormRules>({
   title: [{ required: true, message: '请输入标题', trigger: 'blur' }],
   prompt: [{ required: true, message: '请输入提示词', trigger: 'blur' }],
   // title: [{ required: true, message: '请输入标题', trigger: 'blur' }],
   // prompt: [{ required: true, message: '请输入提示词', trigger: 'blur' }],
});
const openOperateDialog = (row?) => {
   if (row) {
      isEditDialog.value = true;
      const { id, note, prompt, question, title } = row;
      dialogFormValue.value = deepClone({ id, note, prompt, question, title });
      const { title,type,content,remark,} = row;
      dialogFormValue.value = deepClone({id: `GM_${formatDate(new Date(),'YYYY_mmdd_HHMMSS')}`,title,type,content,remark});
   } else {
      isEditDialog.value = false;
      console.log('🚀 ~ isEditDialog.value:', isEditDialog.value);
      dialogFormValue.value = { title: null, prompt: null, note: null, question: null };
      dialogFormValue.value = {id: `GM_${formatDate(new Date(),'YYYY_mmdd_HHMMSS')}`, name: '', type: '', content: '', note: ''};
   }
};
const closeDialog = () => {
   console.log('🚀 ~ close dialog');
   dialogIsShow.value = false;
   dialogFormRef.value.clearValidate();
   if(notSubmit){
      emit('cancelSubmit','取消提交')
   }
};
const stores = useUserInfo();
const { userInfos } = storeToRefs(stores);
const submitFormValue = async () => {
   emit('insert')
   notSubmit = false;
   closeDialog();
   ElMessage.success('创建工单成功');
   return;
   const valid = await dialogFormRef.value.validate().catch(() => {});
   if (!valid) return;
@@ -219,13 +229,15 @@
};
const handleUploadSuccess = (value) => {};
//#endregion
let notSubmit = true;
watch(
   () => dialogIsShow.value,
   (val) => {
      console.log('🚀 ~ val:', val);
      if (!val) return;
      console.log('🚀 ~ ywDialog:', ywDialog);
      notSubmit = true;
      openOperateDialog(props.item);
   }
);