zhouwx
2024-12-09 2adbfd2aed024bf8fda3b85b3e7af07108329f85
src/views/safetyReview/baseSet/evaluateType/index.vue
@@ -8,39 +8,59 @@
                @click="openDialog('add',{})"
            >新增</el-button>
        </div>
      <div style="margin-top: 15px;margin-bottom: 15px;">
        <el-radio-group v-model="queryParams.scoreType" @change="reSearch()">
          <el-radio-button label="">全部</el-radio-button>
          <el-radio-button label="1">加分项</el-radio-button>
          <el-radio-button label="2">扣分项</el-radio-button>
        </el-radio-group>
      </div>
        <!-- 表格数据 -->
        <el-table v-loading="loading" :data="dataList" :border="true">
            <el-table-column label="评价类型" prop="type" align="center"  />
            <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
                <template #default="scope">
                    <el-button link type="primary"  @click="openDialog('edit',scope.row)" v-hasPermi="['system:role:edit']">编辑</el-button>
                    <el-button link type="danger"  @click="handleDelete(scope.row)" v-hasPermi="['system:role:remove']">删除</el-button>
                </template>
            </el-table-column>
          <el-table-column label="项目内容" prop="content" align="center"/>
          <el-table-column label="类型" prop="scoreType" align="center">
            <template #default="scope">
              {{scope.row.scoreType == '1'?'加分项':scope.row.scoreType == '2'?'扣分项':''}}
            </template>
          </el-table-column>
          <el-table-column label="标准分值" prop="score" align="center"  />
          <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
              <template #default="scope">
                  <el-button link type="primary"  @click="openDialog('edit',scope.row)">编辑</el-button>
                  <el-button link type="danger"  @click="handleDelete(scope.row)" >删除</el-button>
              </template>
          </el-table-column>
        </el-table>
        <pagination
            v-show="total > 0"
            :total="total"
            v-model:page="queryParams.pageNum"
            v-model:limit="queryParams.pageSize"
            @pagination="getList"
        />
        <div class="pag-container">
            <el-pagination
                v-model:current-page="data.queryParams.pageNum"
                v-model:page-size="data.queryParams.pageSize"
                :page-sizes="[10,15,20,25]"
                layout="total, sizes, prev, pager, next, jumper"
                :total="total"
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
            />
        </div>
        <type-dialog ref="typeRef" @getList=getList></type-dialog>
    </div>
</template>
<script setup>
import {getCurrentInstance, reactive, ref, toRefs} from "vue";
import {getCurrentInstance, onMounted, reactive, ref, toRefs} from "vue";
import typeDialog from "./components/typeDialog.vue"
import {ElMessageBox} from "element-plus";
import {ElMessage, ElMessageBox} from "element-plus";
import {delDict, delReview, getDictList, getReviewList,} from "@/api/backManage/evaluate";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const typeRef = ref();
const dictType = ref("sys_assess_type")
const data = reactive({
    queryParams: {
        pageNum: 1,
        pageSize: 10,
      scoreType: '',
      pageNum: 1,
      pageSize: 10,
    },
    total: 0,
    dataList: [
@@ -50,21 +70,44 @@
});
const { queryParams, total, dataList } = toRefs(data);
const getList = () => {
onMounted(() => {
    getList();
});
const getList = async () => {
    loading.value = true;
    console.log("获取数据")
    const res = await getReviewList(data.queryParams);
    if(res.code == 200){
        dataList.value = res.rows
        total.value = res.total
    }else{
        ElMessage.warning(res.msg)
    }
    loading.value = false;
}
const openDialog = (type, value) => {
    value.listLength = dataList.value.length> 0 ?dataList.value.length:0;
    typeRef.value.openDialog(type, value);
}
const handleSizeChange = (val) => {
    data.queryParams.pageSize = val
    getList()
}
const handleCurrentChange = (val) => {
    data.queryParams.pageNum = val
    getList()
}
/** 重置新增的表单以及其他数据  */
function reset() {
    proxy.resetForm("roleRef");
}
const reSearch=()=>{
  data.queryParams.pageNum = 1
  getList()
}
const handleDelete = (val) => {
    ElMessageBox.confirm(
        '确定删除此条数据?',
@@ -75,8 +118,23 @@
            type: 'warning',
        })
        .then( async() => {
            const res = await delReview(val);
            if(res.code === 200){
                ElMessage({
                    type: 'success',
                    message: '删除成功'
                });
                await getList();
            }else{
                ElMessage.warning(res.msg)
            }
        })
}
</script>
<style lang="scss">
.pag-container{
    float: right;
    margin-top: 10px;
}
</style>