From 7b7ebd1b9cb1f582b78981485780cad7d957f3f0 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 09 Jul 2024 15:21:24 +0800
Subject: [PATCH] 无诈代码优化

---
 src/components/cardPopup/cardPopuponce.vue |  297 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 278 insertions(+), 19 deletions(-)

diff --git a/src/components/cardPopup/cardPopuponce.vue b/src/components/cardPopup/cardPopuponce.vue
index f0e8dee..c5cbfbd 100644
--- a/src/components/cardPopup/cardPopuponce.vue
+++ b/src/components/cardPopup/cardPopuponce.vue
@@ -1,16 +1,22 @@
 <template>
   <basic-container class="openOnceMain">
-    <!-- <el-collapse v-model="activeNames" @change="handleChange">
-      <el-collapse-item title="基本信息" name="1">
-        <avue-form ref="form1" v-model="obj0" :option="option" class="cardButs"></avue-form>
-      </el-collapse-item>
-      <el-collapse-item title="附件上传" name="2">
-        <attach v-if="openattach" :type="imgType" :ptype="type" :opens="opens" :enclosure="enclosure"></attach>
-      </el-collapse-item>
-    </el-collapse> -->
     <el-collapse v-model="activeNames" @change="handleChange">
       <el-collapse-item title="基本信息" name="1">
-        <avue-form ref="form1" v-model="obj0" :option="option" @submit="submit" class="cardButs"></avue-form>
+        <avue-form v-if="status" ref="form1" v-model="obj0" :option="option" @submit="submit"
+          class="cardButs"></avue-form>
+
+        <avue-form v-else ref="form1" v-model="obj0" :option="optionTwo" @submit="submit" class="cardButs">
+
+          <template slot-scope="{size}" slot="addressName">
+            <el-select v-model="obj0.addressName" clearable filterable remote :remote-method="onRemoteMethod"
+              @change="onSelectChange" placeholder="请输入与门牌地址二维码地址一致" reserve-keyword>
+              <el-option v-for="item in standardAddressList" :key="item.addressCode" :label="item.addressName"
+                :value="item">
+              </el-option>
+            </el-select>
+          </template>
+
+        </avue-form>
       </el-collapse-item>
       <el-collapse-item title="附件信息" name="2">
         <div v-for="(item,index) in  patrolGroup">
@@ -22,12 +28,13 @@
               {{index1+1}}. {{item1.title}}
             </div>
             <div style="margin: 10px;" class="attach_row_btn">
-              <el-button v-if="item1.images" @click="handleExport(item1.images)" size="small"
+              <el-button v-if="item1.images && status" @click="handleExport(item1.images)" size="small"
                 type="primary">下载文件</el-button>
-              <!--  <el-upload class="upload-demo" :limit="1" :data="item1" :on-change="handleChange"
+
+              <el-upload v-if="!status" class="upload-demo" :limit="1" :data="item1" :on-change="handleChange"
                 :http-request="uploadFile">
                 <el-button size="small" type="primary">点击上传</el-button>
-              </el-upload> -->
+              </el-upload>
             </div>
           </div>
         </div>
@@ -35,6 +42,13 @@
         <!-- <avue-form :option="optionFile" v-model="obj0"></avue-form> -->
       </el-collapse-item>
     </el-collapse>
+
+    <div class="hand-next">
+      <el-button type="primary" @click="commitFrom()" :disabled="status">{{status ? "提交审批" : "提交审批"
+        }}</el-button>
+      <el-button type="info" @click="qx">取消</el-button>
+    </div>
+
   </basic-container>
 </template>
 <script>
@@ -45,9 +59,13 @@
     add,
     patrolGroupTree,
     selectIn,
-    uploadFile
+    uploadFile,
+    update
   } from "@/api/recordOur/outCardPopup";
   import attach from "@/components/attach/attach";
+  import {
+    getDoorplateAddressList
+  } from "@/api/permit/permit";
   import {
     mapGetters
   } from "vuex";
@@ -55,9 +73,10 @@
     components: {
       attach,
     },
-    props: ["useWhere", "paredData"],
+    props: ["useWhere", "paredData", "status"],
     data() {
       return {
+        standardAddressList: [], //标准地址数据
         patrolGroup: [],
         opens: false,
         openattach: false,
@@ -66,6 +85,7 @@
         activeNames: ["1", "2"],
         imgType: "",
         obj0: {},
+        taskPlaceRecordVOList: [],
         option: {
           emptyBtn: false,
           submitBtn: true,
@@ -238,6 +258,176 @@
             },
           ]
         },
+        optionTwo: {
+          emptyBtn: false,
+          submitBtn: true,
+          gutter: 50,
+          column: [{
+              labelWidth: 100,
+              label: "场所名称",
+              prop: "placeName",
+              // span: 24,
+              rules: [{
+                required: true,
+                message: "请输入场所名称",
+                trigger: "blur"
+              }]
+            }, {
+              labelWidth: 100,
+              label: "负责人名称",
+              prop: "principal",
+              // span: 24,
+              rules: [{
+                required: true,
+                message: "请输入场所负责人姓名",
+                trigger: "blur"
+              }]
+            },
+            {
+              labelWidth: 100,
+              label: "负责人电话",
+              prop: "principalPhone",
+              // span: 24,
+              rules: [{
+                required: true,
+                message: "请输入场所负责人联系方式",
+                trigger: "blur"
+              }]
+            },
+            {
+              labelWidth: 100,
+              overHidden: true,
+              slot: true,
+              label: "位置",
+              prop: "location",
+              type: "map",
+              dataType: "string",
+              value: [117.96646, 28.431002, ""],
+              mapChange: (params) => {
+                console.log('高德回调参数', params)
+              },
+              //高德初始化参数
+              params: {
+                zoom: 10,
+                zoomEnable: false,
+                dragEnable: false,
+              },
+              rules: [{
+                required: true,
+                message: "请选择地址",
+                trigger: "blur",
+              }, ],
+            },
+            {
+              labelWidth: 100,
+              overHidden: true,
+              label: "派出所名称",
+              parent: false,
+              prop: "pcsCode",
+              searchSpan: 4,
+              searchType: 'input',
+              type: "tree",
+              dicUrl: "/api/blade-policeStation/policeStation/tree",
+              props: {
+                label: "name",
+                value: "id"
+              },
+              nodeClick: (data, node, nodeComp) => {
+                this.obj0.pcsName = data.name
+              },
+              rules: [{
+                required: true,
+                message: "请输入派出所名称",
+                trigger: "blur"
+              }]
+            },
+            {
+              labelWidth: 100,
+              overHidden: true,
+              label: "社区名称",
+              parent: false,
+              prop: "communityCode",
+              // search: true,
+              searchSpan: 4,
+              searchType: 'input',
+              type: "tree",
+              dicUrl: "/api/blade-system/region/treeToCommunity?isFiter='1'",
+              defaultExpandedKeys: ["361102"],
+              props: {
+                label: "name",
+                value: "id"
+              },
+              // change: ({
+              //   value,
+              //   column
+              // }) => {
+              //   this.$message.success('change事件查看控制台')
+              //   console.log('值改变', value, column)
+              // },
+              nodeClick: (data, node, nodeComp) => {
+                this.obj0.communityName = data.name
+                // this.$message.success(JSON.stringify(data))
+              },
+              rules: [{
+                required: true,
+                message: "请选择社区名称",
+                trigger: "blur",
+              }, ],
+            },
+            {
+              labelWidth: 100,
+              label: "无诈类别",
+              prop: "noFraudType",
+              align: 'center',
+              dicUrl: "/api/blade-system/dict-biz/tree?code=noExplosionCategory",
+              props: {
+                label: "title",
+                value: "key",
+              },
+              type: 'select',
+              search: true,
+              searchSpan: 4,
+              searchLabelWidth: 96,
+              align: 'center'
+            },
+
+            {
+              labelWidth: 110,
+              prop: "addressName",
+              slot: true,
+              label: "场所标准地址",
+              rules: [{
+                required: true,
+                message: "请选择场所标准地址",
+                trigger: "blur",
+              }, ],
+            },
+            {
+              labelWidth: 110,
+              label: '二维码图片',
+              type: 'upload',
+              listType: 'picture-img',
+              propsHttp: {
+                res: 'data',
+                url: 'link',
+              },
+              canvasOption: {
+                text: ' ',
+                ratio: 0.1
+              },
+              action: '/api/blade-resource/oss/endpoint/put-file',
+              tip: '只能上传jpg/png图片',
+              span: 12,
+              row: true,
+              prop: 'qrImg',
+              rules: [{
+                required: true,
+                message: "请上传二维码图片",
+                trigger: "blur",
+              }, ],
+            },
+          ]
+        },
       };
     },
     computed: {
@@ -269,19 +459,87 @@
       // console.log(cloum);
       this.paredData.jurisdiction = this.paredData.$jurisdiction;
       this.obj0 = this.paredData;
-      this.getPatrolGroupTree()
+      this.getPatrolGroupTree(this.obj0.noFraudType)
       console.log("this.obj0******************" + JSON.stringify(this.obj0));
     },
     methods: {
+      onSelectChange(e) {
+        console.log("selectChange===>", e);
+        this.obj0.addressName = e.addressName
+        this.obj0.houseCode = e.addressCode
+        // this.getPlaceAddressListRequest()
+      },
+      onRemoteMethod(query) {
+        console.log("remote===>", query)
+        this.getPlaceAddressListRequest(query)
+      },
+      getPlaceAddressListRequest(query) {
+        getDoorplateAddressList(1, 50, {
+          addressName: query
+        }).then(res => {
+          this.standardAddressList = res.data.data.records;
+        })
+
+      },
+      commitFrom(val = 1) {
+        // console.log("************123*************")
+
+        if (this.obj0.fileUrls) {
+          this.obj0.fileUrls = JSON.stringify(this.obj0.fileUrls)
+        }
+        if (this.obj0.location) {
+          let arr = this.obj0.location.split(",")
+          if (arr.length > 1) {
+            this.obj0.lng = arr[0]
+            this.obj0.lat = arr[1]
+            this.obj0.location = arr[2]
+          }
+        }
+        this.obj0.type = 2
+        if (this.taskPlaceRecordVOList.length > 0) {
+          this.obj0.taskPlaceRecordVOList = this.taskPlaceRecordVOList
+        }
+        update(this.obj0).then(() => {
+          this.$emit('child-event', '');
+          // this.qx();
+          this.s
+          this.$message({
+            message: "重新提交申请成功",
+            type: "success"
+          });
+          this.$store.commit("changecanDoIt", false);
+        });
+      },
+      uploadFile(param) {
+        console.log("自定义上传", param);
+        const formData = new FormData()
+        formData.append('file', param.file)
+        formData.append('suffix', "pdf,ppt,doc,docx")
+        let data = param.data
+        uploadFile(formData).then(res => {
+          if (res.data.code == 200) {
+            this.taskPlaceRecordVOList.push({
+              itemId: data.id,
+              imageUrls: res.data.data.link
+            })
+          }
+          console.log('上传图片成功' + JSON.stringify(res))
+          // console.log('上传图片成功2' + JSON.stringify(this.patrolGroup))
+          console.log('上传图片成功2' + JSON.stringify(this.taskPlaceRecordVOList))
+
+        }).catch(response => {
+          console.log('图片上传失败')
+        })
+      },
       handleExport(url) {
         var elemIF = document.createElement('iframe')
         elemIF.src = url;
         elemIF.style.display = 'none'
         document.body.appendChild(elemIF)
       },
-      getPatrolGroupTree() {
+      getPatrolGroupTree(noFraudType) {
         let data = {
-          childType: 6,
+          childType: noFraudType,
           type: 2
         }
         patrolGroupTree(data).then((res) => {
@@ -292,10 +550,11 @@
             item.children.forEach(items => {
               console.log(items)
               this.obj0.taskPlaceRecordVOList.forEach(itemss => {
-                console.log("************789**************" + JSON.stringify(itemss))
+                // console.log("************789**************" + JSON.stringify(itemss))
+                // console.log("************items**************" + JSON.stringify(items))
                 if (items.id === itemss.itemId.toString()) {
                   items.images = itemss.imageUrls
-                  console.log("************123**************")
+                  // console.log("************123**************" + items.images)
                 }
               })
             })

--
Gitblit v1.9.3