Browse Source

Dict Item: value change to id

caiaa1 1 year ago
parent
commit
fdb3e8ef4f

+ 15 - 0
src/api/biz.js → src/api/business.js

@@ -23,3 +23,18 @@ export function pushSaveFavorite(data) {
     data: data
   })
 }
+
+export function pushDeleteBusiness(id) {
+  return request({
+    url: `business/delete/${id}`
+  })
+}
+
+export function pushSaveBusiness(action, data) {
+  return request({
+    url: `business/${action}`,
+    method: 'post',
+    data: data
+  })
+}
+

+ 1 - 1
src/utils/convert.js

@@ -123,7 +123,7 @@ export function distinct(arr) {
 export function formatDictData(data, code) {
   if (code !== null && code !== undefined && data !== null && data !== undefined) {
     for (let i = 0; i < data.length; i++) {
-      if (data[i].value === (code + '')) {
+      if (data[i].id === code) {
         return data[i].label
       }
     }

+ 10 - 9
src/views/system/components/SystemDetail.vue → src/views/business/components/DetailEdit.vue

@@ -15,7 +15,7 @@
           <el-col :span="12">
             <el-form-item prop="appType" label="Type">
               <el-select v-if="!isView" v-model="formData.appType" placeholder="Please select">
-                <el-option v-for="item in typeData" :key="item.value" :label="item.label" :value="item.value" />
+                <el-option v-for="item in typeData" :key="item.id" :label="item.label" :value="item.id" />
               </el-select>
               <span v-else>{{ formData.appType }}</span>
             </el-form-item>
@@ -45,7 +45,7 @@
           <el-col :span="12">
             <el-form-item prop="deptName" label="Dept">
               <el-select v-if="!isView" v-model="formData.deptName" placeholder="placeholder">
-                <el-option v-for="item in orgData" :key="item.value" :label="item.label" :value="item.value" />
+                <el-option v-for="item in orgData" :key="item.id" :label="item.label" :value="item.id" />
               </el-select>
               <span v-else>{{ formData.deptName }}</span>
             </el-form-item>
@@ -61,7 +61,7 @@
           <el-col :span="12">
             <el-form-item prop="activeFlag" label="Active">
               <el-select v-if="!isView" v-model="formData.activeFlag" placeholder="placeholder">
-                <el-option v-for="item in activeFlagData" :key="item.value" :label="item.label" :value="item.value" />
+                <el-option v-for="item in activeFlagData" :key="item.id" :label="item.label" :value="item.id" />
               </el-select>
               <span v-else>{{ formData.activeFlag }}</span>
             </el-form-item>
@@ -69,7 +69,7 @@
           <el-col :span="12">
             <el-form-item prop="policeCategory" label="Category">
               <el-select v-if="!isView" v-model="formData.policeCategory" placeholder="placeholder">
-                <el-option v-for="item in policeCategoryData" :key="item.value" :label="item.label" :value="item.value" />
+                <el-option v-for="item in policeCategoryData" :key="item.id" :label="item.label" :value="item.id" />
               </el-select>
               <span v-else>{{ formData.policeCategory }}</span>
             </el-form-item>
@@ -78,7 +78,7 @@
         <el-row>
           <el-col :span="12">
             <el-form-item prop="icon" label="Icon" style="height: 100px;">
-              <upload-file v-if="!isView" file-type="1" :on-success="uploadSuccess" :on-error="uploadError" />
+              <upload-file v-if="!isView" :file-type="fileType" :on-success="uploadSuccess" :on-error="uploadError" />
               <el-input v-model="formData.icon" type="hidden" style="display:none" />
               <div v-if="!isNull(formData.icon)">
                 <i class="upload-success el-icon-circle-check" />{{ fileName }}
@@ -97,7 +97,7 @@
 <script>
 import { isNull, isObject } from '@/utils/convert'
 
-import { pushSaveSystem } from '@/api/system'
+import { pushSaveBusiness } from '@/api/business'
 
 import UploadFile from '@/components/Upload/UploadFile'
 
@@ -116,6 +116,7 @@ export default {
       // dialog
       visible: false,
       isView: true,
+      fileType: '97', // 99: Sytem 97: Business
       type: '',
       title: 'Edit',
       formName: 'editForm',
@@ -160,9 +161,9 @@ export default {
       fileName: '',
       action: 'add',
       // select:
-      orgData: [{ value: '1', label: 'Test1' }, { value: '0', label: 'Test0' }],
+      orgData: [{ id: 1, label: 'Test1' }, { id: 0, label: 'Test0' }],
       policeCategoryData: [],
-      activeFlagData: [{ value: '1', label: 'Active' }, { value: '0', label: 'Deactive' }],
+      activeFlagData: [{ id: 1, label: 'Active' }, { id: 0, label: 'Deactive' }],
       // others
       loading: false
     }
@@ -220,7 +221,7 @@ export default {
       this.$refs[this.formName].validate((valid) => {
         if (valid) {
           this.loading = true
-          pushSaveSystem(this.action, this.formData).then(res => {
+          pushSaveBusiness(this.action, this.formData).then(res => {
             this.$refs[this.formName].resetFields()
             this.visible = false
             this.loading = false

+ 6 - 6
src/views/business/index.vue

@@ -6,7 +6,7 @@
       </div>
       <el-radio-group v-model="formData.appType" @input="searchTable">
         <el-radio-button label="">All</el-radio-button>
-        <el-radio-button v-for="item in typeData" :key="item.id" :label="item.value">{{ item.label }}</el-radio-button>
+        <el-radio-button v-for="item in typeData" :key="item.id" :label="item.id">{{ item.label }}</el-radio-button>
       </el-radio-group>
     </el-card>
     <div class="business-box">
@@ -68,20 +68,20 @@
         </div>
       </div>
     </div>
-    <system-detail ref="systemDetail" :type-data="typeData" />
+    <detail-edit ref="systemDetail" :type-data="typeData" />
   </div>
 </template>
 
 <script>
-import SystemDetail from './components/SystemDetail'
 
 import { fetchDictData } from '@/api/dict'
-import { fetchAllBizList, pushdeleteItem } from '@/api/biz'
+import { fetchAllBizList, pushDeleteBusiness } from '@/api/business'
 
 import { hasValidRecords, formatDictData, isNull } from '@/utils/convert'
 
+import DetailEdit from './components/DetailEdit'
 export default {
-  components: { SystemDetail },
+  components: { DetailEdit },
   data() {
     return {
       // type
@@ -171,7 +171,7 @@ export default {
     },
     deleteItem(id) {
       this.loading = true
-      pushdeleteItem(id).then(res => {
+      pushDeleteBusiness(id).then(res => {
         this.getTablelist()
       }).catch(error => {
         console.log(error)

+ 4 - 4
src/views/home/Business.vue

@@ -11,12 +11,12 @@
           <el-tab-pane label="所有" name="all">
             <div v-for="bizType in bizTypeData" :key="bizType.id" class="type-box">
               <div class="type-title">{{ bizType.label }}</div>
-              <el-button v-for="item in bizData[bizType.value]" :key="item.id" type="test">{{ item.businessName }}</el-button>
+              <el-button v-for="item in bizData[bizType.value]" :key="item.id" plain>{{ item.businessName }}</el-button>
             </div>
           </el-tab-pane>
-          <el-tab-pane v-for="bizType in bizTypeData" :key="bizType.id" :label="bizType.label" :name="bizType.type + bizType.value">
+          <el-tab-pane v-for="bizType in bizTypeData" :key="bizType.id" :label="bizType.label" :name="bizType.type + bizType.id">
             <div class="type-box">
-              <el-button v-for="item in bizData[bizType.value]" :key="item.id" type="test">{{ item.businessName }}</el-button>
+              <el-button v-for="item in bizData[bizType.value]" :key="item.id" plain>{{ item.businessName }}</el-button>
             </div>
           </el-tab-pane>
         </el-tabs>
@@ -31,7 +31,7 @@ import BusinessEdit from './components/BusinessEdit'
 
 import { fetchDictData } from '@/api/dict'
 import { hasValidRecords, isNull } from '@/utils/convert'
-import { fetchMyBizList } from '@/api/biz'
+import { fetchMyBizList } from '@/api/business'
 
 export default {
   name: 'HomeBusiness',

+ 3 - 3
src/views/home/Message.vue

@@ -11,7 +11,7 @@
             <span>筛选条件:</span>
             <el-radio-group v-model="todoType" size="mini" @input="getTablelist">
               <el-radio-button label="">全部</el-radio-button>
-              <el-radio-button v-for="item in typeData" :key="item.id" :label="item.value">{{ item.label }}</el-radio-button>
+              <el-radio-button v-for="item in typeData" :key="item.id" :label="item.id">{{ item.label }}</el-radio-button>
             </el-radio-group>
           </div>
           <el-table v-loading="loading" :data="todoData" :show-header="false" :cell-style="cellStyle" height="calc(100% - 30px)">
@@ -40,7 +40,7 @@
             <span>筛选条件:</span>
             <el-radio-group v-model="doneType" size="mini" @input="getTablelist">
               <el-radio-button label="">全部</el-radio-button>
-              <el-radio-button v-for="item in typeData" :key="item.id" :label="item.value">{{ item.label }}</el-radio-button>
+              <el-radio-button v-for="item in typeData" :key="item.id" :label="item.id">{{ item.label }}</el-radio-button>
             </el-radio-group>
           </div>
           <el-table v-loading="loading" :data="doneData" :show-header="false" height="calc(100% - 30px)">
@@ -84,7 +84,7 @@ export default {
       },
       msgDictType: 'notice_type',
       typeData: [],
-      messageLevelData: [{ 'value': '0', 'label': '正常' }, { 'value': '1', 'label': '紧急' }],
+      messageLevelData: [{ 'id': 0, 'label': '正常' }, { 'id': 1, 'label': '紧急' }],
       curTab: 'Todo',
       todoType: '',
       doneType: '',

+ 1 - 1
src/views/home/components/BusinessEdit.vue

@@ -97,7 +97,7 @@
 import draggable from 'vuedraggable'
 
 import { hasValidRecords } from '@/utils/convert'
-import { fetchAllBizList, fetchMyBizList, pushSaveFavorite } from '@/api/biz'
+import { fetchAllBizList, fetchMyBizList, pushSaveFavorite } from '@/api/business'
 
 export default {
   components: {

+ 2 - 2
src/views/home/components/MessageList.vue

@@ -22,7 +22,7 @@
           </el-form-item>
           <el-form-item label="状态">
             <el-select v-model="formData.status" clearable placeholder="请选择">
-              <el-option v-for="(item) in statusData" :key="item.value" :label="item.label" :value="item.value" />
+              <el-option v-for="(item) in statusData" :key="item.id" :label="item.label" :value="item.id" />
             </el-select>
           </el-form-item>
           <el-form-item>
@@ -105,7 +105,7 @@ export default {
       },
       // dict
       // select data
-      statusData: [{ 'value': '0', 'label': '待办' }, { 'value': '1', 'label': '已办' }],
+      statusData: [{ 'id': 0, 'label': '待办' }, { 'id': 1, 'label': '已办' }],
       systemData: [],
       // others
       loading: false,

+ 8 - 7
src/views/business/components/SystemDetail.vue → src/views/system/components/DetailEdit.vue

@@ -15,7 +15,7 @@
           <el-col :span="12">
             <el-form-item prop="appType" label="Type">
               <el-select v-if="!isView" v-model="formData.appType" placeholder="Please select">
-                <el-option v-for="item in typeData" :key="item.value" :label="item.label" :value="item.value" />
+                <el-option v-for="item in typeData" :key="item.id" :label="item.label" :value="item.id" />
               </el-select>
               <span v-else>{{ formData.appType }}</span>
             </el-form-item>
@@ -45,7 +45,7 @@
           <el-col :span="12">
             <el-form-item prop="deptName" label="Dept">
               <el-select v-if="!isView" v-model="formData.deptName" placeholder="placeholder">
-                <el-option v-for="item in orgData" :key="item.value" :label="item.label" :value="item.value" />
+                <el-option v-for="item in orgData" :key="item.id" :label="item.label" :value="item.id" />
               </el-select>
               <span v-else>{{ formData.deptName }}</span>
             </el-form-item>
@@ -61,7 +61,7 @@
           <el-col :span="12">
             <el-form-item prop="activeFlag" label="Active">
               <el-select v-if="!isView" v-model="formData.activeFlag" placeholder="placeholder">
-                <el-option v-for="item in activeFlagData" :key="item.value" :label="item.label" :value="item.value" />
+                <el-option v-for="item in activeFlagData" :key="item.id" :label="item.label" :value="item.id" />
               </el-select>
               <span v-else>{{ formData.activeFlag }}</span>
             </el-form-item>
@@ -69,7 +69,7 @@
           <el-col :span="12">
             <el-form-item prop="policeCategory" label="Category">
               <el-select v-if="!isView" v-model="formData.policeCategory" placeholder="placeholder">
-                <el-option v-for="item in policeCategoryData" :key="item.value" :label="item.label" :value="item.value" />
+                <el-option v-for="item in policeCategoryData" :key="item.id" :label="item.label" :value="item.id" />
               </el-select>
               <span v-else>{{ formData.policeCategory }}</span>
             </el-form-item>
@@ -78,7 +78,7 @@
         <el-row>
           <el-col :span="12">
             <el-form-item prop="icon" label="Icon" style="height: 100px;">
-              <upload-file v-if="!isView" file-type="1" :on-success="uploadSuccess" :on-error="uploadError" />
+              <upload-file v-if="!isView" :file-type="fileType" :on-success="uploadSuccess" :on-error="uploadError" />
               <el-input v-model="formData.icon" type="hidden" style="display:none" />
               <div v-if="!isNull(formData.icon)">
                 <i class="upload-success el-icon-circle-check" />{{ fileName }}
@@ -116,6 +116,7 @@ export default {
       // dialog
       visible: false,
       isView: true,
+      fileType: '99', // 99: Sytem 97: Business
       type: '',
       title: 'Edit',
       formName: 'editForm',
@@ -160,9 +161,9 @@ export default {
       fileName: '',
       action: 'add',
       // select:
-      orgData: [{ value: '1', label: 'Test1' }, { value: '0', label: 'Test0' }],
+      orgData: [{ id: 1, label: 'Test1' }, { id: 0, label: 'Test0' }],
       policeCategoryData: [],
-      activeFlagData: [{ value: '1', label: 'Active' }, { value: '0', label: 'Deactive' }],
+      activeFlagData: [{ id: 1, label: 'Active' }, { id: 0, label: 'Deactive' }],
       // others
       loading: false
     }

+ 5 - 5
src/views/system/index.vue

@@ -6,7 +6,7 @@
       </div>
       <el-radio-group v-model="formData.appType" @input="searchTable">
         <el-radio-button label="">All</el-radio-button>
-        <el-radio-button v-for="item in typeData" :key="item.id" :label="item.value">{{ item.label }}</el-radio-button>
+        <el-radio-button v-for="item in typeData" :key="item.id" :label="item.id">{{ item.label }}</el-radio-button>
       </el-radio-group>
     </el-card>
     <div class="system-box">
@@ -65,20 +65,20 @@
         </div>
       </div>
     </div>
-    <system-detail ref="systemDetail" :type-data="typeData" />
+    <detail-edit ref="systemDetail" :type-data="typeData" />
   </div>
 </template>
 
 <script>
-import SystemDetail from './components/SystemDetail'
-
 import { fetchDictData } from '@/api/dict'
 import { fetchAllSystemList, pushDeleteSystem } from '@/api/system'
 
 import { hasValidRecords, formatDictData, isNull } from '@/utils/convert'
 
+import DetailEdit from './components/DetailEdit'
+
 export default {
-  components: { SystemDetail },
+  components: { DetailEdit },
   data() {
     return {
       // type