智慧农业后台管理页面
guoshilong
2022-11-08 082613d446e29e4ec1c16bfaa52345106a498b23
src/views/traceability/traceability.vue
@@ -37,9 +37,49 @@
          >删 除
        </el-button>
      </template>
      <template slot-scope="{ type, size, row }" slot="menu">
        <el-button
          :type="type"
          :size="size"
          icon="el-icon-view"
          :disabled="row.bind != 0"
          @click="handleViewCode(row)"
          >二维码
        </el-button>
        <el-button
          :type="type"
          :size="size"
          icon="el-icon-view"
          :disabled="row.bind != 0"
          @click="handleView(row)"
          >预览
        </el-button>
        <el-button
          :type="type"
          :size="size"
          :disabled="row.bind != 1"
          icon="el-icon-paperclip"
          @click="handlebind(row)"
          >绑定溯源码
        </el-button>
        <el-button
          icon="el-icon-printer"
          :size="size"
          :type="type"
          :disabled="row.bind != 0"
          @click.stop="handlePrint(row)"
          >补打印
        </el-button>
      </template>
    </avue-crud>
    <!-- 种养品 -->
    <addTraceability v-if="addTraceabilityVisible" ref="addTraceability" @refreshOnLoad="onLoad"></addTraceability>
    <addTraceability v-if="addTraceabilityVisible" ref="addTraceability" @refreshOnLoad="onLoads"></addTraceability>
    <!-- 绑定溯源码 -->
    <recovery v-if="bindVisible" ref="recovery"  @refreshOnLoad="onLoads"></recovery>
    <!-- 补打印 -->
    <print v-if="printVisible" ref="print"></print>
    <!-- 预览 -->
    <firstView v-if="viewVisible" ref="views"></firstView>
  </basic-container>
</template>
@@ -47,13 +87,22 @@
import { getDetail, getList, update, remove, save } from "@/api/traceability/traceability";
import { mapGetters } from "vuex";
import addTraceability from "./addTraceability.vue";
import recovery from "./recovery.vue";
import print from "./print.vue";
import firstView from "./firstView.vue";
export default {
  components: {
    addTraceability
    addTraceability,
    recovery,
    print,
    firstView
  },
  data() {
    return {
      addTraceabilityVisible: false,
      bindVisible: false,
      printVisible: false,
      viewVisible: false,
      form: {},
      query: {},
      loading: true,
@@ -68,24 +117,28 @@
      option: {
        tip: false,
        height: "auto",
        menuWidth: 200,
        menuWidth: 320,
        menuAlign: "center",
        align: "center",
        selection: true,
        searchShow: true,
        searchMenuSpan: 6,
        addBtn:false,
        editBtn:false,
        delBtn:false,
        refreshBtn:false,
        columnBtn:false,
        searchShowBtn:false,
        column: [
          {
            label: "溯源码图片",
            prop: "url",
            label: "产品名称",
            prop: "productName",
            span: 12,
            labelWidth: 145,
            rules: [
              {
                required: true,
                message: "请输入溯源码图片",
                message: "请输入产品名称",
                trigger: "blur",
              },
            ],
@@ -162,8 +215,16 @@
  created() {
    this.initData();
  },
  watch: {
      '$farmId':{
      handler (newName, oldName) {
          this.query={}
          this.onLoad(this.page)
      }
    }
  },
  computed: {
    ...mapGetters(["permission", "userInfo"]),
    ...mapGetters(["permission", "userInfo","$farmId"]),
    // permissionList() {
    //   return {
    //     addBtn: this.vaildData(this.permission.social_add, true),
@@ -191,6 +252,34 @@
    },
    //初始化数据
    initData(){
    },
    //绑定
    handlebind(row){
      this.bindVisible = true;
      this.$nextTick(() => {
        this.$refs.recovery.init(row.id);
      });
    },
    //打印
    handlePrint(row){
      this.printVisible = true;
      this.$nextTick(() => {
        this.$refs.print.init(row);
      });
    },
    //查看二维码
    handleViewCode(row){
      this.viewVisible = true;
      this.$nextTick(() => {
        this.$refs.views.init(row);
      });
    },
    //预览溯源码详情信息
    handleView(row){
      this.$router.push({
        path: `/traceability/details`,
        query: row
      });
    },
    //新增
    rowSave(row, done, loading) {
@@ -302,7 +391,13 @@
    refreshChange() {
      this.onLoad(this.page, this.query);
    },
    onLoads(){
      // this.onLoad(this.page, this.query);
      this.onLoad(this.page);
    },
    onLoad(page, params = {}) {
      params['tenantId'] = this.userInfo.tenant_id;
      params.deptId = this.$farmId
      this.loading = true;
      getList(
        page.currentPage,
@@ -320,5 +415,5 @@
};
</script>
<style>
<style >
</style>