yaowanxin
9 分钟以前 bbd880d66e993f80670259882f2feca1b150d1ae
src/views/equipmentManagement/measurementEquipment/components/formDia.vue
@@ -4,6 +4,7 @@
        v-model="dialogFormVisible"
        title="计量器具"
        width="50%"
            draggable
        @close="closeDia"
    >
         <el-form
@@ -14,8 +15,8 @@
            ref="formRef"
         >
            <el-row :gutter="30">
               <el-col :span="12">
                  <el-form-item label="计量器具编号:" prop="code">
               <el-col :span="24">
                  <el-form-item label="出厂编号:" prop="code">
                     <el-input
                        v-model="form.code"
                        placeholder="请输入"
@@ -23,40 +24,73 @@
                     />
                  </el-form-item>
               </el-col>
               <el-col :span="12">
                  <el-form-item label="计量器具名称:" prop="name">
                     <el-input
                        v-model="form.name"
                        placeholder="请输入"
                        clearable
                     />
                  </el-form-item>
               </el-col>
            </el-row>
            <el-row :gutter="30">
               <el-col :span="12">
                  <el-form-item label="规格型号:" prop="model">
                  <el-form-item label="安装位置:" prop="installationLocation">
                     <el-input
                        v-model="form.model"
                        v-model="form.installationLocation"
                        placeholder="请输入"
                        clearable
                     />
                  </el-form-item>
               </el-col>
               <el-col :span="12">
                  <el-form-item label="预计下次检定日期:" prop="nextDate">
                     <el-date-picker
                        style="width: 100%"
                        v-model="form.nextDate"
                        value-format="YYYY-MM-DD"
                        format="YYYY-MM-DD"
                        type="date"
                        placeholder="请选择"
                        clearable
                     />
                  <el-form-item label="检定单位:" prop="unit">
              <el-input
                  v-model="form.unit"
                  placeholder="请输入检定单位"
                  clearable
              />
                  </el-form-item>
               </el-col>
            </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="证书编号:" prop="model">
              <el-input
                  v-model="form.model"
                  placeholder="请输入"
                  clearable
              />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="最新鉴定日期:" prop="mostDate">
              <el-date-picker
                  style="width: 100%"
                  v-model="form.mostDate"
                  value-format="YYYY-MM-DD"
                  format="YYYY-MM-DD"
                  type="date"
                  placeholder="请选择"
                  clearable
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="有效日期(天):" prop="valid">
              <el-input
                  v-model="form.valid"
                  placeholder="请输入有效期天数"
                  clearable
              >
              <template #append>日</template>
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="检定周期:" prop="cycle">
              <el-input
                  v-model="form.cycle"
                  placeholder="请输入检定周期"
                  clearable
              />
            </el-form-item>
          </el-col>
        </el-row>
            <el-row :gutter="30">
               <el-col :span="12">
                  <el-form-item label="录入人:" prop="userId">
@@ -64,7 +98,9 @@
                        v-model="form.userId"
                        placeholder="请选择"
                        clearable
                        disabled
                filterable
                default-first-option
                :reserve-keyword="false"
                     >
                        <el-option
                           v-for="item in userList"
@@ -81,32 +117,32 @@
                        style="width: 100%"
                        v-model="form.recordDate"
                        value-format="YYYY-MM-DD"
                disabled
                        format="YYYY-MM-DD"
                        type="date"
                        disabled
                        placeholder="请选择"
                        clearable
                     />
                  </el-form-item>
               </el-col>
            </el-row>
            <el-row :gutter="30">
               <el-col :span="24">
                  <el-form-item label="附件材料:" prop="remark">
                     <el-upload v-model:file-list="fileList" :action="upload.url" multiple ref="fileUpload" auto-upload
                                     :headers="upload.headers" :before-upload="handleBeforeUpload" :on-error="handleUploadError"
                                     :on-success="handleUploadSuccess" :on-remove="handleRemove">
                        <el-button type="primary" v-if="operationType !== 'view'">上传</el-button>
                        <template #tip v-if="operationType !== 'view'">
                           <div class="el-upload__tip">
                              文件格式支持
                              doc,docx,xls,xlsx,ppt,pptx,pdf,txt,xml,jpg,jpeg,png,gif,bmp,rar,zip,7z
                           </div>
                        </template>
                     </el-upload>
                  </el-form-item>
               </el-col>
            </el-row>
<!--            <el-row :gutter="30">-->
<!--               <el-col :span="24">-->
<!--                  <el-form-item label="附件材料:" prop="remark">-->
<!--                     <el-upload v-model:file-list="fileList" :action="upload.url" multiple ref="fileUpload" auto-upload-->
<!--                                     :headers="upload.headers" :before-upload="handleBeforeUpload" :on-error="handleUploadError"-->
<!--                                     :on-success="handleUploadSuccess" :on-remove="handleRemove">-->
<!--                        <el-button type="primary" v-if="operationType !== 'view'">上传</el-button>-->
<!--                        <template #tip v-if="operationType !== 'view'">-->
<!--                           <div class="el-upload__tip">-->
<!--                              文件格式支持-->
<!--                              doc,docx,xls,xlsx,ppt,pptx,pdf,txt,xml,jpg,jpeg,png,gif,bmp,rar,zip,7z-->
<!--                           </div>-->
<!--                        </template>-->
<!--                     </el-upload>-->
<!--                  </el-form-item>-->
<!--               </el-col>-->
<!--            </el-row>-->
         </el-form>
         <template #footer>
            <div class="dialog-footer">
@@ -124,7 +160,8 @@
import {userListNoPageByTenantId} from "@/api/system/user.js";
import {afterSalesServiceAdd, afterSalesServiceUpdate} from "@/api/customerService/index.js";
import {getToken} from "@/utils/auth.js";
import {measuringInstrumentAdd, measuringInstrumentUpdate} from "@/api/equipmentManagement/measurementEquipment.js";
import {addMeasuringInstrumentLedger, updateMeasuringInstrumentLedger} from "@/api/equipmentManagement/measurementEquipment.js";
import { getCurrentDate } from "@/utils/index.js";
const { proxy } = getCurrentInstance()
const emit = defineEmits(['close'])
const dialogFormVisible = ref(false);
@@ -134,21 +171,28 @@
const data = reactive({
   form: {
      code: "",
      name: "",
    installationLocation: "",
    mostDate:"",
      model: "",
    cycle:"",
      validDate: "",
      nextDate: "",
      userId: "",
      recordDate: "",
    tempFileIds: []
   },
   rules: {
      code: [{required: true, message: "请输入", trigger: "blur"}],
      name: [{required: true, message: "请输入", trigger: "blur"}],
      model: [{required: true, message: "请输入", trigger: "blur"}],
      validDate: [{required: true, message: "请输入", trigger: "blur"}],
      nextDate: [{required: true, message: "请选择", trigger: "change"}],
      userId: [{required: true, message: "请选择", trigger: "change"}],
      recordDate: [{required: true, message: "请选择", trigger: "change"}],
    installationLocation: [{required: true, message: "请输入", trigger: "blur"}],
    mostDate: [{required: true, message: "请选择", trigger: "change"}],
    cycle: [{required: true, message: "请选择", trigger: "blur"}],
    valid: [{required: true, message: "请输入", trigger: "blur"}],
    unit: [{required: true, message: "请输入", trigger: "blur"}],
   }
})
const { form, rules } = toRefs(data);
@@ -191,6 +235,7 @@
   proxy.$modal.closeLoading();
   if (res.code === 200) {
      file.tempId = res.data.tempId;
    form.value.tempFileIds.push(res.data.tempId)
      proxy.$modal.msgSuccess("上传成功");
   } else {
      proxy.$modal.msgError(res.msg);
@@ -212,13 +257,15 @@
   proxy.$refs["formRef"].validate(valid => {
      if (valid) {
         if (operationType.value === "add") {
            measuringInstrumentAdd(form.value).then(response => {
        addMeasuringInstrumentLedger(form.value).then(response => {
               proxy.$modal.msgSuccess("新增成功")
          form.value.tempFileIds = []
               closeDia()
            })
         } else {
            measuringInstrumentUpdate(form.value).then(response => {
        updateMeasuringInstrumentLedger(form.value).then(response => {
               proxy.$modal.msgSuccess("修改成功")
          form.value.tempFileIds = []
               closeDia()
            })
         }
@@ -231,14 +278,6 @@
  dialogFormVisible.value = false;
  emit('close')
};
// 获取当前日期并格式化为 YYYY-MM-DD
function getCurrentDate() {
   const today = new Date();
   const year = today.getFullYear();
   const month = String(today.getMonth() + 1).padStart(2, "0"); // 月份从0开始
   const day = String(today.getDate()).padStart(2, "0");
   return `${year}-${month}-${day}`;
}
defineExpose({
  openDialog,
});