diff --git a/src/router/index.js b/src/router/index.js
index a1615e9..e1025d1 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -201,6 +201,20 @@ export const asyncRoutes = [
     component: Layout,
     meta: { title: '提示工程' },
     children: [
+      {
+        path: '/prompt-config',
+        name: 'PromptConfig',
+        permission: 'p_promptManagement',
+        component: () => import('@/views/promptManagement/PromptConfig/index.vue'),
+        meta: { title: '提示词配置', affix: false }
+      },
+      {
+        path: '/add-prompt',
+        name: 'AddPrompt',
+        permission: 'p_promptManagement',
+        component: () => import('@/views/promptManagement/PromptConfig/add/index.vue'),
+        meta: { title: '新增提示词', affix: false }
+      },
       {
         path: '/prompt-management',
         name: 'PromptManagement',
diff --git a/src/views/caseDetails/components/AddEvidence/AddFolder.vue b/src/views/caseDetails/components/AddEvidence/AddFolder.vue
new file mode 100644
index 0000000..fbfe2a0
--- /dev/null
+++ b/src/views/caseDetails/components/AddEvidence/AddFolder.vue
@@ -0,0 +1,70 @@
+
+<template>
+  <cs-dialog
+    :dialog="dialogOptions"
+  >
+    <template slot="content">
+      <div>
+        <el-form ref="form" :model="addInfo" :rules="rules" label-width="90px">
+          <el-form-item label="选择目录" prop="caseType">
+            <el-select v-model="dataInfo['caseType']" clearable placeholder="请选择案件类型">
+              <el-option v-for="item in caseTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
+            </el-select>
+          </el-form-item>
+          <el-form-item label="提供人" prop="caseNo">
+            <el-select v-model="dataInfo['caseType']" clearable placeholder="请选择案件类型">
+              <el-option v-for="item in caseTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
+            </el-select>
+          </el-form-item>
+          <el-form-item label="模版类型" prop="caseNo">
+            <el-input v-model="dataInfo['name']" clearable placeholder="请输入指令名称" />
+          </el-form-item>
+          <el-form-item label="备注" prop="caseNo">
+            <el-input v-model="dataInfo['name']" clearable placeholder="请输入指令名称" />
+          </el-form-item>
+        </el-form>
+      </div>
+    </template>
+  </cs-dialog>
+</template>
+
+<script>
+
+export default {
+  name: 'AddFolder',
+  data() {
+    return {
+      dialogOptions: {
+        show: false,
+        width: '930px',
+        title: {
+          title: '新建文件夹'
+        },
+        hiddenFooter: true,
+        appendToBody: true
+      },
+      addInfo:{
+        
+      }
+
+    }
+  },
+  mounted() {
+
+  },
+  methods: {
+    // 显示弹窗
+    show() {
+      this.dialogOptions.show = true
+    },
+    handleSelect(val) {
+      this.$emit('selectOk', val)
+      this.dialogOptions.show = false
+    }
+  }
+}
+</script>
+
+<style scoped lang="scss">
+
+</style>
diff --git a/src/views/caseDetails/components/CaseEvidence.vue b/src/views/caseDetails/components/CaseEvidence.vue
index e730b2c..aa9d699 100644
--- a/src/views/caseDetails/components/CaseEvidence.vue
+++ b/src/views/caseDetails/components/CaseEvidence.vue
@@ -1,35 +1,38 @@
-<!--
- * @description: 案件证据
- * @fileName: CaseEvidence
- * @author: 17076
- * @date: 2024/6/26-下午3:09
- * @version: V1.0.0
--->
 
 <template>
   <div class="evidence-content">
-    <div v-if="isEdit" class="flex-row" style="align-items: center; justify-content: space-between">
-      <el-button type="primary" icon="el-icon-circle-plus-outline" @click="handleAdd">添加证据</el-button>
-      <el-input v-model="searchName" placeholder="搜索名称" style="width: 300px" />
+    <div class="evidence-tree">
+      11
     </div>
-    <vxe-grid v-bind="gridOptions" style="margin-top: 10px">
-      <template #opera="{row}">
-        <el-button type="text" @click="handelEdit(row)">编辑</el-button>
-        <el-button type="text" style="color: red" @click="handleDel(row)">删除</el-button>
-      </template>
-    </vxe-grid>
-    <div style="text-align: center">
-      <cs-page
-        :page.sync="queryForm.page"
-        :limit.sync="queryForm.size"
-        :total="queryForm.total"
-        @pagination="fetchData"
-      />
+    <div class="evidence-main">
+      <div v-if="isEdit" class="flex-row" style="align-items: center; justify-content: space-between">
+        <div>
+          <el-button type="primary" icon="el-icon-folder-add" @click="addFolder">新建文件夹</el-button>
+          <el-button type="primary" icon="el-icon-circle-plus-outline" @click="handleAdd">添加证据</el-button>
+        </div>
+
+        <el-input v-model="searchName" placeholder="搜索名称" style="width: 300px" />
+      </div>
+      <vxe-grid v-bind="gridOptions" style="margin-top: 10px">
+        <template #opera="{row}">
+          <el-button type="text" @click="handelEdit(row)">编辑</el-button>
+          <el-button type="text" style="color: red" @click="handleDel(row)">删除</el-button>
+        </template>
+      </vxe-grid>
+      <div style="text-align: center">
+        <cs-page
+          :page.sync="queryForm.page"
+          :limit.sync="queryForm.size"
+          :total="queryForm.total"
+          @pagination="fetchData"
+        />
+      </div>
     </div>
+
     <!--编辑/新增证据-->
-    <edit-evidence ref="edit" @onClose="fetchData" />
+    <!-- <edit-evidence ref="edit" @onClose="fetchData" /> -->
     <!--选择上传笔录方式-->
-    <SelectUploadType ref="SelectUploadTypeRef" @selectOk="handleSelect" />
+    <!-- <SelectUploadType ref="SelectUploadTypeRef" @selectOk="handleSelect" /> -->
   </div>
 </template>
 
@@ -98,6 +101,9 @@ export default {
     debounceSearch: debounce((_this) => {
       _this.fetchData()
     }),
+    addFolder() {
+      
+    },
     // 获取数据
     fetchData() {
       const params = {
@@ -143,6 +149,12 @@ export default {
 
 <style scoped lang="scss">
 .evidence-content {
-
+  display: flex;
+  .evidence-tree {
+    width: 200px;
+  }
+  .evidence-main {
+    flex: 1;
+  }
 }
 </style>
diff --git a/src/views/promptManagement/PromptConfig/add/index.vue b/src/views/promptManagement/PromptConfig/add/index.vue
new file mode 100644
index 0000000..837012b
--- /dev/null
+++ b/src/views/promptManagement/PromptConfig/add/index.vue
@@ -0,0 +1,62 @@
+<template>
+  <div class="add-prompt">
+    <div class="left">
+      <div class="title">基础配置</div>
+      <el-form ref="form" :model="dataInfo" :rules="rules" label-width="90px">
+        <el-form-item label="案件类型" prop="caseType">
+          <el-select v-model="dataInfo['caseType']" clearable placeholder="请选择案件类型">
+            <el-option v-for="item in caseTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="指令类型" prop="caseNo">
+          <el-select v-model="dataInfo['caseType']" clearable placeholder="请选择案件类型">
+            <el-option v-for="item in caseTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="指令类型" prop="caseNo">
+          <el-input v-model="dataInfo['name']" clearable placeholder="请输入指令名称" />
+        </el-form-item>
+        <el-form-item label="关键词" prop="caseNo">
+          <el-input v-model="dataInfo['name']" clearable placeholder="请输入指令名称" />
+        </el-form-item>
+        <el-form-item label="选择目录" prop="caseType">
+          <el-select v-model="dataInfo['caseType']" clearable placeholder="请选择案件类型">
+            <el-option v-for="item in caseTypeOptions" :key="item.value" :label="item.label" :value="item.value" />
+          </el-select>
+        </el-form-item>
+      </el-form>
+    </div>
+    <div class="right">
+        <div class="right-header">
+            <span>提示词配置</span>
+            <div class="btn-list">11</div>
+        </div>
+        <div class="content">222</div>
+    </div>
+  </div>
+</template>
+<script>
+
+export default {
+  data() {
+    return {
+      dataInfo: {
+        caseType: ''
+      },
+      // 案件类型数据
+      caseTypeOptions: JSON.parse(sessionStorage.getItem('case_type'))
+    }
+  },
+  mounted() {
+
+  },
+  methods: {
+
+  }
+}
+</script>
+<style lang="scss" scoped>
+    .add-prompt {
+
+    }
+</style>
diff --git a/src/views/promptManagement/PromptConfig/index.vue b/src/views/promptManagement/PromptConfig/index.vue
new file mode 100644
index 0000000..1922638
--- /dev/null
+++ b/src/views/promptManagement/PromptConfig/index.vue
@@ -0,0 +1,130 @@
+
+<template>
+  <div class="content">
+    <cs-search title="提示词检索" :data="searchData" :span="6" direction="row" @onSearch="onSearch" @getData="onSearch" />
+    <div class="index-content">
+      <div class="header">
+        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="handleAdd">新增</el-button>
+        <vxe-grid v-bind="gridOptions" style="margin-top: 20px">
+          <template #operate="{row}">
+            <el-button type="text" @click="handleEdit(row)">编辑</el-button>
+            <el-button type="text" style="color: red" @click="handleDel(row)">删除</el-button>
+          </template>
+        </vxe-grid>
+        <div style="text-align: center">
+          <cs-page
+            :page.sync="queryForm.page"
+            :limit.sync="queryForm.size"
+            :total="queryForm.total"
+            @pagination="fetchData"
+          />
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import mixin from '@/views/mixin'
+import { queryIndexData, deleteModelIndex } from '@/api/indexRule'
+
+export default {
+  name: 'Index',
+  mixins: [mixin],
+  data() {
+    return {
+      // 筛选数据
+      searchData: [
+        { label: '指标名称', model: 'name', type: 'input' },
+        { label: '指标类别', model: 'indexType', type: 'select', option: JSON.parse(sessionStorage.getItem('index_type')) },
+        // { label: '证据名称', model: 'doer', type: 'input' },
+        { label: '案件类型', model: 'caseType', type: 'select', option: JSON.parse(sessionStorage.getItem('case_type')) },
+        { label: '原子指标', model: 'atomicIndexName', type: 'input' }
+      ],
+      // 表格配置
+      gridOptions: {
+        ...mixin.data().gridOptions,
+        // 指标名称单元格添加样式
+        cellClassName: ({ column }) => {
+          if (column.field === 'indexName') {
+            return 'text-blue'
+          }
+          return null
+        },
+        // 展开行结构配置
+        expandConfig: {
+          iconClose: 'vxe-icon-square-plus',
+          iconOpen: 'vxe-icon-square-minus'
+        },
+        columns: [
+          { title: '序号', type: 'seq', width: '50px' },
+          { title: '指标名称', field: 'name', align: 'left' },
+          { title: '指标类别', field: 'indexTypeName', width: '150px' },
+          { title: '指标分数', field: 'indexScore', width: '150px', sortable: true },
+          { title: '原子指标数量', field: 'atomicIndexNum', width: '150px' },
+          { title: '最新时间', field: 'updateTime', width: '150px' },
+          { title: '操作', slots: { default: 'operate' }, fixed: 'right', width: '150px' }
+        ],
+        data: []
+      }
+    }
+  },
+  mounted() {
+    this.tableHeight(390)
+  },
+  methods: {
+    // 数据查询
+    fetchData() {
+      queryIndexData({ ...this.searchFormData }, this.queryForm.page, this.queryForm.size).then(res => {
+        this.gridOptions.data = res.data.result
+        this.queryForm.total = res.data.total
+      })
+    },
+    // 新增
+    handleAdd() {
+    },
+    // 删除
+    handleDel(row) {
+      this.$baseConfirm('确定要删除吗?', null, async() => {
+        const { code, msg } = await deleteModelIndex(row.id)
+        code === 200 ? this.$baseMessage.success(msg || '删除成功!') : this.$baseMessage.error(msg || '删除失败!')
+        this.fetchData()
+      })
+    },
+    // 筛选
+    onSearch(data, callback) {
+      this.searchFormData = Object.assign({}, data)
+      this.queryForm.page = 1
+      this.fetchData()
+      if (callback) callback(true)
+    }
+  }
+}
+</script>
+
+  <style scoped lang="scss">
+    .content {
+      height: 100%;
+      .index-content {
+        border-radius: 8px;
+        background: white;
+        padding: 20px;
+        box-sizing: border-box;
+        margin-top: 10px;
+        height: calc(100% - 120px);
+      }
+      .expand-details {
+        background: #F6F6F6;
+        padding: 8px 20px;
+        box-sizing: border-box;
+      }
+    }
+    ::v-deep {
+      .text-blue {
+        color: #005AA8;
+      }
+      .header-blue {
+        background: #F2F6FA;
+      }
+    }
+  </style>
diff --git a/src/views/ruleEngine/atomicIndex/components/EditAtomic.vue b/src/views/ruleEngine/atomicIndex/components/EditAtomic.vue
index a365117..95e6a85 100644
--- a/src/views/ruleEngine/atomicIndex/components/EditAtomic.vue
+++ b/src/views/ruleEngine/atomicIndex/components/EditAtomic.vue
@@ -14,6 +14,23 @@
   >
     <template slot="content">
       <el-form ref="form" :model="ruleForm" :rules="rules" label-width="120px">
+        <el-form-item label="案件类型" prop="caseType">
+          <el-select v-model="ruleForm.caseType" :disabled="isView" placeholder="请选择案件类型" style="width: 100%">
+            <el-option
+              v-for="item in caseTypeOptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="原子指标名称" prop="name">
+          <el-input
+            v-model="ruleForm.name"
+            :disabled="isView"
+            placeholder="请输入原子指标名称"
+          />
+        </el-form-item>
         <el-form-item label="指标算法" prop="indexSource">
           <el-radio-group v-model="ruleForm['indexSource']" :disabled="isView" @change="changeType">
             <el-radio
@@ -29,16 +46,7 @@
             <!--            <el-radio label="4">大模型</el-radio>-->
           </el-radio-group>
         </el-form-item>
-        <el-form-item label="案件类型" prop="caseType">
-          <el-select v-model="ruleForm.caseType" :disabled="isView" placeholder="请选择案件类型" style="width: 100%">
-            <el-option
-              v-for="item in caseTypeOptions"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            />
-          </el-select>
-        </el-form-item>
+
         <el-form-item v-if="ruleForm['indexSource'] === '4'" label="prompt标签" prop="recordType">
           <el-select v-model="ruleForm['recordType']" :disabled="isView" placeholder="请选择prompt标签" style="width: 100%">
             <el-option
@@ -67,13 +75,7 @@
             placeholder="请输入查询语句"
           />
         </el-form-item>
-        <el-form-item label="原子指标名称" prop="name">
-          <el-input
-            v-model="ruleForm.name"
-            :disabled="isView"
-            placeholder="请输入原子指标名称"
-          />
-        </el-form-item>
+
         <!--        <el-form-item label="判断结果" prop="judgeResult">-->
         <!--          <el-select v-model="ruleForm['judgeResult']" :disabled="isView" placeholder="请选择判断结果" style="width: 100%">-->
         <!--            <el-option-->
@@ -95,14 +97,18 @@
         </el-form-item>
       </el-form>
     </template>
+    <SelectSql ref="SelectSqlRef" />
   </cs-drawer>
 </template>
 
 <script>
 import { addOrUpdAtomicIndex } from '@/api/atomicIndex'
-
+import SelectSql from './SelectSql.vue'
 export default {
   name: 'EditAtomic',
+  components: {
+    SelectSql
+  },
   data() {
     return {
       drawerOption: {
diff --git a/src/views/ruleEngine/atomicIndex/components/SelectSql.vue b/src/views/ruleEngine/atomicIndex/components/SelectSql.vue
new file mode 100644
index 0000000..412286c
--- /dev/null
+++ b/src/views/ruleEngine/atomicIndex/components/SelectSql.vue
@@ -0,0 +1,184 @@
+
+<template>
+  <cs-dialog
+    :dialog="dialogOption"
+    class="SelectSql"
+    @onSubmit="handleSubmit"
+  >
+    <template slot="content">
+      <el-form v-model="searchForm" label-width="120px">
+        <el-row :gutter="10">
+          <el-col :span="10">
+            <el-form-item label="指令名称" prop="name">
+              <el-input v-model="searchForm['name']" clearable placeholder="请选择原子指标名称" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="10">
+            <el-form-item label="指令类型" prop="indexSource">
+              <el-select v-model="searchForm['indexSource']" clearable placeholder="请选择指标算法">
+                <el-option
+                  v-for="item in indexAlgorithmOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                />
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="4">
+            <el-button type="primary" @click="handleSearch">查询</el-button>
+          </el-col>
+        </el-row>
+      </el-form>
+      <div class="main">
+        <vxe-grid
+          ref="xTable"
+          row-id="id"
+          v-bind="gridOptions"
+          style="margin-top: 10px"
+          :checkbox-config="{ labelField: '', highlight: true, trigger: 'row', reserve: true , range: true}"
+
+          @checkbox-change="selectChangeEvent"
+        />
+        <div class="main-right">
+          111
+        </div>
+      </div>
+
+      <!-- <div style="text-align: center">
+          <cs-page
+            :page.sync="queryForm.page"
+            :limit.sync="queryForm.size"
+            :total="queryForm.total"
+            @pagination="fetchData"
+          />
+        </div> -->
+    </template>
+  </cs-dialog>
+</template>
+
+<script>
+import mixin from '@/views/mixin'
+import { queryAtomicIndex } from '@/api/atomicIndex'
+
+export default {
+  name: 'SelectSql',
+  mixins: [mixin],
+  data() {
+    return {
+      dialogOption: {
+        show: false,
+        appendToBody: true,
+        title: {
+          title: '选择原子指标查询语句'
+        }
+      },
+      // 表单筛选
+      searchForm: {
+        name: '',
+        indexSource: ''
+      },
+      // 指标算法
+      indexAlgorithmOptions: JSON.parse(sessionStorage.getItem('index_source')),
+      // 表格配置
+      gridOptions: {
+        ...mixin.data().gridOptions,
+        height: '320px',
+        columns: [
+          { type: 'checkbox', width: '80px' },
+          { title: '原子指标名称', field: 'name', align: 'left' },
+          { title: '指标来源', field: 'indexSourceName' },
+          { title: '指标说明', field: 'remark' }
+        ],
+        data: []
+      },
+      // 上个界面传递过来的已选择的原子指标
+      selectionRows: []
+    }
+  },
+  methods: {
+    // 显示弹窗
+    show(data) {
+      this.dialogOption.show = true
+      this.selectionRows = data
+      this.searchForm['name'] = ''
+      this.fetchData()
+    },
+    // 获取原子指标列表
+    fetchData() {
+      queryAtomicIndex(this.searchForm, 1, 99999).then(res => {
+        this.gridOptions.data = res.data.result
+        this.queryForm.total = res.data.total
+        // this.$refs.xTable.clearCheckboxRow()
+        if (this.selectionRows && this.selectionRows.length > 0) {
+          // 已选数据选中
+          const _this = this
+          _this.$nextTick(() => {
+            _this.gridOptions.data.map(column => {
+              _this.selectionRows.map(item => {
+                if (item.id === column.id) {
+                  _this.$refs.xTable.setCheckboxRow(column, true)
+                }
+              })
+            })
+          })
+        }
+      })
+    },
+    // 复选框事件(保留翻页选中的数据)
+    selectChangeEvent({ checked, records, reserves, row }) {
+      // 勾选选中时
+      if (checked) {
+        // 第一次选数据,还未进行翻页时
+        if (reserves.length == 0) {
+          this.selectedRowKeys = records.map(v => v.id)
+          this.selectionRows = records
+        } else {
+          // id集合,翻页存在已选中的数据时,拼接新选中的数据
+          this.selectedRowKeys = [...reserves.map(v => v.id), ...records.map(v => v.id)]
+          // 数据集合,翻页存在已选中的数据时,拼接新选中的数据
+          this.selectionRows = [...reserves, ...records]
+        }
+      } else {
+        // 取消选中时
+        const idIndex = this.selectedRowKeys.indexOf(row.id)
+        if (idIndex > -1) {
+          // 删除取消选中删除指定元素id
+          this.$delete(this.selectedRowKeys, idIndex)
+        }
+
+        let dataIndex = null
+        for (let i = 0; i < this.selectionRows.length; i++) {
+          if (this.selectionRows[i].id === row.id) {
+            dataIndex = i
+            break
+          }
+        }
+        // 删除取消选中的元素整个对象
+        this.$delete(this.selectionRows, dataIndex)
+      }
+    },
+
+    // 查询按钮
+    handleSearch() {
+      this.fetchData()
+    },
+    // 确定按钮
+    handleSubmit() {
+      const list = this.selectionRows
+      if (list.length === 0) {
+        this.$baseMessage.error('请至少选择一项!')
+        return
+      }
+      this.$emit('submit', list)
+      this.dialogOption.show = false
+    }
+  }
+}
+</script>
+
+  <style lang="scss">
+  .SelectSql .el-dialog {
+    background: #fff;
+  }
+  </style>
diff --git a/src/views/ruleEngine/indexRule/components/CustomLogic.vue b/src/views/ruleEngine/indexRule/components/CustomLogic.vue
index 510fd9b..73bb002 100644
--- a/src/views/ruleEngine/indexRule/components/CustomLogic.vue
+++ b/src/views/ruleEngine/indexRule/components/CustomLogic.vue
@@ -163,7 +163,7 @@ export default {
     this.logicData.map((item) => {
       item.atomicData.map((subItem) => {
         if (!this.getListValueFlag(subItem.atomicIndex)) {
-          subItem.atomicIndex = ""
+          subItem.atomicIndex = ''
         }
       })
     })