From f6cdad43a14ca0fc362b6b8846f7fb8e362043f0 Mon Sep 17 00:00:00 2001
From: wente <329538422@qq.com>
Date: 星期四, 06 六月 2024 10:27:15 +0800
Subject: [PATCH] svgEditor

---
 web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue |   96 ++++++++++++++++++++++++------------------------
 1 files changed, 48 insertions(+), 48 deletions(-)

diff --git a/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue b/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue
index f7fae5a..361ed3c 100644
--- a/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue
+++ b/web/src/views/modules/basicInfo/XhProductModel-AddOrUpdate.vue
@@ -8,17 +8,12 @@
         <el-input v-model="dataForm.name"></el-input>
       </zt-form-item>
       <zt-form-item label="鑺傜偣绫诲瀷" prop="productType" rules="required">
-        <zt-dict v-model="dataForm.productType" dict="product"></zt-dict>
+        <zt-dict v-model="dataForm.productType" dict="product" @input="getDefaultImg"
+                 :disabled="disabled"></zt-dict>
       </zt-form-item>
-      <zt-form-item label="杩愯鐘舵�佸浘" prop="operationalStatus" v-if="isShow">
-        <el-input v-model="dataForm.operationalStatus" @focus="selectPicture('operational')"
-                  :readonly="readonly"></el-input>
-      </zt-form-item>
-      <zt-form-item label="寰呮満鐘舵�佸浘" prop="standbyState" v-if="isShow">
-        <el-input v-model="dataForm.standbyState" @focus="selectPicture('standby')" :readonly="readonly"></el-input>
-      </zt-form-item>
-      <zt-form-item label="鏁呴殰鐘舵�佸浘" prop="faultState" v-if="isShow">
-        <el-input v-model="dataForm.faultState" @focus="selectPicture('fault')" :readonly="readonly"></el-input>
+      <zt-form-item label="杩愯鐘舵�佸浘" prop="operatImg" v-if="isShow">
+        <el-input v-model="dataForm.operatImgName" @focus="selectPicture()"></el-input>
+        <el-image v-if="dataForm.operatImg" :src="url+dataForm.operatImg" style="height: 50px;width: 50px"></el-image>
       </zt-form-item>
       <zt-form-item label="鎺掑簭" prop="sort">
         <el-input v-model="dataForm.sort" :readonly="readonly"></el-input>
@@ -31,13 +26,15 @@
 
 <script>
   import PictureSelect from "@/views/modules/basicInfo/SelectPicture";
+  import Cookies from "js-cookie";
 
   export default {
     data() {
       return {
+        disabled: false,
+        url: `${window.SITE_CONFIG['apiURL']}/sysPictureBase/getSvgImage?token=${Cookies.get('token')}&id=`,
         isTree: false,
         isShow: true,
-        map: new Map(),
         fileId: '',
         productList: [],
         dataForm: {
@@ -45,9 +42,8 @@
           pid: '',
           name: '',
           productType: '',
-          operationalStatus: '',
-          standbyState: '',
-          faultState: '',
+          operatImg: '',
+          operatImgName: '',
           sort: '',
           status: ''
         }
@@ -57,14 +53,19 @@
       PictureSelect
     },
     methods: {
-      init(id,params) {
-        if (params.type == 'tree') {
+      init(id, params) {
+        if (params.type === 'tree') {
           this.isTree = true
           this.isShow = false
           this.getProductList()
         } else {
           this.dataForm.pid = params.pid
+          this.dataForm.productType = params.type
         }
+        if (this.dataForm.productType === 10 && id == null) {
+          this.getDefaultImg(this.dataForm.productType)
+        }
+        this.disabled = !!id;
       },
       // 鑾峰彇绯荤粺鍒楄〃
       async getProductList() {
@@ -72,36 +73,22 @@
         this.productList = res.data
         console.log(this.productList, 'getProductList')
       },
-      selectPicture(type) {
-        this.$refs.pictureSelect.$refs.dialog.init(type)
-      },
-      openAddWin(row, type) {
-        console.log(type, 'openAddWin(row)')
-        if (type === 'operational') {
-          this.dataForm.operationalStatus = row.name
-          for (let key in row.accessoryMap) {
-            let id = /_zt_oss_id=(\d+)/.exec(key)
-            this.fileId = id ? id[1] : ''
-          }
-          this.map.set(this.dataForm.operationalStatus, this.fileId);
-          console.log(this.map, 'openAddWin(row)')
-        } else if (type === 'standby') {
-          this.dataForm.standbyState = row.name
-          for (let key in row.accessoryMap) {
-            let id = /_zt_oss_id=(\d+)/.exec(key)
-            this.fileId = id ? id[1] : ''
-          }
-          this.map.set(this.dataForm.standbyState, this.fileId);
-          console.log(this.map, 'openAddWin(row)')
-        } else if (type === 'fault') {
-          this.dataForm.faultState = row.name
-          for (let key in row.accessoryMap) {
-            let id = /_zt_oss_id=(\d+)/.exec(key)
-            this.fileId = id ? id[1] : ''
-          }
-          this.map.set(this.dataForm.faultState, this.fileId);
-          console.log(this.map, 'openAddWin(row)')
+      async getDefaultImg(selected) {
+        console.log(selected, 'async getDefaultImg')
+        let params = {
+          productType: selected
         }
+        let res = await this.$http.get(`/sysPictureBase/getDefaultImg`, {params: params})
+        this.dataForm.operatImgName = res.data.name
+        this.dataForm.operatImg = res.data.id
+      },
+      selectPicture() {
+        this.$refs.pictureSelect.$refs.dialog.init(this.dataForm.productType)
+      },
+      openAddWin(row) {
+        this.dataForm.operatImgName = row.name
+        this.dataForm.operatImg = row.id
+        console.log(row, 'openAddWin(row)')
       },
       // 鑾峰彇淇℃伅
       async getInfo() {
@@ -113,9 +100,22 @@
       },
       // 琛ㄥ崟鎻愪氦
       async formSubmit() {
-        this.dataForm.operationalStatus = this.map.get(this.dataForm.operationalStatus)
-        this.dataForm.standbyState = this.map.get(this.dataForm.standbyState)
-        this.dataForm.faultState = this.map.get(this.dataForm.faultState)
+        let flag = true
+        if (this.isTree) {
+          if (this.dataForm.productType !== '5' || this.dataForm.productType !== '4') {
+            this.$alert("涓嶆敮鎸佹柊澧炴鑺傜偣")
+            flag = false
+          }
+        } else {
+          if (this.dataForm.productType === '5' || this.dataForm.productType === '4') {
+            this.$alert("涓嶆敮鎸佹柊澧炴鑺傜偣")
+            flag = false
+          }
+        }
+
+        if (!flag) {
+          return
+        }
         let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/basicInfo/XhProductModel/', this.dataForm)
         if (res.success) {
           await this.$tip.success()

--
Gitblit v1.9.1