| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 | <template>  <DialogCom    title="选择检查要点"    :visible.sync="isShow"    class="g-dialog-select-safe-check"    :close-on-click-modal="false"    destroy-on-close    width="55%"    top="10vh"    append-to-body  >    <div class="el-dialog-div">      <g-search-table        ref="st"        url="/core/safetycheck/ruleItem/pointSelectionPage"        method="get"        :search-data="search"        :manual="true"        :pageable="true"        :select="true"        :select-default="selectList"        :drag="false"        @select="onSelect"      >        <!-- 搜索 -->        <template slot="searchs">          <el-form-item prop="ruleId" label="检查内容库">            <el-select v-model="search.ruleId">              <el-option                v-for="item in ruleList"                :value="item.id"                :key="item.id"                :label="item.name"              ></el-option>            </el-select>          </el-form-item>          <el-form-item prop="key" label="关键字">            <el-input              v-model="search.key"              maxlength="50"              placeholder="请输入检查项或检查内容"            ></el-input>          </el-form-item>        </template>        <!-- 表格 -->        <template slot="columns">          <el-table-column            prop="itemName"            label="检查项"            min-width="40%"          ></el-table-column>          <el-table-column label="检查内容" prop="pointName" min-width="40%">            <template slot-scope="scope">              <pre>{{ scope.row.pointName }}</pre>            </template>          </el-table-column>          <el-table-column            prop="areaName"            label="检查区域"            min-width="20%"          ></el-table-column>          <!--          <el-table-column prop="nfcName"                           label="采集点"                           width="120"></el-table-column>-->        </template>      </g-search-table>    </div>    <div slot="footer" class="dialog-footer">      <el-button type="primary" @click="onSubmit">确定</el-button>      <el-button @click="onHide">关闭</el-button>    </div>  </DialogCom></template><script>import GSearchTable from "@/components/table/gx.search.table.vue";import { ruleListForOrg } from "@/api/safetycheck/rule.js";export default {  components: { GSearchTable },  data() {    return {      isShow: false,      selectList: [],      ruleList: [],      search: this.emptySearch(),    };  },  computed: {},  watch: {    search: {      deep: true,      handler(v) {        if (v.ruleId) {          this.$refs.st.search();        }      },    },  },  props: {    // defaultSelect:{    //   type:Array    // },    orgType: {      type: String,    },  },  methods: {    show(defaultSelect) {      this.search = this.emptySearch();      this.isShow = true;      if (defaultSelect && defaultSelect.map) {        this.selectList = defaultSelect.map((s) => ({ id: s }));      }      ruleListForOrg({ orgType: this.orgType }).then((r) => {        this.ruleList = r.data;        if (r.data && r.data.length > 0) {          this.search.ruleId = r.data[0].id;        }      });    },    onHide() {      this.isShow = false;    },    onSelect(item) {      this.selectList = item;    },    onSubmit() {      let s = this.selectList;      this.$emit("select", this.selectList);      this.onHide();    },    emptySearch() {      return {        ruleId: null,        itemName: null,      };    },  },  mounted() {},};</script><style lang="scss" scoped>.el-dialog-div {  overflow: auto;  margin-bottom: 20px;}.dialog-footer {  margin-top: 20px;}</style>
 |