linwe
2024-05-23 d8a1ca0a03ae1cc37dc26eb23d969fd92ce62169
src/views/cGovernance/taskECallTwo/index.vue
@@ -21,6 +21,15 @@
          v-text="textDispose(row, 'phoneflag', 'phone')">
        </el-button>
      </template>
      <template slot-scope="{type, disabled}" slot="sceneGeoForm">
        <el-button type="primary" style="font-size: 14px;  border: none;" icon="el-icon-map-location"
          @click="openMap()">获取位置</el-button>
        <avue-input-map style="position: fixed; top: -11111111111111px;" ref="avueInputMap" :params="form.params"
          placeholder="请选择地图" v-model="form.sceneGeo"></avue-input-map>
      </template>
    </avue-crud>
    <el-dialog title="分享" append-to-body :visible.sync="sharePopup" center @close="popupClose">
@@ -88,7 +97,7 @@
        circleRadio: 0,
        shareCircleRow: {},
        option: {
          labelWidth: 96,
          labelWidth: 130,
          // searchLabelWidth: 96,
          searchShow: true,
          searchMenuSpan: 3,
@@ -120,6 +129,18 @@
              }, ],
            },
            {
              width: 156,
              label: "诉求主题",
              prop: "issueTitle",
              search: true,
              searchSpan: 4,
              rules: [{
                required: true,
                message: "请选择诉求主题",
                trigger: "blur",
              }],
            },
            {
              width: 100,
              label: "诉求来源",
              prop: "issueOrigin",
@@ -145,26 +166,7 @@
                message: "请选择诉求来源",
                trigger: "blur",
              }, ],
              // search: true,
            },
            {
              width: 156,
              overHidden: true,
              label: "诉求主题",
              addDisplay: false,
              editDisplay: false,
              viewDisplay: false,
              prop: "issueTitle",
              search: true,
              searchSpan: 4,
              rules: [{
                required: true,
                message: "请选择诉求主题",
                trigger: "blur",
              }],
            },
            {
              label: "诉求内容",
              parent: false,
@@ -183,17 +185,14 @@
              span: 12,
              searchSpan: 4,
              width: 100,
              labelWidth: 120,
              type: "select",
              dicData: [{
                label: "个人",
                value: 0
                value: "0"
              }, {
                label: "企业",
                value: 1
                value: "1"
              }],
              // hide: true,
              // search: true,
            },
            {
              width: 110,
@@ -204,7 +203,7 @@
              searchLabelWidth: 120,
              search: true,
              rules: [{
                required: false,
                required: true,
                message: "请输入诉求人姓名",
                trigger: "blur",
              }, ],
@@ -218,14 +217,25 @@
              type: "select",
              dicData: [{
                label: "男",
                value: 0
                value: "0"
              }, {
                label: "女",
                value: 1
                value: "1"
              }],
              rules: [{
                  required: false,
                  message: "请输入诉求人性别",
                required: true,
                message: "请输入诉求人性别",
                trigger: "blur",
              }],
              slot: true
            },
            {
              width: 100,
              label: "现场联系电话",
              prop: "applicantPhone",
              rules: [{
                  required: true,
                  message: "请输入现场联系电话",
                  trigger: "blur",
                },
                {
@@ -233,108 +243,54 @@
                  trigger: 'blur'
                }
              ],
              slot: true
            },
            {
              label: "诉求人住址",
              prop: "applicantHomeaddr",
              overHidden: true,
              rules: [{
                required: true,
                message: "请输入诉求人住址",
                trigger: "blur",
              }, ],
            },
            {
              width: 100,
              label: "现场联系电话",
              prop: "applicantPhone",
              labelWidth: 120,
              // type: "date",
              // format: "yyyy-MM-dd",
              // valueFormat: "yyyy-MM-dd",
              rules: [{
                required: true,
                message: "请选择现场联系电话",
                trigger: "blur",
              }, ],
            },
            {
              label: "网格",
              prop: "applicantGrid",
              submitBtn: "保存",
              hide: true,
              parent: false,
              type: "tree",
              dicUrl: "/api/blade-system/dept/treeByDept?deptId=1123598813738675201",
              props: {
                label: "title",
                value: "id"
              },
              // rules: [{
              //   required: true,
              //   message: "请选择网格",
              //   trigger: "blur",
              // }, ],
            },
            {
              width: 110,
              label: "诉求人行政区划",
              labelWidth: 120,
              prop: "applicantDistrict",
              type: "tree",
              dicUrl: "/api/blade-counties/counties/list",
              props: {
                label: "name",
                value: "code"
              },
              // rules: [{
              //   required: true,
              //   message: "请选择事发地址网格",
              //   trigger: "blur",
              // }, ],
              // span: 24,
            },
            {
              label: "事发地址",
              prop: "sceneAddr",
              submitBtn: "保存",
              hide: true,
              type: 'map',
              type: 'textarea',
              span: 24,
              value: [117.966460, 28.431002, ""],
              mapChange: (params) => {
                console.log('高德回调参数', params)
              },
              //高德初始化参数
              params: {
                zoom: 10,
                zoomEnable: false,
                dragEnable: false,
              }
              minRows: 2,
              maxRows: 4,
              rules: [{
                required: true,
                message: "请输入事发地址",
                trigger: "blur",
              }],
            },
            {
              prop: "sceneGeo",
              dataType: "string",
              type: 'map',
              // dataType: "string",
              span: 24,
              // value: [117.966460, 28.431002, ""]
            },
            {
              label: "事发地址网格",
              prop: "sceneAddrGrid",
              labelWidth: 120,
              parent: false,
              type: "tree",
              dicUrl: "/api/blade-system/dept/treeByDept?deptId=1123598813738675201",
              props: {
                label: "title",
                value: "id"
              },
              // rules: [{
              //   required: true,
              //   message: "请选择事发地址网格",
              //   trigger: "blur",
              // }, ],
              label: "事发地点-经度",
              prop: "sceneGeoLng",
              disabled: true,
              rules: [{
                required: true,
                message: "请输入事发地点-经度",
                trigger: "blur",
              }, ],
            },
            {
              label: "事发地点-纬度",
              prop: "sceneGeoLat",
              disabled: true,
              rules: [{
                required: true,
                message: "请输入事发地点-纬度",
                trigger: "blur",
              }],
            },
            {
              label: "事发所属行政区划",
              prop: "sceneDistrict",
              labelWidth: 130,
              // type: "textarea",
              hide: true,
              type: "tree",
              dicUrl: "/api/blade-counties/counties/list",
@@ -342,71 +298,26 @@
                label: "name",
                value: "code"
              },
              // rules: [{
              //   required: true,
              //   message: "请选择事发地址网格",
              //   trigger: "blur",
              // }, ],
              // span: 24,
            },
            {
              label: "事发场所",
              prop: "scenePlace",
              // type: "textarea",
              // hide: true,
              // span: 24,
            },
            // {
            //   label: "事发地点-经度",
            //   prop: "sceneGeoLat",
            //   type: "select",
            //   hide: true,
            // },
            // {
            //   label: "事发地点-维度",
            //   prop: "sceneGeoLng",
            //   type: "select",
            //   hide: true,
            // },
            {
              label: "诉求类别",
              prop: "issueType",
              type: "select",
              dicData: [{
                label: "咨询",
                value: 0
              }, {
                label: "投诉",
                value: 1
              }, {
                label: "求助",
                value: 2
              }, {
                label: "举报",
                value: 3
              }, {
                label: "建议",
                value: 4
              }],
              // hide: true,
            },
            {
              label: "归口类型",
              prop: "issueClazz",
              // type: "select",
              // hide: true,
              type: "tree",
              dicUrl: "/api/blade-issueClazz/issueClazz/tree",
              props: {
                label: "title",
                value: "id"
              },
              // rules: [{
              //   required: true,
              //   message: "请选择事发地址网格",
              //   trigger: "blur",
              // }, ],
              // span: 24,
              rules: [{
                required: true,
                message: "请选择归口类型",
                trigger: "blur",
              }, ],
              span: 12,
            },
            {
              label: "紧急程度",
@@ -414,80 +325,16 @@
              type: "select",
              dicData: [{
                label: "一般",
                value: 0
                value: "0"
              }, {
                label: "即办",
                value: 1
                value: "1"
              }],
              // hide: true,
            },
            {
              label: "办理时限(分钟)",
              prop: "deadline",
              labelWidth: 130,
              // type: "select",
              // hide: true,
            },
            {
              label: "关联工单ID",
              prop: "linkOrders",
              // type: "select",
              // hide: true,
            },
            {
              label: "关联工单号",
              prop: "linkOrdersCode",
              // type: "select",
              // hide: true,
            },
            {
              label: "知识引用",
              prop: "wikiRef",
              // type: "select",
              // hide: true,
            },
            // {
            // label: "受理单位",
            // prop: "acptOrgCode",
            // type: "select",
            // hide: true,
            // },
            // {
            //   label: "受理单位",
            //   prop: "acptOrgName",
            //   type: "select",
            //   hide: true,
            // },
            {
              label: "直接答复内容",
              prop: "directFeed",
              labelWidth: 120,
              // type: "select",
              // hide: true,
            },
            {
              label: "直接答复人员",
              prop: "directFeedHandler",
              labelWidth: 120,
              // type: "select",
              // hide: true,
            },
            {
              label: "直接答复时间",
              prop: "directFeedTime",
              type: "date",
              format: "yyyy-MM-dd",
              valueFormat: "yyyy-MM-dd",
              labelWidth: 120,
              // type: "select",
              // hide: true,
            },
            {
              label: "工单附件",
              prop: "images",
              type: "upload",
              // listType: "picture-card",
              dataType: "string",
              multiple: true,
              action: "/api/blade-resource/oss/endpoint/put-file-attach",
@@ -496,57 +343,29 @@
                name: 'name',
                url: "link",
              },
              // hide: true,
            },
            {
              label: "工单状态",
              prop: "status",
              disabled: true,
              type: "select",
              value: "0",
              dicData: [{
                label: "受理",
                value: 0
                value: "0"
              }, {
                label: "处理中",
                value: 1
                value: "1"
              }, {
                label: "已归档",
                value: 2
                value: "2"
              }],
              // hide: true,
            },
            {
              label: "交办标签",
              prop: "tagApply",
              type: "select",
              dicData: [{
                label: "未交办",
                value: "N"
              }, {
                label: "已交办",
                value: "Y"
              }, {
                label: "已退回",
                value: "R"
              }],
              // hide: true,
            },
            {
              label: "已延期",
              prop: "tagDelay",
              type: "select",
              dicData: [{
                label: "否",
                value: "N"
              }, {
                label: "是",
                value: "Y"
              }],
              // hide: true,
            },
            {
              label: "已反馈",
              prop: "tagDoing",
              type: "select",
              value: "Y",
              dicData: [{
                label: "否",
                value: "N"
@@ -554,12 +373,11 @@
                label: "是",
                value: "Y"
              }],
              // hide: true,
            },
            {
              label: "已答复",
              prop: "tagResp",
              value: "Y",
              type: "select",
              dicData: [{
                label: "否",
@@ -572,6 +390,7 @@
            {
              label: "已办结",
              prop: "tagDone",
              value: "Y",
              type: "select",
              dicData: [{
                label: "否",
@@ -584,18 +403,7 @@
            {
              label: "已回访",
              prop: "tagCheck",
              type: "select",
              dicData: [{
                label: "否",
                value: "N"
              }, {
                label: "是",
                value: "Y"
              }],
            },
            {
              label: "已电话回访",
              prop: "tagChkTel",
              value: "Y",
              type: "select",
              dicData: [{
                label: "否",
@@ -608,6 +416,7 @@
            {
              label: "核实/督办",
              prop: "tagRedo",
              value: "Y",
              type: "select",
              dicData: [{
                label: "否",
@@ -623,15 +432,16 @@
      }
    },
    watch: {
      "form.location": {
      "form.sceneGeo": {
        // form是表单或者表格绑定的数据集,v-model='form'
        handler(val) {
          if (typeof val == "string") {
            var arr = val.split(",")
          console.log("*****123**********" + val)
          console.log("*****456**********" + typeof(val))
          if (typeof val == "object") {
            var arr = val
            //经纬度替换
            this.form.lat = arr[1]
            this.form.lng = arr[0]
            this.form.address = arr[2]
            this.form.sceneGeoLat = arr[1]
            this.form.sceneGeoLng = arr[0]
          }
        },
        immediate: true,
@@ -669,6 +479,11 @@
      }
    },
    methods: {
      openMap() {
        this.$refs.avueInputMap.box = true
        console.log(this.$refs.avueInputMap)
      },
      showStringDispose(row, type) {
        row[type] = !row[type]
      },
@@ -684,10 +499,10 @@
      rowSave(row, done, loading) {
        console.log("777777777777777777777" + JSON.stringify(row))
        let local = this.locationDispose(row.sceneAddr)
        row.sceneAddr = local.sceneAddr
        row.sceneGeoLat = local.latitude
        row.sceneGeoLng = local.longitude
        // let local = this.locationDispose(row.sceneAddr)
        // row.sceneAddr = local.sceneAddr
        // row.sceneGeoLat = local.latitude
        // row.sceneGeoLng = local.longitude
        console.log("88888888888888888888888888" + JSON.stringify(row))
        add(row).then(
          () => {
@@ -822,8 +637,9 @@
      },
      beforeOpen(done, type) {
        if (["edit", "view"].includes(type)) {
          getDetail(this.form.id).then((res) => {
          getDetail(this.form.orderId).then((res) => {
            this.form = res.data.data
            this.form.sceneAddr = [this.form.sceneGeoLng, this.form.sceneGeoLat, this.form.sceneAddr].join(',')
            // if (this.form.imageUrls.length > 0) {
            //   var urls = []
            //   var names = this.form.imageUrls.split(",")