From e6ec0f465d26c1228e96365e3d29f04e4661c457 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 12 十一月 2025 09:14:10 +0800
Subject: [PATCH] 简道云对接

---
 admin/src/components/business/OperaJkCabinetWindow.vue |   87 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 79 insertions(+), 8 deletions(-)

diff --git a/admin/src/components/business/OperaJkCabinetWindow.vue b/admin/src/components/business/OperaJkCabinetWindow.vue
index 4548467..e6a415d 100644
--- a/admin/src/components/business/OperaJkCabinetWindow.vue
+++ b/admin/src/components/business/OperaJkCabinetWindow.vue
@@ -64,8 +64,8 @@
           </el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="鎵�鍦ㄤ綅缃�" prop="lacation">
-        <el-input v-model="form.lacation" placeholder="璇疯緭鍏ユ墍鍦ㄤ綅缃�" v-trim/>
+      <el-form-item label="鎵�鍦ㄤ綅缃�" prop="location">
+        <el-input v-model="form.location" placeholder="璇疯緭鍏ユ墍鍦ㄤ綅缃�" v-trim/>
       </el-form-item>
       <el-form-item label="缁忕含搴�" prop="jwd">
         <div style="width: 100%; display: flex; align-items: center;">
@@ -82,6 +82,20 @@
           :inactive-value="1">
         </el-switch>
       </el-form-item>
+      <el-form-item label="婵�娲绘枃浠�" prop="activateFile">
+        <el-upload
+          accept=".zip"
+          class="upload-demo"
+          :action="base"
+          :limit="1"
+          :data="{ folder: 'activate' }"
+          :file-list="fileList"
+          :on-success="getFile"
+          :on-remove="removeFile">
+          <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
+          <div slot="tip" class="el-upload__tip">鍙兘涓婁紶zip鏂囦欢</div>
+        </el-upload>
+      </el-form-item>
       <h3 style="margin: 20px 0;">鏌滅粍淇℃伅</h3>
       <el-form-item label="鎺掑垪" prop="rowNum">
         <div style="width: 100%; display: flex; align-items: center;">
@@ -95,18 +109,18 @@
         </div>
       </el-form-item>
       <el-form-item label="缂栫爜" prop="noType">
-        <el-radio-group v-model="form.noType" @change="changeNoType">
+        <el-radio-group v-model="form.noType" :disabled="form.id ? true : false" @change="changeNoType">
           <el-radio :label="0">鑷姩缂栫爜</el-radio>
           <el-radio :label="1">鎵嬪姩缂栫爜</el-radio>
         </el-radio-group>
       </el-form-item>
       <el-form-item label="鍓嶇紑" prop="noPrefix" v-if="form.noType === 1">
         <div style="width: 100%; display: flex; align-items: center;">
-          <el-input style="flex: 1;" v-model="form.noPrefix" placeholder="璇疯緭鍏ユ暟瀛楁垨瀛楁瘝" v-trim/>
+          <el-input style="flex: 1;" v-model="form.noPrefix" :disabled="form.id ? true : false" placeholder="璇疯緭鍏ユ暟瀛楁垨瀛楁瘝" v-trim/>
           <span style="margin: 0 20px;">浣嶆暟</span>
-          <el-input style="flex: 1;" v-model="form.noLength" placeholder="璇疯緭鍏ユ暟瀛�" v-trim/>
+          <el-input style="flex: 1;" v-model="form.noLength" :disabled="form.id ? true : false" placeholder="璇疯緭鍏ユ暟瀛�" v-trim/>
           <span style="margin: 0 20px;">璧峰缂栧彿</span>
-          <el-input style="flex: 1;" v-model="form.noIndex" placeholder="璇疯緭鍏ユ暟瀛�" v-trim/>
+          <el-input style="flex: 1;" v-model="form.noIndex" :disabled="form.id ? true : false" placeholder="璇疯緭鍏ユ暟瀛�" v-trim/>
         </div>
       </el-form-item>
       <el-form-item label="鎺掑垪椤哄簭" prop="sortType" v-if="form.noType === 1">
@@ -129,7 +143,16 @@
   extends: BaseOpera,
   components: { GlobalWindow },
   data () {
+    var validate = (rule, value, callback) => {
+      if (this.form.noType === 1 && this.form.noLength === '' || this.form.noIndex === '') {
+        callback(new Error('浣嶆暟鍜岃捣濮嬬紪鍙蜂笉鑳戒负绌猴紒'));
+      } else {
+        callback();
+      }
+    };
     return {
+      base: process.env.VUE_APP_API_PREFIX + 'visitsAdmin/cloudService/public/upload',
+      fileList: [],
       // 琛ㄥ崟鏁版嵁
       form: {
         id: null,
@@ -141,6 +164,7 @@
         status: 0,
         port: '',
         managerIdList: '',
+        location: '',
         useTime: '',
         doubleAuth: 0,
         authMemberIdList: '',
@@ -152,7 +176,8 @@
         noPrefix: '',
         noLength: '',
         noIndex: '',
-        sortType: 0
+        sortType: 0,
+        activateFile: null
       },
       // 楠岃瘉瑙勫垯
       rules: {
@@ -184,7 +209,7 @@
           { required: true, message: '璇烽�夋嫨缂栫爜', trigger: 'blur' }
         ],
         noPrefix: [
-          { required: true, message: '璇疯緭鍏ュ墠缂�', trigger: 'blur' }
+          { required: true, validator: validate, trigger: 'blur' }
         ],
         sortType: [
           { required: true, message: '璇疯緭鍏ユ帓鍒楅『搴�', trigger: 'blur' }
@@ -200,6 +225,22 @@
     })
   },
   methods: {
+    getFile(response) {
+      this.fileList = [{
+        name: response.data.originname,
+        fileurl: response.data.imgaddr,
+        ...response.data
+      }]
+      this.form.activateFile = {
+        name: response.data.originname,
+        fileurl: response.data.imgaddr,
+        ...response.data
+      }
+    },
+    removeFile() {
+      this.form.activateFile = null
+      this.fileList = []
+    },
     open (title, target) {
       this.title = title
       this.loadMember()
@@ -212,11 +253,41 @@
               for (const key in this.form) {
                 this.form[key] = res[key]
               }
+              if (res.activateFile) {
+                this.fileList = [{
+                  name: res.activateFile.name,
+                  url: res.activateFile.fileurlFull,
+                  ...res.activateFile
+                }]
+              }
               this.visible = true
             })
           })
       } else {
         this.$nextTick(() => {
+          this.form = {
+            id: null,
+            code: '',
+            name: '',
+            devId: '',
+            serialNo: '',
+            linkAddr: '',
+            status: 0,
+            port: '',
+            managerIdList: '',
+            useTime: '',
+            doubleAuth: 0,
+            authMemberIdList: '',
+            rowNum: '',
+            columnNum: '',
+            jwd: '',
+            latitude: '',
+            noType: 0,
+            noPrefix: '',
+            noLength: '',
+            noIndex: '',
+            sortType: 0
+          }
           this.$refs.form.resetFields()
           this.form[this.configData['field.id']] = null
         })

--
Gitblit v1.9.3