zhanghua
2022-11-07 14f8b7b32ed9133152780eb072adbc32df2eb242
音柱、手持设备修改
9个文件已修改
252 ■■■■ 已修改文件
src/api/system/handheldTerminal.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/loudspeaker.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/system/handheldTerminal/index.js 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/system/loudspeaker/index.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/layout/components/Menu/index.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSetting/device/handheldTerminal/components/dialogForm.vue 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSetting/device/handheldTerminal/index.vue 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSetting/device/loudspeaker/components/dialogForm.vue 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSetting/device/loudspeaker/index.vue 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/system/handheldTerminal.js
@@ -15,6 +15,6 @@
    },
    // 删除
    deleteHandheldTerminal: (id) => {
        return http.delete('/sccg/equipment_handheld_terminal/' + id);
        return http.delete('/sccg/equipment_handheld_terminal/delete/' + id);
    },
};
src/api/system/loudspeaker.js
@@ -15,6 +15,6 @@
    },
    // 删除
    deleteLoudspeaker: (id) => {
        return http.delete('/sccg/equipment_loudspeaker/' + id);
        return http.delete('/sccg/equipment_loudspeaker/delete/' + id);
    },
};
src/store/system/handheldTerminal/index.js
@@ -9,10 +9,13 @@
            return handheldTerminalApi.getHandheldTerminalList(params);
        },
        saveHandheldTerminal(context, params) {
            return loudspeakerApi.saveHandheldTerminal(params);
            return handheldTerminalApi.saveHandheldTerminal(params);
        },
        updateHandheldTerminal(context, params) {
            return loudspeakerApi.updateHandheldTerminal(params);
            return handheldTerminalApi.updateHandheldTerminal(params);
        },
        deleteHandheldTerminal(context, id) {
            return handheldTerminalApi.deleteHandheldTerminal(id);
        },
    },
};
src/store/system/loudspeaker/index.js
@@ -14,5 +14,8 @@
        updateLoudspeaker(context, params) {
            return loudspeakerApi.updateLoudspeaker(params);
        },
        deleteLoudspeaker(context, id) {
            return loudspeakerApi.deleteLoudspeaker(id);
        },
    },
};
src/views/layout/components/Menu/index.vue
@@ -80,16 +80,13 @@
      const info = JSON.parse(sessionStorage.getItem("user"));
      if (info && info.menus) {
        console.log("timer--", timer);
        window.clearInterval(timer);
        this.menuList = info.menus;
        console.log(this.menuList);
      } else {
        if (!timer) {
          timer = window.setInterval(() => {
            this.loadMenu();
          }, 1000);
          console.log("timer++", timer);
        }
      }
    },
src/views/systemSetting/device/handheldTerminal/components/dialogForm.vue
@@ -73,6 +73,10 @@
</template>
  <script>
import { validatePhone, validateName } from "@/utils/validate";
import { createNamespacedHelpers } from "vuex";
const { mapActions } = createNamespacedHelpers("handheldTerminal");
export default {
  data() {
    const checkName = (rule, value, callback) => {
@@ -189,37 +193,41 @@
    // 初始化部门树
    getDepartTree();
    // 初始化数据
    this.form = JSON.parse(JSON.stringify(this.info));
    this.form = this.info;
    if (!this.form.departName) {
      this.form.departName = this.form.pdepartName;
    }
  },
  watch: {
    info(newVal) {
      this.form = newVal; //对父组件传过来的值进行监听,如果改变也对子组件内部的值进行改变
    },
  },
  methods: {
    ...mapActions(["saveHandheldTerminal", "updateHandheldTerminal"]),
    // 修改执法车
    handleUpdateLawCar() {
      this.$refs.formRef.validate((valid) => {
        if (valid) {
          const { form } = this;
          this.$axios({
            method: "put",
            url: "sccg/car_Manage/modification_enforce",
            data: {
              ...form,
            },
          }).then((res) => {
            if (res.code === 200) {
          if (form.id > 0) {
            this.updateHandheldTerminal(form).then((res) => {
              this.$message({
                type: "success",
                message: "修改车辆成功",
                message: "修改手持设备成功",
              });
              this.$emit("closeDialog", { flag: false, index: 1 });
            } else {
            });
          } else {
            this.saveHandheldTerminal(form).then((res) => {
              this.$message({
                type: "error",
                message: res.message,
                type: "success",
                message: "保存手持设备成功",
              });
            }
          });
              this.$emit("closeDialog", { flag: false, index: 1 });
            });
          }
        } else {
          return false;
        }
src/views/systemSetting/device/handheldTerminal/index.vue
@@ -23,10 +23,7 @@
    <main>
      <div class="main-content">
        <div class="main-title">
          <el-button
            class="el-icon-plus"
            type="primary"
            @click="dialogCreate = true"
          <el-button class="el-icon-plus" type="primary" @click="handleAdd"
            >添加</el-button
          >
        </div>
@@ -53,7 +50,7 @@
          </el-table-column>
          <el-table-column prop="phone" label="联系方式" min-width="10">
          </el-table-column>
          <el-table-column prop="pDepartName" label="所属部门" min-width="10">
          <el-table-column prop="pdepartName" label="所属部门" min-width="10">
          </el-table-column>
          <el-table-column prop="departName" label="所属大队" min-width="10">
          </el-table-column>
@@ -68,7 +65,7 @@
          <el-table-column prop="operation" label="操作" min-width="20">
            <template slot-scope="scope">
              <div class="btn">
              <div class="operation">
                <span @click="handleEdit(scope.row)">编辑</span>
                <span class="line">|</span>
                <span @click="handleDelete(scope.row)">删除</span>
@@ -105,7 +102,7 @@
        width="60%"
        :before-close="handleClose"
      >
        <MyForm :info="handheldTerminal" :closeDialog="setTableData"></MyForm>
        <MyForm :info="handheldTerminal" @closeDialog="handleCallBack"></MyForm>
      </el-dialog>
    </footer>
  </div>
@@ -142,31 +139,47 @@
      pageSize: 10,
      currentPage: 1,
      renderFlag: false,
      handheldTerminal: {
        id: 0,
        name: "",
        code: "",
        user: "",
        phone: "",
        departId: 0,
      },
      handheldTerminal: {},
    };
  },
  created() {
    this.setTableData();
  },
  methods: {
    ...mapActions([
      "getHandheldTerminalList",
      "saveHandheldTerminal",
      "updateHandheldTerminal",
    ]),
    ...mapActions(["getHandheldTerminalList", "deleteHandheldTerminal"]),
    handleAdd() {
      this.handheldTerminal = {
        id: 0,
        name: "",
        code: "",
        user: "",
        phone: "",
        departId: 0,
        departName: "",
      };
      this.dialogCreate = true;
    },
    handleEdit(row) {
      this.handheldTerminal = row;
      this.dialogCreate = true;
    },
    handleDelete(row) {},
    handleDelete(row) {
      this.$confirm("确认删除?").then((_) => {
        this.deleteHandheldTerminal(row.id).then((res) => {
          this.$message({
            type: "success",
            message: "删除成功!",
          });
          this.setTableData();
        });
      });
    },
    handleCallBack(e) {
      this.currentPage = 1;
      this.dialogCreate = false;
      this.setTableData();
    },
    formatSate(row, column) {
      return row.state == 1 ? "在线" : "离线";
    },
@@ -183,6 +196,7 @@
    // 弹窗关闭
    handleClose(done) {
      this.$confirm("确认关闭?").then((_) => {
        this.dialogCreate = false;
        done();
      });
    },
@@ -194,8 +208,8 @@
        pageSize,
        state: context,
      }).then((res) => {
          this.list = res.records;
          this.totalNum = res.total;
        this.list = res.records;
        this.totalNum = res.total;
      });
    },
    handleStateChange(e) {
src/views/systemSetting/device/loudspeaker/components/dialogForm.vue
@@ -58,7 +58,7 @@
              <el-button
                type="primary"
                class="btn submit"
                @click.native.prevent="handleUpdateLawCar"
                @click.native.prevent="handleSave"
                >确认
              </el-button>
            </div>
@@ -69,6 +69,8 @@
  </div>
</template>
  <script>
import { createNamespacedHelpers } from "vuex";
const { mapActions } = createNamespacedHelpers("loudspeaker");
export default {
  data() {
    const checkName = (rule, value, callback) => {
@@ -113,77 +115,40 @@
    };
  },
  created() {
    // 初始化数据
    this.form = JSON.parse(JSON.stringify(this.info));
    this.form = this.info;
  },
  watch: {
    info(newVal) {
      this.form = newVal; //对父组件传过来的值进行监听,如果改变也对子组件内部的值进行改变
    },
  },
  methods: {
    // 修改执法车
    handleUpdateLawCar() {
    ...mapActions(["saveLoudspeaker", "updateLoudspeaker"]),
    // 保存
    handleSave() {
      this.$refs.formRef.validate((valid) => {
        if (valid) {
          const { form } = this;
          this.$axios({
            method: "put",
            url: "sccg/car_Manage/modification_enforce",
            data: {
              ...form,
            },
          }).then((res) => {
            console.log(res);
            if (res.code === 200) {
          if (form.id > 0) {
            this.updateLoudspeaker(form).then((res) => {
              this.$message({
                type: "success",
                message: "修改车辆成功",
                message: "修改音柱成功",
              });
              this.$emit("closeDialog", { flag: false, index: 1 });
            } else {
            });
          } else {
            this.saveLoudspeaker(form).then((res) => {
              this.$message({
                type: "error",
                message: res.message,
                type: "success",
                message: "保存音柱成功",
              });
            }
          });
              this.$emit("closeDialog", { flag: false, index: 1 });
            });
          }
        } else {
          return false;
        }
      });
    },
    // 部门修改
    handleCheck(data, checked) {
      console.log(data);
      this.form.departId = data.id;
      this.form.departName = data.departName;
      // 获取当前选择的id在数组中的索引
      const indexs = this.selectOrg.orgsid.indexOf(data.id);
      // 如果不存在数组中,并且数组中已经有一个id并且checked为true的时候,代表不能再次选择。
      if (indexs < 0 && this.selectOrg.orgsid.length === 1 && checked) {
        this.$message({
          message: "只能选择一个部门!",
          type: "warning",
          showClose: true,
        });
        // 设置已选择的节点为false 很重要
        this.$refs.tree.setChecked(data, false);
      } else if (this.selectOrg.orgsid.length === 0 && checked) {
        // 发现数组为空 并且是已选择
        // 防止数组有值,首先清空,再push
        this.selectOrg.orgsid = [];
        this.selectOrg.orgsid.push(data.id);
      } else if (
        indexs >= 0 &&
        this.selectOrg.orgsid.length === 1 &&
        !checked
      ) {
        // 再次直接进行赋值为空操作
        this.selectOrg.orgsid = [];
        this.form.departName = "";
      }
    },
    // 获取部门树
    getDepartTree() {
      this.$axios.get("/sccg/depart/tree").then((res) => {
        this.departList = res.data;
      });
    },
  },
src/views/systemSetting/device/loudspeaker/index.vue
@@ -23,10 +23,7 @@
    <main>
      <div class="main-content">
        <div class="main-title">
          <el-button
            class="el-icon-plus"
            type="primary"
            @click="dialogCreate = true"
          <el-button class="el-icon-plus" type="primary" @click="handleAdd"
            >添加</el-button
          >
        </div>
@@ -72,7 +69,7 @@
          </el-table-column>
          <el-table-column prop="operation" label="操作" min-width="20">
            <template slot-scope="scope">
              <div class="btn">
              <div class="operation">
                <span @click="handleEdit(scope.row)">编辑</span>
                <span class="line">|</span>
                <span @click="handleDelete(scope.row)">删除</span>
@@ -106,10 +103,9 @@
        title="添加音柱"
        :visible.sync="dialogCreate"
        width="60%"
        v-if="dialogCreate"
        :before-close="handleClose"
      >
        <MyForm :info="loudspeakerInfo" :closeDialog="null"></MyForm>
        <MyForm :info="loudspeakerInfo" @closeDialog="handleCallBack"></MyForm>
      </el-dialog>
    </footer>
  </div>
@@ -146,14 +142,7 @@
      pageSize: 10,
      currentPage: 1,
      renderFlag: false,
      loudspeakerInfo: {
        id: 0,
        name: "",
        code: "",
        power: "",
        frequencyResponse: "",
        fullRangeSpeaker: "",
      },
      loudspeakerInfo: {},
    };
  },
  created() {
@@ -164,16 +153,42 @@
      "getLoudspeakerList",
      "saveLoudspeaker",
      "updateLoudspeaker",
      "deleteLoudspeaker",
    ]),
    handleAdd() {
      this.loudspeakerInfo = {
        id: 0,
        name: "",
        code: "",
        power: "",
        frequencyResponse: "",
        fullRangeSpeaker: "",
      };
      this.dialogCreate = true;
    },
    handleEdit(row) {
      this.loudspeakerInfo = row;
      this.dialogCreate = true;
    },
    handleDelete(row) {},
    handleDelete(row) {
      this.$confirm("确认删除?").then((_) => {
        this.deleteLoudspeaker(row.id).then((res) => {
          this.$message({
            type: "success",
            message: "删除成功!",
          });
          this.setTableData();
        });
      });
    },
    formatSate(row, column) {
      return row.state == 1 ? "在线" : "离线";
    },
    handleCallBack(e) {
      this.currentPage = 1;
      this.dialogCreate = false;
      this.setTableData();
    },
    // 设置表格斑马纹
    tableRowClassName({ row, rowIndex }) {
      if ((rowIndex + 1) % 2 == 0) {
@@ -197,11 +212,12 @@
        pageSize,
        state: context,
      }).then((res) => {
          this.list = res.records;
          this.totalNum = res.total;
        this.list = res.records;
        this.totalNum = res.total;
      });
    },
    handleStateChange(e) {
      this.currentPage = 1;
      this.setTableData();
    },
    // 当前页改变触发事件