lishuangjiang@potevio.com il y a 1 an
Parent
commit
3adbf1b2e3

+ 1 - 0
src/components/common/props/crudProps.ts

@@ -119,4 +119,5 @@ export const crudProps = {
   tableProps: Object,
   formProps: Object,
   addBtn:propTypes.bool.def(false),
+  showDeptSearch:propTypes.bool.def(false),
 }

+ 1 - 0
src/components/common/yt-crud.vue

@@ -155,6 +155,7 @@ const onSuccess = (obj: any) => {
   emits('saveFun', obj)
 }
 const addBtn = ref(props.addBtn)
+const showDeptSearch = ref(props.showDeptSearch)
 // 传给列表需要的参数
 const queryParams = ref(props.query)
 const search = (params: any) => {

+ 38 - 38
src/views/iot/equipment/devices/detail.vue

@@ -152,46 +152,46 @@
         <Pagination :data="state.formInline" @onPagePaging="getEvents" />
       </el-tab-pane>
 
-      <el-tab-pane label="模拟上报" name="report">
-        <el-table
-          v-if="state.activeName === 'report'"
-          :data="state.modelFunctions"
-          highlight-current-row
-          v-loading="state.loading"
-          border
-          element-loading-text="拼命加载中"
-          style="width: 100%"
-        >
-          <el-table-column type="expand" label="上报">
-            <template v-slot="fun">
-              <el-form inline v-model="fun.row" label-width="80px">
-                <el-form-item label="值" v-if="fun.row.type == 'property'">
-                  <el-input v-model="fun.row.value" size="small" />
-                </el-form-item>
-                <el-form-item label="内容" v-else>
-                  <el-input type="textarea" v-model="fun.row.content" size="small" rows="4" />
-                </el-form-item>
-                <el-form-item>
-                  <el-button type="primary" size="small" @click="sendDeviceMsg(fun.row)">发送</el-button>
-                </el-form-item>
-              </el-form>
-            </template>
-          </el-table-column>
-          <el-table-column sortable prop="type" label="功能类型" width="100" />
-          <el-table-column sortable prop="name" label="功能名称" width="180" />
-          <el-table-column sortable prop="identifier" label="标识符" width="150" />
-          <el-table-column sortable prop="dataTypeName" label="数据类型" width="100" />
-          <el-table-column sortable prop="params" label="数据定义" />
-        </el-table>
-      </el-tab-pane>
+<!--      <el-tab-pane label="模拟上报" name="report">-->
+<!--        <el-table-->
+<!--          v-if="state.activeName === 'report'"-->
+<!--          :data="state.modelFunctions"-->
+<!--          highlight-current-row-->
+<!--          v-loading="state.loading"-->
+<!--          border-->
+<!--          element-loading-text="拼命加载中"-->
+<!--          style="width: 100%"-->
+<!--        >-->
+<!--          <el-table-column type="expand" label="上报">-->
+<!--            <template v-slot="fun">-->
+<!--              <el-form inline v-model="fun.row" label-width="80px">-->
+<!--                <el-form-item label="值" v-if="fun.row.type == 'property'">-->
+<!--                  <el-input v-model="fun.row.value" size="small" />-->
+<!--                </el-form-item>-->
+<!--                <el-form-item label="内容" v-else>-->
+<!--                  <el-input type="textarea" v-model="fun.row.content" size="small" rows="4" />-->
+<!--                </el-form-item>-->
+<!--                <el-form-item>-->
+<!--                  <el-button type="primary" size="small" @click="sendDeviceMsg(fun.row)">发送</el-button>-->
+<!--                </el-form-item>-->
+<!--              </el-form>-->
+<!--            </template>-->
+<!--          </el-table-column>-->
+<!--          <el-table-column sortable prop="type" label="功能类型" width="100" />-->
+<!--          <el-table-column sortable prop="name" label="功能名称" width="180" />-->
+<!--          <el-table-column sortable prop="identifier" label="标识符" width="150" />-->
+<!--          <el-table-column sortable prop="dataTypeName" label="数据类型" width="100" />-->
+<!--          <el-table-column sortable prop="params" label="数据定义" />-->
+<!--        </el-table>-->
+<!--      </el-tab-pane>-->
 
-      <el-tab-pane label="设备配置" name="config">
-        <DeviceConfig v-if="state.activeName === 'config'" :deviceId="state.deviceId" />
-      </el-tab-pane>
+<!--      <el-tab-pane label="设备配置" name="config">-->
+<!--        <DeviceConfig v-if="state.activeName === 'config'" :deviceId="state.deviceId" />-->
+<!--      </el-tab-pane>-->
 
-      <el-tab-pane label="模拟设备" name="simulator">
-        <DeviceSimulator v-if="state.activeName === 'simulator'" :thingModelFunctions="state.modelFunctions" :deviceDetail="state.deviceDetail" />
-      </el-tab-pane>
+<!--      <el-tab-pane label="模拟设备" name="simulator">-->
+<!--        <DeviceSimulator v-if="state.activeName === 'simulator'" :thingModelFunctions="state.modelFunctions" :deviceDetail="state.deviceDetail" />-->
+<!--      </el-tab-pane>-->
     </el-tabs>
 
     <el-dialog

+ 69 - 2
src/views/iot/equipment/devices/list.vue

@@ -1,5 +1,23 @@
 <template>
   <div>
+<!--    <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">-->
+<!--      <div class="search" v-show="showSearch">-->
+<!--        <el-form ref="queryFormRef" :model="state.queryParams" :inline="true" label-width="68px">-->
+<!--          <el-form-item label="部门名称" prop="menuName">-->
+<!--            <el-input v-model="state.queryParams.deptName" placeholder="请输入部门名称" clearable @keyup.enter="handleQuery" />-->
+<!--          </el-form-item>-->
+<!--          <el-form-item label="状态" prop="status">-->
+<!--            <el-select v-model="state.queryParams.status" placeholder="部门状态" clearable>-->
+<!--              <el-option v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value" />-->
+<!--            </el-select>-->
+<!--          </el-form-item>-->
+<!--          <el-form-item>-->
+<!--            <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>-->
+<!--            <el-button icon="Refresh" @click="resetQuery">重置</el-button>-->
+<!--          </el-form-item>-->
+<!--        </el-form>-->
+<!--      </div>-->
+<!--    </transition>-->
     <yt-crud
       v-bind="options"
       ref="crudRef"
@@ -141,9 +159,22 @@ import YtCrud from '@/components/common/yt-crud.vue'
 import { ElPopconfirm } from 'element-plus'
 import StatusTag from '@/components/StatusTag/index.vue'
 import { hasPermission } from '@/utils/auth'
+import { listDept} from '@/api/system/dept'
 
 const { proxy } = getCurrentInstance() as ComponentInternalInstance
+
+interface DeptOptionsType {
+  id: number | string
+  deptName: string
+  children: DeptOptionsType[]
+}
 const state = reactive({
+  queryParams: {
+    pageNum: 1,
+    pageSize: 10,
+    deptName: undefined,
+    status: undefined,
+  },
   page: {
     pageSize: 12,
     pageNum: 1,
@@ -180,7 +211,7 @@ const nodeTypeOptions =  [
     label: '直连设备',
   },
 ]
-
+// const { proxy } = getCurrentInstance() as ComponentInternalInstance
 // 打开子设备
 const childrenDialogRef = ref()
 const showChidrenDevices = (row: any) => {
@@ -194,6 +225,7 @@ const copyIdSuccess = () => {
 
 // 产品字典
 const productOptions = ref<IProductsVO[]>([])
+const deptOptions = ref<DeptOptionsType[]>([])
 
 // 组列表
 const groupOptions = [
@@ -349,7 +381,21 @@ const column = ref<IColumn[]>([{
   search: true,
   hide: true,
   formHide: true,
-}, {
+},
+  {
+    label: '所属部门',
+    key: 'createDept',
+    search: true,
+    type: 'select',
+    hide: true,
+    formHide: true,
+    componentProps: {
+      labelAlias: 'deptName',
+      valueAlias: 'id',
+      options: [],
+    }
+  },
+  {
   label: '创建时间',
   key: 'createAt',
   tableWidth: 180,
@@ -357,6 +403,7 @@ const column = ref<IColumn[]>([{
   type: 'date',
   formHide: true,
 }])
+
 const crudRef = ref()
 const data = ref<any[]>([])
 const getData =  () => {
@@ -386,6 +433,25 @@ const getDict = () => {
   })
 }
 getDict()
+
+const getDept = () => {
+  listDept().then((res) => {
+    // const data = proxy?.handleTree<DeptOptionsType>(res.data, 'id')
+    deptOptions.value = res.data || []
+    console.log("################"+JSON.stringify(deptOptions.value))
+    column.value.forEach(item => {
+      if (item.key === 'createDept') {
+        item.componentProps.options = deptOptions.value
+      }
+    })
+    // const data = proxy?.handleTree<DeptOptionsType>(res.data, 'id')
+    // console.log("####################"+JSON.stringify(data))
+    // if (data) {
+    //   deptOptions.value = data
+    // }
+  })
+}
+getDept()
 const getProductName = (key: string) => {
   return productOptions.value.find(f => f.productKey === key)?.name || ''
 }
@@ -393,6 +459,7 @@ const getNodeTypeName = (key) => {
   const type = productOptions.value.find(f => f.productKey === key)?.nodeType
   return nodeTypeOptions.find(f => f.value === type)?.label || ''
 }
+
 // 保存数据
 const onSave = async ({type, data, cancel}: any) => {
   state.loading = true

+ 1 - 1
src/views/iot/ruleEngine/ruleSys/index.vue

@@ -45,7 +45,7 @@
             <filtera v-if="activeName === 2" v-model:filters="row.filters" />
           </el-tab-pane>
           <el-tab-pane label="输出" :name="3">
-            <Output v-if="activeName === 3" v-model:list="row.actions" type="rule" actions="device,http,mqtt,kafka,tcp,alert" />
+            <Output v-if="activeName === 3" v-model:list="row.actions" type="rule" actions="alert" />
           </el-tab-pane>
         </el-tabs>
       </template>

+ 4 - 4
src/views/system/tenant/index.vue

@@ -69,10 +69,10 @@
             <el-tooltip content="修改" placement="top">
               <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:tenant:edit']" />
             </el-tooltip>
-            <el-tooltip content="同步套餐" placement="top">
-              <el-button link type="primary" icon="Refresh" @click="handleSyncTenantPackage(scope.row)" v-hasPermi="['system:tenant:edit']">
-              </el-button>
-            </el-tooltip>
+<!--            <el-tooltip content="同步套餐" placement="top">-->
+<!--              <el-button link type="primary" icon="Refresh" @click="handleSyncTenantPackage(scope.row)" v-hasPermi="['system:tenant:edit']">-->
+<!--              </el-button>-->
+<!--            </el-tooltip>-->
 <!--            <el-tooltip content="删除" placement="top">-->
 <!--              <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['system:tenant:remove']" />-->
 <!--            </el-tooltip>-->