Bläddra i källkod

附件资料库

lipenghui 3 månader sedan
förälder
incheckning
2bd2bbf191

+ 0 - 1
src/views/pms/device/BomInfo.vue

@@ -140,7 +140,6 @@ const getList = async () => {
   }
 }
 const successList = async (id) => {
-  debugger
   queryParams.bomId = id
   await getList()
 }

+ 7 - 7
src/views/pms/device/IotDeviceForm.vue

@@ -16,8 +16,8 @@
       <div class="base-expandable-content" :class="{ 'is-expanded': baseIsExpanded }">
         <el-row>
           <el-col :span="8">
-            <el-form-item label="资产编码" prop="deviceCode">
-              <el-input v-model="formData.deviceCode" placeholder="请输入资产编码" />
+            <el-form-item label="设备编码" prop="deviceCode">
+              <el-input v-model="formData.deviceCode" :disabled="formType==='update'" placeholder="请输入设备编码" />
             </el-form-item>
           </el-col>
           <el-col :span="8">
@@ -28,6 +28,7 @@
           <el-col :span="8">
             <el-form-item label="所在部门" prop="deptId">
               <el-tree-select
+                :disabled="formType==='update'"
                 v-model="formData.deptId"
                 :data="deptList"
                 :props="defaultProps"
@@ -61,7 +62,7 @@
           </el-col>
           <el-col :span="8">
             <el-form-item label="设备状态" prop="deviceStatus">
-              <el-select v-model="formData.deviceStatus" placeholder="请选择" clearable>
+              <el-select v-model="formData.deviceStatus" placeholder="请选择" :disabled="formType==='update'" clearable>
                 <el-option
                   v-for="dict in getStrDictOptions(DICT_TYPE.PMS_DEVICE_STATUS)"
                   :key="dict.label"
@@ -277,10 +278,9 @@
       <div class="qt-expandable-content" :class="{ 'is-expanded': qtIsExpanded }">
         <el-row>
           <el-col v-for="field in list" :key="field.sort" :span="8">
-            <el-form-item :label="field.name" :prop="field.code" :rules="field.rules">
+            <el-form-item label-width="180px" :label="field.name" :prop="field.code" :rules="field.rules">
               <!-- 文本输入 -->
               <el-input
-
                 v-if="field.type === 'text'"
                 v-model="formData[field.code]"
                 :placeholder="'请输入' + field.name"
@@ -420,7 +420,7 @@ const formData = ref({
 })
 const formRules = reactive({
   assetClass: [{ required: true, message: '资产类别不能为空', trigger: 'blur' }],
-  deviceCode: [{ required: true, message: '资产编码不能为空', trigger: 'blur' }],
+  deviceCode: [{ required: true, message: '设备编码不能为空', trigger: 'blur' }],
   deviceName: [{ required: true, message: '设备名称不能为空', trigger: 'blur' }],
   brandName: [{ required: true, message: '品牌不能为空', trigger: 'blur' }],
   deptId: [{ required: true, message: '所在部门不能为空', trigger: 'blur' }],
@@ -692,7 +692,7 @@ const resetForm = () => {
 }
 
 .qt-expandable-content.is-expanded {
-  max-height: 200px; /* 或者根据内容设定一个合适的最大高度 */
+  max-height: 1200px; /* 或者根据内容设定一个合适的最大高度 */
 }
 .title-button{
   font-size: 18px;

+ 12 - 4
src/views/pms/device/index.vue

@@ -113,14 +113,14 @@
 
       <!-- 列表 -->
       <ContentWrap>
-        <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
+        <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" @sort-change="handleSortChange">
           <el-table-column label="序号" width="60" align="center">
             <template #default="scope">
               {{ scope.$index + 1 }}
             </template>
           </el-table-column>
-          <el-table-column label="资产编码" align="center" prop="deviceCode" />
-          <el-table-column label="设备名称" align="center" prop="deviceName">
+          <el-table-column label="资产编码" sortable align="center" prop="deviceCode" />
+          <el-table-column label="设备名称" sortable align="center" prop="deviceName">
             <template #default="scope">
               <el-link :underline="false" type="primary" @click="handleDetail(scope.row.id)">
                 {{ scope.row.deviceName }}
@@ -204,6 +204,7 @@ import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
 import { dateFormatter } from '@/utils/formatTime'
 import DeptTree from '@/views/system/user/DeptTree.vue'
 import { CACHE_KEY, useCache } from '@/hooks/web/useCache'
+import {buildSortingField} from "@/utils";
 
 /** 设备台账 列表 */
 defineOptions({ name: 'IotDevicePms' })
@@ -247,7 +248,8 @@ const queryParams = reactive({
   infoRemark: undefined,
   infoUrl: undefined,
   templateJson: undefined,
-  creator: undefined
+  creator: undefined,
+  sortingFields: {}
 })
 const queryFormRef = ref() // 搜索的表单
 const exportLoading = ref(false) // 导出的加载中
@@ -261,6 +263,12 @@ const shou = (tree) =>{
     contentSpan.value = 24
   }
 }
+
+const handleSortChange = (params: any) => {
+  console.log(`排序字段: ${prop}, 排序方式: ${order}`);
+  queryParams.sortingFields = [buildSortingField(params)]
+};
+
 /** 查询列表 */
 const getList = async () => {
   loading.value = true

+ 22 - 5
src/views/pms/iotinfo/IotInfoForm.vue

@@ -10,6 +10,16 @@
       <!--      <el-form-item label="文件名称" prop="filename">-->
       <!--        <el-input v-model="formData.filename" placeholder="请输入文件名称" />-->
       <!--      </el-form-item>-->
+      <el-form-item label="文件目录" prop="classId">
+        <el-tree-select
+          v-model="formData.classId"
+          :data="fileList"
+          :props="defaultProps"
+          check-strictly
+          placeholder="请选择文件目录"
+          value-key="id"
+        />
+      </el-form-item>
       <el-form-item label="附件" prop="filePath" style="">
         <UploadFileAll style="vertical-align: middle"
           :is-show-tip="false"
@@ -41,6 +51,8 @@
 <script setup lang="ts">
 import { IotInfoApi, IotInfoVO } from '@/api/pms/iotinfo'
 import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
+import {defaultProps, handleTree} from "@/utils/tree";
+import * as FileClassifyApi from "@/api/pms/info";
 
 /** 资料 表单 */
 defineOptions({ name: 'IotInfoForm' })
@@ -51,6 +63,7 @@ const message = useMessage() // 消息弹窗
 const dialogVisible = ref(false) // 弹窗的是否展示
 const dialogTitle = ref('') // 弹窗的标题
 const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
+const fileList = ref<Tree[]>([]) // 树形结构
 const formType = ref('') // 表单的类型:create - 新增;update - 修改
 const formData = ref({
   id: undefined,
@@ -63,10 +76,7 @@ const formData = ref({
   fileList: []
 })
 const formRules = reactive({
-  // deviceId: [{ required: true, message: '设备不能为空', trigger: 'blur' }],
-  // orgId: [{ required: true, message: '部门不能为空', trigger: 'blur' }],
-  // filename: [{ required: true, message: '文件名称不能为空', trigger: 'blur' }],
-  // fileType: [{ required: true, message: '文件类型不能为空', trigger: 'change' }],
+  classId: [{ required: true, message: '文件不能为空', trigger: 'blur' }],
   filePath: [{ required: true, message: '文件不能为空', trigger: 'blur' }]
 })
 const formRef = ref() // 表单 Ref
@@ -89,9 +99,17 @@ const open = async (type: string, id?: number) => {
       formLoading.value = false
     }
   }
+  formData.value.classId = props.classId
+  await getTree();
 }
 defineExpose({ open }) // 提供 open 方法,用于打开弹窗
 
+/** 获得分类树 */
+const getTree = async () => {
+  const res = await FileClassifyApi.IotInfoClassifyApi.getSimpleInfotClassifyList(props.deviceId)
+  fileList.value = []
+  fileList.value.push(...handleTree(res))
+}
 /** 提交表单 */
 const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
 const submitForm = async () => {
@@ -105,7 +123,6 @@ const submitForm = async () => {
     const data = formData.value as unknown as IotInfoVO
 
     if (formType.value === 'create') {
-      data.classId = props.classId
       data.deviceId = props.deviceId
       // data.filePath = data.filePath.join(',')
       await IotInfoApi.createIotInfo(data)

+ 12 - 14
src/views/supplier/base/Form.vue

@@ -42,20 +42,18 @@
         </el-select>
       </el-form-item>
         </el-col>
-        <el-col :span="12">
-      <el-form-item label="供应商性质" prop="nature">
-        <el-select v-model="formData.nature" placeholder="请选择">
-          <el-option
-            v-for="dict in getIntDictOptions(DICT_TYPE.SUPPLIER_NATURE)"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
-          </el-col>
-        </el-row>
-      <el-row>
+<!--        <el-col :span="12">-->
+<!--      <el-form-item label="供应商性质" prop="nature">-->
+<!--        <el-select v-model="formData.nature" placeholder="请选择">-->
+<!--          <el-option-->
+<!--            v-for="dict in getIntDictOptions(DICT_TYPE.SUPPLIER_NATURE)"-->
+<!--            :key="dict.value"-->
+<!--            :label="dict.label"-->
+<!--            :value="dict.value"-->
+<!--          />-->
+<!--        </el-select>-->
+<!--      </el-form-item>-->
+<!--          </el-col>-->
         <el-col :span="12">
       <el-form-item label="状态" prop="status">
         <el-select v-model="formData.status" placeholder="请选择">

+ 12 - 18
src/views/supplier/base/form/SupplierInfoForm.vue

@@ -52,18 +52,18 @@
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col :span="8">
-          <el-form-item label="供应商性质" prop="nature">
-            <el-select v-model="formData.nature" placeholder="请选择供应商性质" class="w-80!">
-              <el-option
-                v-for="dict in getStrDictOptions(DICT_TYPE.SUPPLIER_NATURE)"
-                :key="dict.id"
-                :label="dict.label"
-                :value="dict.value"
-              />
-            </el-select>
-          </el-form-item>
-        </el-col>
+<!--        <el-col :span="8">-->
+<!--          <el-form-item label="供应商性质" prop="nature">-->
+<!--            <el-select v-model="formData.nature" placeholder="请选择供应商性质" class="w-80!">-->
+<!--              <el-option-->
+<!--                v-for="dict in getStrDictOptions(DICT_TYPE.SUPPLIER_NATURE)"-->
+<!--                :key="dict.id"-->
+<!--                :label="dict.label"-->
+<!--                :value="dict.value"-->
+<!--              />-->
+<!--            </el-select>-->
+<!--          </el-form-item>-->
+<!--        </el-col>-->
 <!--        <el-col :span="8">-->
 <!--          <el-form-item label="状态" prop="status">-->
 <!--            <el-select v-model="formData.status" placeholder="请选择状态" class="w-80!">-->
@@ -85,8 +85,6 @@
             />
           </el-form-item>
         </el-col>
-      </el-row>
-      <el-row>
         <el-col :span="8">
           <el-form-item label="公司规模" prop="size">
             <el-select v-model="formData.size" placeholder="请选择公司规模" class="w-80!">
@@ -109,8 +107,6 @@
             <el-input v-model="formData.corporation" class="w-80!" placeholder="请输入法人" />
           </el-form-item>
         </el-col>
-      </el-row>
-      <el-row>
         <el-col :span="8">
           <el-form-item label="成立日期" prop="incorporationDate">
             <el-date-picker
@@ -137,8 +133,6 @@
             />
           </el-form-item>
         </el-col>
-      </el-row>
-      <el-row>
       <el-col :span="8">
         <el-form-item label="年营业额(万元)" prop="annualTurnove">
           <el-input

+ 0 - 6
src/views/supplier/base/index.vue

@@ -208,12 +208,6 @@
                 >
                   <Icon icon="ep:delete" />删除
                 </el-dropdown-item>
-                <el-dropdown-item
-                  v-if="scope.row.auditStatus === 0&&scope.row.status === 1"
-                  command="handleSubmit"
-                >
-                  <Icon icon="ep:circle-check" />提交审核
-                </el-dropdown-item>
                 <el-dropdown-item
                   v-if="scope.row.status != 3"
                   command="handleClose"