Przeglądaj źródła

bug: 生产履历页面,分页和翻页功能异常,点击后页面无反应
岗位管理列表数据高度应固定,字段内容超出部分隐藏
设备停用封存流程审批未结束的数据应不能被删除

jiaxiaoqiang 10 miesięcy temu
rodzic
commit
bf6f4f234b

+ 445 - 309
src/views/device/disable/index.vue

@@ -23,136 +23,268 @@
           icon="el-icon-delete"
           :size="size"
           @click="multipleDelete"
-        >删除</el-button
+          >删除</el-button
+        >
+      </template>
+      <template #menu="{ size, row, index }">
+        <el-button
+          @click="maintenance(row)"
+          icon="el-icon-check"
+          text
+          v-hasPerm="[ButtonPermKeys.DEVICE.BTNS.disable_process]"
+          type="primary"
+          :size="size"
+          >流程</el-button
+        >
+        <el-button
+          v-if="row.state === 6"
+          @click="deleteRow(row)"
+          icon="el-icon-delete"
+          type="danger"
+          size="small"
+          >删除</el-button
         >
       </template>
-        <template #menu="{size,row,index}">
-            <el-button @click="maintenance(row)"
-                       icon="el-icon-check"
-                       text
-                       v-hasPerm="[ButtonPermKeys.DEVICE.BTNS.disable_process]"
-                       type="primary"
-                       :size="size">流程</el-button>
-        </template>
     </avue-crud>
 
-      <el-dialog
-              v-model="dialog1.visible"
-              :title="dialog1.title"
-              width="750px"
-              height="80%"
-              @close="dialog1.visible = false">
-          <el-timeline style="max-width: 500px;margin-left: 100px">
-              <el-timeline-item center type="success" placement="top">
-                  <el-card>
-                      <h4>设备停用申请</h4>
-                      <p>统一编码: {{maintenanceInfo.deviceNo}}</p>
-                      <p>设备名称: {{maintenanceInfo.deviceName}}</p>
-                      <p>使用年限: {{maintenanceInfo.deviceLife}}</p>
-                      <p>停用时间: {{maintenanceInfo.disableTime}}</p>
-
-                      <!--            <p>调拨周期: {{maintenanceInfo.allocateCycle}}天</p>-->
-                      <p>停用理由: {{maintenanceInfo.remark}}</p>
-                      <p>申请人员: {{maintenanceInfo.creator}}</p>
-                      <p>申请时间: {{maintenanceInfo.created}}</p>
-                  </el-card>
-              </el-timeline-item>
-              <el-timeline-item center placement="top"  :type="maintenanceInfo.state === 0 ? 'primary' : maintenanceInfo.state === 0 ? 'info' : 'success'">
-                  <el-card v-if="viewPage">
-                      <h4>使用经办人</h4>
-                      <p>审批人员: {{maintenanceInfo.auditUser}}</p>
-                      <p>审批结果: {{maintenanceInfo.auditUser ? (maintenanceInfo.auditResult === 1 ? '通过' : '不通过') : ''}}</p>
-                      <p>审批时间: {{maintenanceInfo.auditTime}}</p>
-                  </el-card>
-                  <el-card v-if="!viewPage">
-                      <h4>使用经办人</h4>
-                      <el-form ref="maintenanceInfoForm"  :model="maintenanceInfo" label-width="auto" style="max-width: 400px" :rules="rules">
-                          <el-form-item label="审批意见" prop="auditOpinion">
-                              <el-input :disabled="maintenanceInfo.state !== 0" type="textarea" :rows="2" v-model="maintenanceInfo.auditOpinion" />
-                          </el-form-item>
-                          <el-form-item label="审批人员" prop="auditUser">
-                              <el-input :disabled="maintenanceInfo.state !== 0" v-model="maintenanceInfo.auditUser" />
-                          </el-form-item>
-                          <el-form-item label="审批结果">
-                              <el-radio-group :disabled="maintenanceInfo.state !== 0" v-model="maintenanceInfo.auditResult" class="ml-4">
-                                  <el-radio :value=0>通过</el-radio>
-                                  <el-radio :value=1>驳回</el-radio>
-                              </el-radio-group>
-                          </el-form-item>
-                          <el-form-item style="margin-left: 45%">
-                              <el-button type="primary" v-if="maintenanceInfo.state === 0" @click="maintenanceSubmit">保存</el-button>
-                          </el-form-item>
-                      </el-form>
-                  </el-card>
-              </el-timeline-item>
-
-
-              <el-timeline-item center placement="top"  :type="maintenanceInfo.state === 2 ? 'primary' : maintenanceInfo.state < 2 ? 'info' : 'success'">
-                  <el-card v-if="viewPage">
-                      <h4>使用部门负责人</h4>
-                      <p>审批人员: {{maintenanceInfo.auditUser1}}</p>
-                      <p>审批结果: {{maintenanceInfo.auditUser1 ? (maintenanceInfo.auditResult1 === 1 ? '通过' : '不通过') : ''}}</p>
-                      <p>审批时间: {{maintenanceInfo.auditTime1}}</p>
-                  </el-card>
-                  <el-card v-if="!viewPage">
-                      <h4>使用部门负责人</h4>
-                      <el-form ref="maintenanceInfoForm1" v-if="maintenanceInfo.state >= 2" :model="maintenanceInfo" label-width="auto" style="max-width: 400px" :rules="rules">
-                          <el-form-item label="审批意见" prop="auditOpinion1">
-                              <el-input :disabled="maintenanceInfo.state !== 2" type="textarea" :rows="2" v-model="maintenanceInfo.auditOpinion1" />
-                          </el-form-item>
-                          <el-form-item label="审批人员" prop="auditUser1">
-                              <el-input :disabled="maintenanceInfo.state !== 2" v-model="maintenanceInfo.auditUser1" />
-                          </el-form-item>
-                          <el-form-item label="审批结果">
-                              <el-radio-group :disabled="maintenanceInfo.state !== 2" v-model="maintenanceInfo.auditResult1" class="ml-4">
-                                  <el-radio :value=0>通过</el-radio>
-                                  <el-radio :value=1>驳回</el-radio>
-                              </el-radio-group>
-                          </el-form-item>
-                          <el-form-item style="margin-left: 45%">
-                              <el-button type="primary" v-if="maintenanceInfo.state === 2" @click="maintenanceSubmit1">保存</el-button>
-                          </el-form-item>
-                      </el-form>
-                  </el-card>
-              </el-timeline-item>
-
-              <el-timeline-item center placement="top"  :type="maintenanceInfo.state === 4 ? 'primary' : maintenanceInfo.state < 4 ? 'info' : 'success'">
-                  <el-card v-if="viewPage">
-                      <h4>科研生产部</h4>
-                      <p>审批人员: {{maintenanceInfo.auditUser1}}</p>
-                      <p>审批结果: {{maintenanceInfo.auditUser1 ? (maintenanceInfo.auditResult1 === 1 ? '通过' : '不通过') : ''}}</p>
-                      <p>审批时间: {{maintenanceInfo.auditTime1}}</p>
-                  </el-card>
-                  <el-card v-if="!viewPage">
-                      <h4>科研生产部</h4>
-                      <el-form ref="maintenanceInfoForm2" v-if="maintenanceInfo.state >= 4" :model="maintenanceInfo" label-width="auto" style="max-width: 400px" :rules="rules">
-                          <el-form-item label="审批意见" prop="auditOpinion2">
-                              <el-input :disabled="maintenanceInfo.state !== 4" type="textarea" :rows="2" v-model="maintenanceInfo.auditOpinion2" />
-                          </el-form-item>
-                          <el-form-item label="审批人员" prop="auditUser2">
-                              <el-input :disabled="maintenanceInfo.state !== 4" v-model="maintenanceInfo.auditUser2" />
-                          </el-form-item>
-                          <el-form-item label="审批结果">
-                              <el-radio-group :disabled="maintenanceInfo.state !== 4" v-model="maintenanceInfo.auditResult2" class="ml-4">
-                                  <el-radio :value=0>通过</el-radio>
-                                  <el-radio :value=1>驳回</el-radio>
-                              </el-radio-group>
-                          </el-form-item>
-                          <el-form-item style="margin-left: 45%">
-                              <el-button type="primary" v-if="maintenanceInfo.state === 4" @click="maintenanceSubmit2">保存</el-button>
-                          </el-form-item>
-                      </el-form>
-                  </el-card>
-              </el-timeline-item>
-
-
-
-
+    <el-dialog
+      v-model="dialog1.visible"
+      :title="dialog1.title"
+      width="750px"
+      height="80%"
+      @close="dialog1.visible = false"
+    >
+      <el-timeline style="max-width: 500px; margin-left: 100px">
+        <el-timeline-item center type="success" placement="top">
+          <el-card>
+            <h4>设备停用申请</h4>
+            <p>统一编码: {{ maintenanceInfo.deviceNo }}</p>
+            <p>设备名称: {{ maintenanceInfo.deviceName }}</p>
+            <p>使用年限: {{ maintenanceInfo.deviceLife }}</p>
+            <p>停用时间: {{ maintenanceInfo.disableTime }}</p>
 
+            <!--            <p>调拨周期: {{maintenanceInfo.allocateCycle}}天</p>-->
+            <p>停用理由: {{ maintenanceInfo.remark }}</p>
+            <p>申请人员: {{ maintenanceInfo.creator }}</p>
+            <p>申请时间: {{ maintenanceInfo.created }}</p>
+          </el-card>
+        </el-timeline-item>
+        <el-timeline-item
+          center
+          placement="top"
+          :type="
+            maintenanceInfo.state === 0
+              ? 'primary'
+              : maintenanceInfo.state === 0
+                ? 'info'
+                : 'success'
+          "
+        >
+          <el-card v-if="viewPage">
+            <h4>使用经办人</h4>
+            <p>审批人员: {{ maintenanceInfo.auditUser }}</p>
+            <p>
+              审批结果:
+              {{
+                maintenanceInfo.auditUser
+                  ? maintenanceInfo.auditResult === 1
+                    ? "通过"
+                    : "不通过"
+                  : ""
+              }}
+            </p>
+            <p>审批时间: {{ maintenanceInfo.auditTime }}</p>
+          </el-card>
+          <el-card v-if="!viewPage">
+            <h4>使用经办人</h4>
+            <el-form
+              ref="maintenanceInfoForm"
+              :model="maintenanceInfo"
+              label-width="auto"
+              style="max-width: 400px"
+              :rules="rules"
+            >
+              <el-form-item label="审批意见" prop="auditOpinion">
+                <el-input
+                  :disabled="maintenanceInfo.state !== 0"
+                  type="textarea"
+                  :rows="2"
+                  v-model="maintenanceInfo.auditOpinion"
+                />
+              </el-form-item>
+              <el-form-item label="审批人员" prop="auditUser">
+                <el-input
+                  :disabled="maintenanceInfo.state !== 0"
+                  v-model="maintenanceInfo.auditUser"
+                />
+              </el-form-item>
+              <el-form-item label="审批结果">
+                <el-radio-group
+                  :disabled="maintenanceInfo.state !== 0"
+                  v-model="maintenanceInfo.auditResult"
+                  class="ml-4"
+                >
+                  <el-radio :value="0">通过</el-radio>
+                  <el-radio :value="1">驳回</el-radio>
+                </el-radio-group>
+              </el-form-item>
+              <el-form-item style="margin-left: 45%">
+                <el-button
+                  type="primary"
+                  v-if="maintenanceInfo.state === 0"
+                  @click="maintenanceSubmit"
+                  >保存</el-button
+                >
+              </el-form-item>
+            </el-form>
+          </el-card>
+        </el-timeline-item>
 
-          </el-timeline>
-      </el-dialog>
+        <el-timeline-item
+          center
+          placement="top"
+          :type="
+            maintenanceInfo.state === 2
+              ? 'primary'
+              : maintenanceInfo.state < 2
+                ? 'info'
+                : 'success'
+          "
+        >
+          <el-card v-if="viewPage">
+            <h4>使用部门负责人</h4>
+            <p>审批人员: {{ maintenanceInfo.auditUser1 }}</p>
+            <p>
+              审批结果:
+              {{
+                maintenanceInfo.auditUser1
+                  ? maintenanceInfo.auditResult1 === 1
+                    ? "通过"
+                    : "不通过"
+                  : ""
+              }}
+            </p>
+            <p>审批时间: {{ maintenanceInfo.auditTime1 }}</p>
+          </el-card>
+          <el-card v-if="!viewPage">
+            <h4>使用部门负责人</h4>
+            <el-form
+              ref="maintenanceInfoForm1"
+              v-if="maintenanceInfo.state >= 2"
+              :model="maintenanceInfo"
+              label-width="auto"
+              style="max-width: 400px"
+              :rules="rules"
+            >
+              <el-form-item label="审批意见" prop="auditOpinion1">
+                <el-input
+                  :disabled="maintenanceInfo.state !== 2"
+                  type="textarea"
+                  :rows="2"
+                  v-model="maintenanceInfo.auditOpinion1"
+                />
+              </el-form-item>
+              <el-form-item label="审批人员" prop="auditUser1">
+                <el-input
+                  :disabled="maintenanceInfo.state !== 2"
+                  v-model="maintenanceInfo.auditUser1"
+                />
+              </el-form-item>
+              <el-form-item label="审批结果">
+                <el-radio-group
+                  :disabled="maintenanceInfo.state !== 2"
+                  v-model="maintenanceInfo.auditResult1"
+                  class="ml-4"
+                >
+                  <el-radio :value="0">通过</el-radio>
+                  <el-radio :value="1">驳回</el-radio>
+                </el-radio-group>
+              </el-form-item>
+              <el-form-item style="margin-left: 45%">
+                <el-button
+                  type="primary"
+                  v-if="maintenanceInfo.state === 2"
+                  @click="maintenanceSubmit1"
+                  >保存</el-button
+                >
+              </el-form-item>
+            </el-form>
+          </el-card>
+        </el-timeline-item>
 
+        <el-timeline-item
+          center
+          placement="top"
+          :type="
+            maintenanceInfo.state === 4
+              ? 'primary'
+              : maintenanceInfo.state < 4
+                ? 'info'
+                : 'success'
+          "
+        >
+          <el-card v-if="viewPage">
+            <h4>科研生产部</h4>
+            <p>审批人员: {{ maintenanceInfo.auditUser1 }}</p>
+            <p>
+              审批结果:
+              {{
+                maintenanceInfo.auditUser1
+                  ? maintenanceInfo.auditResult1 === 1
+                    ? "通过"
+                    : "不通过"
+                  : ""
+              }}
+            </p>
+            <p>审批时间: {{ maintenanceInfo.auditTime1 }}</p>
+          </el-card>
+          <el-card v-if="!viewPage">
+            <h4>科研生产部</h4>
+            <el-form
+              ref="maintenanceInfoForm2"
+              v-if="maintenanceInfo.state >= 4"
+              :model="maintenanceInfo"
+              label-width="auto"
+              style="max-width: 400px"
+              :rules="rules"
+            >
+              <el-form-item label="审批意见" prop="auditOpinion2">
+                <el-input
+                  :disabled="maintenanceInfo.state !== 4"
+                  type="textarea"
+                  :rows="2"
+                  v-model="maintenanceInfo.auditOpinion2"
+                />
+              </el-form-item>
+              <el-form-item label="审批人员" prop="auditUser2">
+                <el-input
+                  :disabled="maintenanceInfo.state !== 4"
+                  v-model="maintenanceInfo.auditUser2"
+                />
+              </el-form-item>
+              <el-form-item label="审批结果">
+                <el-radio-group
+                  :disabled="maintenanceInfo.state !== 4"
+                  v-model="maintenanceInfo.auditResult2"
+                  class="ml-4"
+                >
+                  <el-radio :value="0">通过</el-radio>
+                  <el-radio :value="1">驳回</el-radio>
+                </el-radio-group>
+              </el-form-item>
+              <el-form-item style="margin-left: 45%">
+                <el-button
+                  type="primary"
+                  v-if="maintenanceInfo.state === 4"
+                  @click="maintenanceSubmit2"
+                  >保存</el-button
+                >
+              </el-form-item>
+            </el-form>
+          </el-card>
+        </el-timeline-item>
+      </el-timeline>
+    </el-dialog>
   </div>
   <CommonTable
     ref="ctableRef"
@@ -162,138 +294,138 @@
   />
 </template>
 <script setup>
-  import { ref, getCurrentInstance } from "vue";
-  import { useCrud } from "@/hooks/userCrud";
-  import ButtonPermKeys from "@/common/configs/buttonPermission";
-  import { useCommonStoreHook } from "@/store";
-  import {disableAudit} from "@/api/device";
-  const { isShowTable, tableType } = toRefs(useCommonStoreHook());
-  const dialog1 = reactive({
-      title: "设备停用申请",
-      visible: false,
-  });
-  const test = () => {
-    isShowTable.value = true;
-    tableType.value = tableType.value == 1 ? 2 : 1;
-  };
+import { ref, getCurrentInstance } from "vue";
+import { useCrud } from "@/hooks/userCrud";
+import ButtonPermKeys from "@/common/configs/buttonPermission";
+import { useCommonStoreHook } from "@/store";
+import { disableAudit } from "@/api/device";
+const { isShowTable, tableType } = toRefs(useCommonStoreHook());
+const dialog1 = reactive({
+  title: "设备停用申请",
+  visible: false,
+});
+const test = () => {
+  isShowTable.value = true;
+  tableType.value = tableType.value == 1 ? 2 : 1;
+};
 
-  // 传入一个url,后面不带/
-  const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
-    useCrud({
-      src: "/api/v1/device/disable",
-    });
-  const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
-    Methords; //增删改查
-  const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
-  const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
+// 传入一个url,后面不带/
+const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
+  useCrud({
+    src: "/api/v1/device/disable",
+  });
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
+const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
+const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
 
-  const maintenanceInfoForm = ref('maintenanceInfoForm')
-  const maintenanceInfoForm1 = ref('maintenanceInfoForm1')
-  const maintenanceInfoForm2 = ref('maintenanceInfoForm2')
-  const crudRef = ref(null); //crudRef.value 获取avue-crud对象
+const maintenanceInfoForm = ref("maintenanceInfoForm");
+const maintenanceInfoForm1 = ref("maintenanceInfoForm1");
+const maintenanceInfoForm2 = ref("maintenanceInfoForm2");
+const crudRef = ref(null); //crudRef.value 获取avue-crud对象
 
-  onMounted(() => {
-    // console.log("crudRef", crudRef)
-    dataList();
-  });
-  const ctableRef=ref(null);
-  const onSelectedFinish=(selectedValue)=>{
-      form.value.deviceName=selectedValue.deviceName;
-      form.value.deviceNo=selectedValue.deviceNo;
-      form.value.specifications=selectedValue.specifications;
-      form.value.manufacturer=selectedValue.manufacturer;
-      form.value.originalValue=selectedValue.originalValue;
+onMounted(() => {
+  // console.log("crudRef", crudRef)
+  dataList();
+});
+const ctableRef = ref(null);
+const onSelectedFinish = (selectedValue) => {
+  form.value.deviceName = selectedValue.deviceName;
+  form.value.deviceNo = selectedValue.deviceNo;
+  form.value.specifications = selectedValue.specifications;
+  form.value.manufacturer = selectedValue.manufacturer;
+  form.value.originalValue = selectedValue.originalValue;
+};
+const maintenanceInfo = ref({});
+const maintenance = (row) => {
+  maintenanceInfo.value = row;
+  if (null == maintenanceInfo.value.auditResult) {
+    maintenanceInfo.value.auditResult = 0;
   }
-  const maintenanceInfo = ref({});
-  const maintenance = (row) =>{
-      maintenanceInfo.value=row;
-      if(null==maintenanceInfo.value.auditResult){
-          maintenanceInfo.value.auditResult = 0
-      }
-      if(null==maintenanceInfo.value.auditResult1){
-          maintenanceInfo.value.auditResult1 = 0
-      }
-      if(null==maintenanceInfo.value.auditResult2){
-          maintenanceInfo.value.auditResult2 = 0
-      }
-      dialog1.visible=true;
-
+  if (null == maintenanceInfo.value.auditResult1) {
+    maintenanceInfo.value.auditResult1 = 0;
   }
-  const maintenanceSubmit =()=>{
-      //alert(JSON.stringify(maintenanceInfo.value))
-      maintenanceInfoForm.value.validate((isValid, invalidFields) => {
-          if (isValid) {
-              disableAudit(maintenanceInfo.value).then((data)=>{
-                  ElMessage({
-                      message: data.msg,
-                      type: "success",
-                  });
-                  dialog1.visible = false
-                  dataList()
-              })
-          }
-      })
+  if (null == maintenanceInfo.value.auditResult2) {
+    maintenanceInfo.value.auditResult2 = 0;
   }
+  dialog1.visible = true;
+};
+const maintenanceSubmit = () => {
+  //alert(JSON.stringify(maintenanceInfo.value))
+  maintenanceInfoForm.value.validate((isValid, invalidFields) => {
+    if (isValid) {
+      disableAudit(maintenanceInfo.value).then((data) => {
+        ElMessage({
+          message: data.msg,
+          type: "success",
+        });
+        dialog1.visible = false;
+        dataList();
+      });
+    }
+  });
+};
 
-  const maintenanceSubmit1 =()=>{
-      //alert(JSON.stringify(maintenanceInfo.value))
-      maintenanceInfoForm1.value.validate((isValid, invalidFields) => {
-          if (isValid) {
-              maintenanceInfo.value.auditResult = maintenanceInfo.value.auditResult1;
-              maintenanceInfo.value.auditOpinion = maintenanceInfo.value.auditOpinion1;
-              maintenanceInfo.value.auditUser = maintenanceInfo.value.auditUser1;
-              maintenanceInfo.value.auditOpinion = maintenanceInfo.value.auditOpinion1;
-              disableAudit(maintenanceInfo.value).then((data)=>{
-                  ElMessage({
-                      message: data.msg,
-                      type: "success",
-                  });
-                  dialog1.visible = false
-                  dataList()
-              })
-          }
-      })
-  }
+const maintenanceSubmit1 = () => {
+  //alert(JSON.stringify(maintenanceInfo.value))
+  maintenanceInfoForm1.value.validate((isValid, invalidFields) => {
+    if (isValid) {
+      maintenanceInfo.value.auditResult = maintenanceInfo.value.auditResult1;
+      maintenanceInfo.value.auditOpinion = maintenanceInfo.value.auditOpinion1;
+      maintenanceInfo.value.auditUser = maintenanceInfo.value.auditUser1;
+      maintenanceInfo.value.auditOpinion = maintenanceInfo.value.auditOpinion1;
+      disableAudit(maintenanceInfo.value).then((data) => {
+        ElMessage({
+          message: data.msg,
+          type: "success",
+        });
+        dialog1.visible = false;
+        dataList();
+      });
+    }
+  });
+};
 
-  const maintenanceSubmit2 =()=>{
-      //alert(JSON.stringify(maintenanceInfo.value))
-      maintenanceInfoForm2.value.validate((isValid, invalidFields) => {
-          if (isValid) {
-              maintenanceInfo.value.auditResult = maintenanceInfo.value.auditResult2;
-              maintenanceInfo.value.auditOpinion = maintenanceInfo.value.auditOpinion2;
-              maintenanceInfo.value.auditUser = maintenanceInfo.value.auditUser2;
-              maintenanceInfo.value.auditOpinion = maintenanceInfo.value.auditOpinion2;
-              disableAudit(maintenanceInfo.value).then((data)=>{
-                  ElMessage({
-                      message: data.msg,
-                      type: "success",
-                  });
-                  dialog1.visible = false
-                  dataList()
-              })
-          }
-      })
-  }
-  // 设置表格列或者其他自定义的option
-  option.value = Object.assign(option.value, {
-    selection: true,
-    column: [
-      {
-        label: "名称",
-        prop: "deviceName",
-        search: true,
-        overHidden: true,
-        rules: [
-          {
+const maintenanceSubmit2 = () => {
+  //alert(JSON.stringify(maintenanceInfo.value))
+  maintenanceInfoForm2.value.validate((isValid, invalidFields) => {
+    if (isValid) {
+      maintenanceInfo.value.auditResult = maintenanceInfo.value.auditResult2;
+      maintenanceInfo.value.auditOpinion = maintenanceInfo.value.auditOpinion2;
+      maintenanceInfo.value.auditUser = maintenanceInfo.value.auditUser2;
+      maintenanceInfo.value.auditOpinion = maintenanceInfo.value.auditOpinion2;
+      disableAudit(maintenanceInfo.value).then((data) => {
+        ElMessage({
+          message: data.msg,
+          type: "success",
+        });
+        dialog1.visible = false;
+        dataList();
+      });
+    }
+  });
+};
+// 设置表格列或者其他自定义的option
+option.value = Object.assign(option.value, {
+  selection: true,
+  delBtn: false,
+  column: [
+    {
+      label: "名称",
+      prop: "deviceName",
+      search: true,
+      overHidden: true,
+      rules: [
+        {
           required: true,
           message: "请输入名称",
           trigger: "blur",
-          },
-        ],
-          click: () => {
-              ctableRef.value.startSelect();
-          },
+        },
+      ],
+      click: () => {
+        ctableRef.value.startSelect();
       },
+    },
     {
       label: "统一编码",
       prop: "deviceNo",
@@ -301,72 +433,76 @@
       disabled: true,
       overHidden: true,
     },
-      {
-        label: "型号",
-        prop: "specifications",
-        disabled: true,
-        overHidden: true,
-      },
-      {
-        label: "使用年限",
-        prop: "deviceLife",
-        overHidden: true,
-      },
-      {
-        label: "厂家",
-        prop: "manufacturer",
-        disabled: true,
-        overHidden: true,
-      },
-       {
-        label: "原值",
-        prop: "originalValue",
-        disabled: true,
-         overHidden: true,
-       },
-        {
-            label: "停用时间",
-            prop: "disableTime",
-        },
-        {
-            label: "停用理由",
-            prop: "remark",
-            span:24,
-            type:"textarea",
-            overHidden: true,
-            rules: [
-                {
-                    required: true,
-                    message: "请输入停用理由",
-                    trigger: "blur",
-                },
-            ],
-        },
-      {
-        label: "申请人",
-        prop: "creator",
-        overHidden: true,
-        display:false
-      },
-      {
-        label: "申请时间",
-        prop: "created",
-        overHidden:true,
-        display:false
-      },
+    {
+      label: "型号",
+      prop: "specifications",
+      disabled: true,
+      overHidden: true,
+    },
+    {
+      label: "使用年限",
+      prop: "deviceLife",
+      overHidden: true,
+    },
+    {
+      label: "厂家",
+      prop: "manufacturer",
+      disabled: true,
+      overHidden: true,
+    },
+    {
+      label: "原值",
+      prop: "originalValue",
+      disabled: true,
+      overHidden: true,
+    },
+    {
+      label: "停用时间",
+      prop: "disableTime",
+    },
+    {
+      label: "停用理由",
+      prop: "remark",
+      span: 24,
+      type: "textarea",
+      overHidden: true,
+      rules: [
         {
-            label: "状态",
-            prop: "state",
-            display: false,
-            overHidden: true,
-            width : 160,
-            type: "select",
-            dicData: [{label: '待使用部门经办人审核',value:0},{label: '驳回',value:1},{label: '待使用部门负责人审核',value:2}
-                ,{label: '驳回',value:3},{label: '待科研生产部审核',value:4},{label: '驳回',value:5}
-                ,{label: '已完成',value:6}
-
-            ],
+          required: true,
+          message: "请输入停用理由",
+          trigger: "blur",
         },
-    ],
-  });
+      ],
+    },
+    {
+      label: "申请人",
+      prop: "creator",
+      overHidden: true,
+      display: false,
+    },
+    {
+      label: "申请时间",
+      prop: "created",
+      overHidden: true,
+      display: false,
+    },
+    {
+      label: "状态",
+      prop: "state",
+      display: false,
+      overHidden: true,
+      width: 160,
+      type: "select",
+      dicData: [
+        { label: "待使用部门经办人审核", value: 0 },
+        { label: "驳回", value: 1 },
+        { label: "待使用部门负责人审核", value: 2 },
+        { label: "驳回", value: 3 },
+        { label: "待科研生产部审核", value: 4 },
+        { label: "驳回", value: 5 },
+        { label: "已完成", value: 6 },
+      ],
+    },
+  ],
+});
 </script>

+ 2 - 0
src/views/pro/traceability/index.vue

@@ -11,6 +11,8 @@
           v-model:page="page"
           @cell-click="handleCellClick"
           @search-change="searchChange"
+          @current-change="dataList"
+          @selection-change="selectionChange"
         >
           <template #seqNo="{ row }">
             <el-tag :type="chooseTagType(row.seqNo, 'css')">{{

+ 34 - 35
src/views/system/post/index.vue

@@ -1,27 +1,25 @@
 <template>
   <div class="mainContentBox">
     <avue-crud
-        ref="crudRef"
-        v-model:search="search"
-        v-model="form"
-        :data="data"
-        :option="option"
-        v-model:page="page"
-        @row-save="createRow"
-        @row-update="updateRow"
-        @row-del="deleteRow"
-        @search-change="searchChange"
-        @search-reset="resetChange"
-        @size-change="dataList"
-        @current-change="dataList"
-        @selection-change="selectionChange"
+      ref="crudRef"
+      v-model:search="search"
+      v-model="form"
+      :data="data"
+      :option="option"
+      v-model:page="page"
+      @row-save="createRow"
+      @row-update="updateRow"
+      @row-del="deleteRow"
+      @search-change="searchChange"
+      @search-reset="resetChange"
+      @size-change="dataList"
+      @current-change="dataList"
+      @selection-change="selectionChange"
     >
-      <template #menu="{row,index,type}">
-        <el-button @click="binding(row)"
-                   icon="el-icon-link"
-                   text
-                   type="primary"
-        >技能</el-button>
+      <template #menu="{ row, index, type }">
+        <el-button @click="binding(row)" icon="el-icon-link" text type="primary"
+          >技能</el-button
+        >
       </template>
       <template #menu-left="{ size }">
         <el-button
@@ -41,7 +39,7 @@
       @close="dialog.visible = false"
       :destroy-on-close="true"
     >
-      <post-skill  :postId="post.id" :dialog="dialog"/>
+      <post-skill :postId="post.id" :dialog="dialog" />
     </el-dialog>
     <ExcelUpload ref="uploadRef" @finished="uploadFinished" />
   </div>
@@ -58,17 +56,18 @@ const test = () => {
   isShowTable.value = true;
   tableType.value = tableType.value == 1 ? 2 : 1;
 };
-const post=ref(null);
-const binding=(row)=>{
-  post.value=row;
-  dialog.visible=true;
-}
+const post = ref(null);
+const binding = (row) => {
+  post.value = row;
+  dialog.visible = true;
+};
 // 传入一个url,后面不带/
 const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
   useCrud({
     src: "/api/v1/sys/post",
   });
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
+  Methords; //增删改查
 const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
 const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
 
@@ -87,9 +86,7 @@ option.value = Object.assign(option.value, {
       prop: "postGroup",
       type: "select",
       search: true,
-      dicUrl:
-          dictDataUtil.request_url +
-          dictDataUtil.TYPE_CODE.post_group,
+      dicUrl: dictDataUtil.request_url + dictDataUtil.TYPE_CODE.post_group,
       props: {
         label: "dictLabel",
         value: "dictValue",
@@ -107,9 +104,7 @@ option.value = Object.assign(option.value, {
       prop: "postType",
       type: "select",
       search: true,
-      dicUrl:
-          dictDataUtil.request_url +
-          dictDataUtil.TYPE_CODE.post_type,
+      dicUrl: dictDataUtil.request_url + dictDataUtil.TYPE_CODE.post_type,
       props: {
         label: "dictLabel",
         value: "dictValue",
@@ -149,7 +144,10 @@ option.value = Object.assign(option.value, {
       label: "状态",
       prop: "state",
       type: "select",
-      dicData: [{label: '正常' , value: 0},{label: '禁用' , value: 1}],
+      dicData: [
+        { label: "正常", value: 0 },
+        { label: "禁用", value: 1 },
+      ],
       html: true,
       formatter: (val) => {
         if (val.state === 0) {
@@ -170,6 +168,7 @@ option.value = Object.assign(option.value, {
       label: "备注",
       prop: "remark",
       width: "100",
+      showOverflowTooltip: true,
       minRows: 2, //最小行/最小值
       type: "textarea", //类型为多行文本域框
       maxlength: 512, //最大输入长度
@@ -177,7 +176,7 @@ option.value = Object.assign(option.value, {
     {
       label: "创建时间",
       prop: "created",
-      display: false
+      display: false,
     },
   ],
 });