瀏覽代碼

Merge remote-tracking branch 'origin/master'

lyc 4 月之前
父節點
當前提交
795e72bcf1
共有 3 個文件被更改,包括 133 次插入23 次删除
  1. 1 1
      src/views/equipment/equipment.vue
  2. 131 21
      src/views/equipment/equipmentModel.vue
  3. 1 1
      src/views/equipment/equipmentType.vue

+ 1 - 1
src/views/equipment/equipment.vue

@@ -240,7 +240,7 @@ export default {
       let param = {
         pageNo: this.pagination.currentPage,
         pageSize: this.pagination.pageSize,
-        // ...this.queryForm
+        ...this.queryForm
       }
       getDataList(param).then(res => {
         if (res.code !== 0) {

+ 131 - 21
src/views/equipment/equipmentModel.vue

@@ -3,10 +3,10 @@
   <Container :query-form="queryForm" class="three-model-container">
     <!-- 查询表单 -->
     <template #query-form>
-      <el-form-item label="装备型名称">
+      <el-form-item label="装备型名称">
         <el-input
-          v-model="queryForm.zbTypeName"
-          placeholder="输入装备名称"
+          v-model="queryForm.zbModelName"
+          placeholder="输入装备型号名称"
           clearable
           @keyup.enter.native="handleQuery"
         />
@@ -34,9 +34,13 @@
         <el-table-column type="selection" width="55"/>
         <el-table-column type="index" label="序号" width="60"/>
         <el-table-column prop="zbTypeName" label="所属装备类型" width="120" align="center"/>
-        <el-table-column prop="zbModelName" label="装备型号名称" align="center" />
-        <el-table-column prop="zbTypeRemark" label="装备型号备注" align="center" />
-        <el-table-column prop="zbModelIcon" label="美军标图标" align="center" />
+        <el-table-column prop="zbModelName" label="装备型号名称" align="center"/>
+        <el-table-column prop="zbModelRemark" label="装备型号备注" align="center"/>
+        <el-table-column prop="zbModelIcon" label="美军标图标" align="center">
+          <template slot-scope="{row}">
+            <vab-icon :icon="['fas', row.zbModelIcon]" />
+          </template>
+        </el-table-column>
         <el-table-column prop="userName" label="创建人" width="120" align="center" sortable/>
         <el-table-column prop="createTime" label="创建时间" width="180" align="center" sortable/>
         <el-table-column label="操作" fixed="right" align="center" width="100">
@@ -78,7 +82,8 @@
           <el-col :span="12">
             <el-form-item label="所属装备类型" prop="zbTypeName">
               <el-select v-model="addForm.zbTypeId" placeholder="请选择所属装备类型">
-                <el-option v-for="(item, index) in zbTypeList" :key="index" :label="item.zbTypeName" :value="item.id"></el-option>
+                <el-option v-for="(item, index) in zbTypeList" :key="index" :label="item.zbTypeName"
+                           :value="item.id"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -89,18 +94,75 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="美军标图标" prop="zbModelIcon">
-              <el-select v-model="addForm.zbModelIcon" placeholder="请输入装备型号名称">
-                <el-option label="图标1" :value="1"></el-option>
-              </el-select>
+              <!--<el-select v-model="addForm.zbModelIcon" placeholder="请输入装备型号名称">-->
+              <!--  <el-option label="图标1" :value="1"></el-option>-->
+              <!--</el-select>-->
+              <el-input
+                v-model="addForm.zbModelIcon"
+                autocomplete="off"></el-input>
+              <el-button type="primary" icon="el-icon-search"
+                         class="input-btn-choose" @click="showIcon"></el-button>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="装备类型可编辑参数" prop="zbModelIcon">
-              <el-input v-model="addForm.zbModelJson" placeholder="请输入装备类型可编辑参数" />
+          <el-col :span="24">
+            <el-form-item label="装备类型可编辑参数" prop="zbModelJson">
+              <el-table :data="addForm.zbModelJson" border>
+                <el-table-column prop="sourceName" label="业务名称">
+                  <template slot-scope="scope">
+                    <el-input
+                      v-if="scope.row.isEditing"
+                      v-model="scope.row.sourceName"
+                    ></el-input>
+                    <span v-else>{{ scope.row.sourceName }}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="sourceCode" label="英文名称">
+                  <template slot-scope="scope">
+                    <el-input
+                      v-if="scope.row.isEditing"
+                      v-model="scope.row.sourceCode"
+                    ></el-input>
+                    <span v-else>{{ scope.row.sourceCode }}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="sourceType" label="类型">
+                  <template slot-scope="scope">
+                    <el-select v-if="scope.row.isEditing" v-model="scope.row.sourceType">
+                      <el-option v-for="(item, index) in $getDictList('zb_filed_type')" :key="index"
+                                 :label="item.dictName" :value="item.dictValue"></el-option>
+                    </el-select>
+                    <span v-else>{{ scope.row.sourceType }}</span>
+                  </template>
+                </el-table-column>
+                <el-table-column label="操作" width="160">
+                  <template slot-scope="scope">
+                    <el-button
+                      size="mini"
+                      @click="dialogEdit(scope.row)"
+                      v-if="!scope.row.isEditing"
+                    >编辑
+                    </el-button>
+                    <el-button
+                      size="mini"
+                      type="success"
+                      @click="dialogSave(scope.row)"
+                      v-if="scope.row.isEditing"
+                    >确定
+                    </el-button>
+                    <el-button
+                      size="mini"
+                      type="danger"
+                      @click="dialogCancle(scope.row)"
+                      v-if="scope.row.isEditing"
+                    >取消
+                    </el-button>
+                  </template>
+                </el-table-column>
+              </el-table>
             </el-form-item>
           </el-col>
           <el-col :span="24">
-            <el-form-item label="装备型号备注" prop="zbModeName">
+            <el-form-item label="装备型号备注" prop="zbModelRemark">
               <el-input v-model="addForm.zbModelRemark" type="textarea" :rows="4" placeholder="请输入装备型号备注"/>
             </el-form-item>
           </el-col>
@@ -112,6 +174,12 @@
         <el-button type="primary" @click="handleAddSubmit">确 定</el-button>
       </div>
     </el-dialog>
+
+    <icon
+      v-on:icon="closeIcon"
+      ref="icon"
+    ></icon>
+
   </Container>
 </template>
 
@@ -124,14 +192,16 @@ import {
   getEquModelDetails,
   getAllEquTypes
 } from '@/api/equipment'
+import Icon from "@/components/opsli/icon/icon";
 
 export default {
   name: 'equipmentModel',
+  components: {Icon},
   data() {
     return {
       addOrUpdateTitle: '新建',
       // 查询
-      queryForm: {zbTypeName: ''},
+      queryForm: {zbModelName: ''},
 
       // 列表&分页
       tableData: [],
@@ -147,7 +217,14 @@ export default {
         zbModelName: '',
         zbModelRemark: '',
         zbModelIcon: '',
-        zbModelJson: '',
+        zbModelJson: [
+          {
+            sourceName: "",
+            sourceCode: "",
+            sourceType: "",
+            isEditing: false
+          }
+        ],
       },
       addRules: {},
       zbTypeList: [], // 所有装备类型
@@ -158,10 +235,29 @@ export default {
     this.getTypes()
   },
   methods: {
+    showIcon() {
+      this.$refs["icon"].showIcon();
+    },
+    // 选择完 icon 监听事件
+    closeIcon(icon){
+      this.addForm.zbModelIcon = icon;
+    },
+    dialogEdit(row) {
+      row.isEditing = true
+    },
+    dialogSave(row) {
+      row.isEditing = false
+    },
+    dialogCancle(row) {
+      row.sourceName = ''
+      row.sourceCode = ''
+      row.sourceType = ''
+      row.isEditing = false
+    },
     // 获取所有装备类型
     getTypes() {
       getAllEquTypes().then(res => {
-        if (res.code !==0) {
+        if (res.code !== 0) {
           return
         }
         this.zbTypeList = res.data
@@ -172,7 +268,7 @@ export default {
       let param = {
         pageNo: this.pagination.currentPage,
         pageSize: this.pagination.pageSize,
-        // ...this.queryForm
+        ...this.queryForm
       }
       equModelList(param).then(res => {
         if (res.code !== 0) {
@@ -185,7 +281,7 @@ export default {
       })
     },
     resetQuery() {
-      this.queryForm = {zbTypeName: ''}
+      this.queryForm = {zbModelName: ''}
       this.pagination.currentPage = 1
       this.handleQuery()
     },
@@ -205,6 +301,9 @@ export default {
     },
     handleEdit(row) {
       this.addForm = {...row}
+      if (typeof row.zbModelJson != 'string') {
+        this.addForm.zbModelJson = JSON.parse(row.zbModelJson)
+      }
       // getEquDetails(row.id).then(res => {
       //   console.log(res)
       // })
@@ -231,7 +330,14 @@ export default {
         zbModelName: '',
         zbModelRemark: '',
         zbModelIcon: '',
-        zbModelJson: '',
+        zbModelJson: [
+          {
+            sourceName: "",
+            sourceCode: "",
+            sourceType: "",
+            isEditing: false
+          }
+        ],
       }
       this.addOrUpdateTitle = '新建'
       this.addVisible = true
@@ -246,7 +352,11 @@ export default {
     handleAddSubmit() {
       this.$refs.addFormRef.validate(valid => {
         if (!valid) return
-        (this.addOrUpdateTitle === '编辑' ? equModelUpdate : equModelAdd)(this.addForm).then(res => {
+        let data = this.addForm
+        if (typeof data.zbModelJson != 'string') {
+          data.zbModelJson = JSON.stringify(this.addForm.zbModelJson)
+        }
+        (this.addOrUpdateTitle === '编辑' ? equModelUpdate : equModelAdd)(data).then(res => {
           if (res.code !== 0) {
             return
           }

+ 1 - 1
src/views/equipment/equipmentType.vue

@@ -131,7 +131,7 @@ export default {
       let param = {
         pageNo: this.pagination.currentPage,
         pageSize: this.pagination.pageSize,
-        // ...this.queryForm
+        ...this.queryForm
       }
       equList(param).then(res => {
         if (res.code !== 0) {